Deployment method, installation method and device of cloud server agent

CN118034709BActive Publication Date: 2026-09-22TENCENT TECHNOLOGY (SHENZHEN) CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202211360547.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-11-02
Publication Date
2026-09-22
Estimated Expiration
2042-11-02

AI Technical Summary

Technical Problem

[0003]然而,在利用相关技术对云服务器的代理程序进行管理的过程中,至少存在以下问题:云服务提供商需要反复与使用不同的编译方式进行源码编译的不同开发者进行对接以获取代理程序对应的编码文件,这一过程较为繁琐;另外,在将这些编码文件人工上传至云环境的存储空间中的过程中,存在较大的误操作(例如,所获取的编码文件的版本不正确)的风险;此外,这一过程缺乏对代理程序的版本化的管理,例如,只能将代理程序对应的最新版本的编码文件安装到云服务器中,而无法安装由用户指定的代理程序对应的历史版本的编码文件

Benefits of technology

[0017]根据本公开提供的云服务器的代理程序的部署方法,可以获取代理程序的标识信息、代理程序对应的编码文件、代理程序待部署到的云环境的接口信息、以及所代理程序的存储服务相关信息,从而有助于云服务提供商以一种统一的方式与代理程序的开发者对接,以获取部署代理程序所需的信息。另外,可以基于存储服务相关信息,将编码文件存储到云环境外部的第一存储空间中,并且根据所述标识信息是否存储在第三存储空间中,确定编码文件是否存储在云环境内的第二存储空间中,以及响应于编码文件没有存储在第二存储空间中,基于接口信息将第一存储空间中的编码文件存储到第二存储空间中,这些步骤作为标准化的流程,可以通过脚本程序的形式被实现,从而减少代理程序部署过程中误操作的风险。此外,通过将标识信息、编码文件在第二存储空间中的存储地址存储到所述第三存储空间中,结合前面确定编码文件是否存储在云环境内的第二存储空间中的步骤,有助于实现对代理程序的版本化的管理。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118034709B_ABST
    Figure CN118034709B_ABST
Patent Text Reader

Abstract

The disclosure provides a deployment method of an agent program of a cloud server, comprising: obtaining identification information of the agent program, an encoding file corresponding to the agent program, interface information of a cloud environment to which the agent program is to be deployed, and storage service related information of the agent program; based on the storage service related information, storing the encoding file into a first storage space outside the cloud environment; determining whether the encoding file is stored in a second storage space inside the cloud environment according to whether the identification information is stored in a third storage space, the third storage space being different from the first storage space and the second storage space; and in response to the encoding file not being stored in the second storage space, storing the encoding file in the first storage space into the second storage space based on the interface information, and storing the identification information and a storage address of the encoding file in the second storage space into the third storage space. The disclosure also provides an installation method of an agent program of a cloud server.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to the field of cloud service technology, and more specifically, to a method and apparatus for deploying a cloud server agent program, a method and apparatus for installing a cloud server agent program, and corresponding computing devices, computer-readable storage media, and computer program products. Background Technology

[0002] A cloud server agent is an indispensable application software for various data interactions between users and the cloud server. Agent management includes processes such as agent compilation, deployment, and installation. In related technologies, different agents may use different compilation methods to compile the agent's source code to obtain the corresponding encoded files. The cloud service provider then manually uploads these encoded files to the cloud environment's storage space. Upon receiving an instruction to create a cloud server, the cloud environment creates the corresponding cloud server and installs the latest version of the agent's encoded files from that storage space onto the cloud server.

[0003] However, in managing the proxy program of the cloud server using related technologies, at least the following problems exist: cloud service providers need to repeatedly connect with different developers who use different compilation methods to compile the source code to obtain the corresponding encoding files for the proxy program, which is a rather cumbersome process; in addition, there is a significant risk of misoperation (e.g., obtaining an incorrect version of the encoding file) when manually uploading these encoding files to the cloud environment's storage space; furthermore, this process lacks version management of the proxy program, for example, only the latest version of the encoding file corresponding to the proxy program can be installed on the cloud server, and it is not possible to install the encoding files of historical versions of the proxy program specified by the user. Summary of the Invention

[0004] In view of this, the present disclosure provides a method and apparatus for deploying a cloud server agent program, a method and apparatus for installing a cloud server agent program, as well as corresponding computing devices, computer-readable storage media, and computer program products, to alleviate, reduce, or even eliminate the above-mentioned problems.

[0005] According to one aspect of this disclosure, a method for deploying a proxy program for a cloud server is provided, comprising: obtaining identification information of the proxy program, an encoded file corresponding to the proxy program, interface information of the cloud environment to which the proxy program is to be deployed, and storage service information related to the proxy program; storing the encoded file in a first storage space outside the cloud environment based on the storage service information; determining whether the encoded file is stored in a second storage space within the cloud environment based on whether the identification information is stored in a third storage space, wherein the third storage space is different from the first storage space and the second storage space; and responding to the fact that the encoded file is not stored in the second storage space, storing the encoded file in the first storage space to the second storage space based on the interface information, and storing the identification information and the storage address of the encoded file in the second storage space to the third storage space.

[0006] According to some embodiments of this disclosure, obtaining the identifier information of the agent program, the encoding file corresponding to the agent program, the interface information of the cloud environment to which the agent program is to be deployed, and the storage service information of the agent program includes: obtaining a material package; obtaining the identifier information, the encoding file, the interface information, and the storage service information from the material package, wherein the material package is generated according to the target pipeline corresponding to the agent program, and the target pipeline includes the following steps: initializing the compilation environment of the agent program; compiling the source code corresponding to the agent program in the compilation environment to generate the encoding file; determining at least the following information of the agent program as the identifier information: name, version number; and generating the material package based at least on the identifier information, the encoding file, the interface information of the cloud environment to which the agent program is to be deployed, and the storage service information.

[0007] According to some embodiments of this disclosure, the target pipeline is triggered by the following steps: copying the pipeline corresponding to the agent program from the pipeline template as the target pipeline; binding the target pipeline to the source code repository corresponding to the agent program, the source code repository storing the source code corresponding to the agent program; and triggering the target pipeline in response to setting a tag corresponding to the agent program in the source code repository.

[0008] According to some embodiments of this disclosure, the storage service related information includes a first domain name, a first port, a bucket name, a first account, and a first password corresponding to the object storage service. The first storage space includes a bucket provided by the object storage service outside the cloud environment. The method of storing the encoded file in the first storage space outside the cloud environment based on the storage service related information includes: accessing the object storage service through the first account and the first password; and storing the encoded file in the bucket corresponding to the bucket name through the first domain name, the first port, and the bucket name.

[0009] According to some embodiments of this disclosure, determining whether the encoded file is stored in the second storage space within the cloud environment based on whether the identification information is stored in the third storage space includes: determining that the encoded file is not stored in the second storage space within the cloud environment in response to the identification information not being stored in the third storage space; and determining that the encoded file is stored in the second storage space within the cloud environment in response to the identification information being stored in the third storage space.

[0010] According to some embodiments of this disclosure, the step of responding to the fact that the encoded file is not stored in the second storage space, storing the encoded file in the first storage space to the second storage space based on the interface information, and storing the identification information and the storage address of the encoded file in the second storage space to the third storage space, includes: responding to the fact that the encoded file is not stored in the second storage space, downloading the encoded file from the first storage space to a local directory; storing the encoded file in the local directory to the second storage space based on the interface information; and storing the identification information and the storage address of the encoded file in the second storage space to the third storage space.

[0011] According to another aspect of this disclosure, a method for installing a cloud server agent is provided, comprising: in response to receiving a cloud server creation instruction, creating a target cloud server and obtaining a target encoding file corresponding to the target agent, wherein the target agent is deployed in a cloud environment according to the cloud server agent deployment method provided in the foregoing aspects of this disclosure; and installing the target agent into the target cloud server based on the target encoding file.

[0012] According to some embodiments of this disclosure, the cloud server creation instruction includes target version information of the target agent program, and the target encoded file corresponding to the target agent program is obtained through the following steps: obtaining the target storage address of the target agent program in the second storage space of the cloud environment from the third storage space in the cloud environment according to the target version information; and obtaining the target encoded file from the second storage space according to the target storage address.

[0013] According to another aspect of this disclosure, an apparatus for deploying an agent program for a cloud server is provided, comprising: an information acquisition module configured to acquire identification information of the agent program, an encoded file corresponding to the agent program, interface information of the cloud environment to which the agent program is to be deployed, and storage service information related to the agent program; a first storage module configured to store the encoded file in a first storage space outside the cloud environment based on the storage service information; a storage identification module configured to determine whether the encoded file is stored in a second storage space within the cloud environment based on whether the identification information is stored in a third storage space, wherein the third storage space is different from the first storage space and the second storage space; and a second storage module configured to, in response to the encoded file not being stored in the second storage space, store the encoded file in the first storage space into the second storage space based on the interface information, and store the identification information and the storage address of the encoded file in the second storage space into the third storage space.

[0014] According to another aspect of this disclosure, an apparatus for installing an agent program for a cloud server is provided, comprising: a cloud server creation module configured to, in response to receiving a cloud server creation instruction, create a target cloud server and obtain a target encoding file corresponding to a target agent program, wherein the target agent program is deployed in a cloud environment according to the apparatus for deploying an agent program for a cloud server provided by this disclosure; and an agent program installation module configured to install the target agent program into the target cloud server based on the target encoding file.

[0015] According to another aspect of this disclosure, a computing device is provided, comprising: a memory configured to store computer-executable instructions; and a processor configured to perform any of the methods provided according to the foregoing aspects of this disclosure when the computer-executable instructions are executed by the processor.

[0016] According to another aspect of this disclosure, a computer-readable storage medium is provided that stores computer-executable instructions that, when executed, perform any of the methods provided according to the foregoing aspects of this disclosure.

[0017] According to the cloud server agent deployment method provided in this disclosure, the agent's identification information, the corresponding encoding file, the interface information of the cloud environment to which the agent is to be deployed, and the storage service information of the agent can be obtained. This helps cloud service providers to connect with agent developers in a unified way to obtain the information required for agent deployment. Furthermore, based on the storage service information, the encoding file can be stored in a first storage space outside the cloud environment. And based on whether the identification information is stored in a third storage space, it can be determined whether the encoding file is stored in a second storage space within the cloud environment. If the encoding file is not stored in the second storage space, the encoding file in the first storage space can be stored in the second storage space based on the interface information. These steps, as a standardized process, can be implemented through scripts, thereby reducing the risk of misoperation during agent deployment. In addition, by storing the identification information and the storage address of the encoding file in the second storage space in the third storage space, combined with the previous step of determining whether the encoding file is stored in the second storage space within the cloud environment, version management of the agent can be achieved.

[0018] These and other aspects of this disclosure will be clear from the embodiments described below, and will be elucidated with reference to the embodiments described below. Attached Figure Description

[0019] In the following description of exemplary embodiments in conjunction with the accompanying drawings, further details, features, and advantages of the present disclosure are disclosed, in which: Figure 1 The illustrations illustrate example scenarios in which the technical solutions provided according to some embodiments of this disclosure can be applied; Figure 2 The diagram illustrates an example of a management method for a cloud server's agent in related technologies. Figure 3 The illustration shows an example flowchart of a method for deploying an agent for a cloud server according to some embodiments of the present disclosure; Figure 4 An example flowchart illustrating a method for triggering a preset pipeline according to some embodiments of the present disclosure is shown schematically; Figure 5 The diagram illustrates example flowcharts of a method for deploying an agent for a cloud server according to other embodiments of the present disclosure. Figure 6 The illustration shows an example flowchart of a method for installing an agent program for a cloud server according to some embodiments of the present disclosure; Figure 7The illustration shows an example flowchart of a method for managing a cloud server's agent according to some embodiments of the present disclosure; Figure 8 The illustration shows an example block diagram of an apparatus for deploying an agent for a cloud server according to some embodiments of the present disclosure; Figure 9 The illustration shows an example block diagram of an apparatus for installing an agent program for a cloud server according to some embodiments of the present disclosure. Figure 10 An example system is illustrated, which includes an example computing device representing one or more systems and / or devices that can implement the various technologies described herein. Detailed Implementation

[0020] Several embodiments of this disclosure will now be described in more detail with reference to the accompanying drawings to enable those skilled in the art to implement the technical solutions of this disclosure. The technical solutions of this disclosure can be embodied in many different forms and for many different purposes, and should not be limited to the embodiments set forth herein. These embodiments are provided to make the technical solutions of this disclosure clear and complete, but the described embodiments do not limit the scope of protection of this disclosure.

[0021] Unless otherwise defined, all terms used herein (including technical and scientific terms) have the same meaning as commonly understood by one of ordinary skill in the art to which this disclosure pertains. It will be further understood that terms such as those defined in commonly used dictionaries should be interpreted as having meanings consistent with their meanings in the relevant field and / or the context of this specification, and will not be interpreted in an idealized or overly formal sense unless expressly defined herein.

[0022] Before detailing the embodiments of this disclosure, some related concepts will first be explained.

[0023] 1. Cloud computing refers to the delivery and usage model of IT infrastructure, meaning obtaining necessary resources in an on-demand and easily scalable manner through a network. In a broader sense, cloud computing also refers to the delivery and usage model of services, meaning obtaining necessary services in an on-demand and easily scalable manner through a network. These services can be IT and software related, internet-related, or other services. Cloud computing is a product of the convergence and development of traditional computer and network technologies such as grid computing, distributed computing, parallel computing, utility computing, network storage technologies, virtualization, and load balancing. Driven by the development of the internet, real-time data streams, the diversification of connected devices, and the demands of search services, social networks, mobile commerce, and open collaboration, cloud computing has developed rapidly. Unlike previous parallel and distributed computing, the emergence of cloud computing will fundamentally revolutionize the entire internet model and enterprise management model.

[0024] 2. Cloud Storage: Cloud storage is a new concept that has been extended and developed from the concept of cloud computing. A distributed cloud storage system (hereinafter referred to as a storage system) refers to a storage system that uses cluster applications, grid technology and distributed storage file systems to bring together a large number of storage devices of various types in the network (storage devices are also called storage nodes) to work together through application software or application interfaces to provide data storage and business access functions to the outside world.

[0025] 3. Private Cloud: A private cloud creates cloud infrastructure and hardware / software resources within a firewall, allowing various departments within an organization or enterprise to share resources within a data center. Creating a private cloud typically involves cloud equipment (IaaS, Infrastructure as a Service) software, in addition to hardware resources. Private cloud computing also comprises three layers: cloud hardware, cloud platform, and cloud services. The difference is that cloud hardware consists of the user's own personal computer or server, rather than the cloud computing vendor's data center. Cloud computing vendors build data centers to provide public cloud services to millions of users, thus requiring hundreds of thousands or even millions of servers. For individuals, private cloud computing only serves close friends and family; for enterprises, it only serves their own employees, customers, and suppliers. Therefore, the personal computers or servers of individuals or enterprises are sufficient to provide cloud services.

[0026] The technical solutions disclosed herein involve cloud computing technology, and mainly involve the management technology of cloud server agent programs, including but not limited to the deployment and installation technology of cloud server agent programs.

[0027] Figure 1 The illustration depicts an example scenario 100 where the technical solutions provided according to some embodiments of this disclosure can be applied. For example... Figure 1 As shown, scenario 100 may include user 110 (e.g., cloud service provider), terminal device 120 (e.g., computer), terminal device 130 (e.g., tablet), network 140, and remote facility 150. As an example, remote facility 150 includes server 151 and optionally a database device 152 for storing agent program-related information. These servers or devices can communicate via network 140. The agent program-related information includes agent program identification information, the corresponding encoded file of the agent program, the interface information of the cloud environment to which the agent program is to be deployed, and agent program storage service-related information.

[0028] It should be noted that, in this disclosure, a cloud service provider can be an organization, institution, or individual (e.g., cloud service maintenance personnel) that aims to provide cloud services (e.g., private cloud services) or engages in cloud service support activities. Furthermore, in this disclosure, the term "cloud environment" refers to an internet or big data environment capable of providing computing power, storage capacity, or virtual machine services, etc., to users or various application systems on demand from a dynamically virtualized resource pool. For example, the cloud environment in this disclosure can be a private cloud environment that provides private cloud services.

[0029] An application (not shown) may be installed on terminal device 120 or 130. This application provides a visual user interface for user 110, who interacts with the application on this user interface to deploy the agent program. For example, user 110 uses terminal device 120 or 130, via network 140, to obtain the agent program's identification information, the corresponding encoded file, the interface information of the cloud environment to which the agent program will be deployed, and the agent program's storage service information from storage space (e.g., database device 152) containing agent program-related information. It should be noted that, in this disclosure, this information does not necessarily need to be stored in the same storage space. For example, identification information and encoded files are stored in database device 152, while interface information and storage service related information are stored in other storage spaces (e.g., in the storage elements of user-side terminal device 120 or terminal device 130); then, user 110 stores the encoded file in a first storage space outside the cloud environment (e.g., in a storage bucket corresponding to an object storage service outside the cloud environment) based on the storage service related information; depending on whether the identification information is stored in a third storage space, it is determined whether the encoded file is stored in a second storage space within the cloud environment (e.g., a proxy repository within the cloud environment), the third storage space being different from the first and second storage spaces; and in response to the encoded file not being stored in the second storage space, the encoded file in the first storage space is stored in the second storage space based on the interface information, and the identification information and the storage address of the encoded file in the second storage space are stored in the third storage space.

[0030] In this disclosure, server 151 may be a single server or a cluster of servers on which applications for deploying agents and related data can be run. Optionally, server 151 may also run other applications and store other data. For example, server 151 may include multiple virtual hosts for running different applications and providing different services.

[0031] In this disclosure, terminal devices 120 and 130 can be various types of devices, such as mobile phones, tablets, laptops, wearable devices such as smartwatches, in-vehicle devices, etc. Clients can be deployed on terminal devices 120 and 130. These clients can be used for agent deployment operations and optionally provide other services, and can take any of the following forms: locally installed applications, applets accessed via other applications, web applications accessed via a browser, etc. User 110 can view the information presented by the client and perform corresponding interactive operations through the input / output interfaces of terminal devices 120 and 130. Optionally, terminal devices 120 and 130 can be integrated with server 151.

[0032] In this disclosure, the database device 152 can be considered as an electronic filing cabinet, i.e., a place to store electronic files, where users can perform operations such as adding, querying, updating, and deleting data in the files. A "database" is a collection of data stored together in a certain way, which can be shared by multiple objects, has the lowest possible redundancy, and is independent of application programs.

[0033] Furthermore, in this disclosure, network 140 can be a wired network connected via a cable, fiber optic cable, or a wireless network such as 2G, 3G, 4G, 5G, Wi-Fi, Bluetooth, ZigBee, Li-Fi, etc.

[0034] Figure 2 This diagram illustrates an example of a management method for a cloud server's agent in related technologies. Figure 2 As shown, developer 210a (in) Figure 2 The term "Agent-A R&D team" can also be used to indicate this, as well as developer 210b (in...). Figure 2 (The term "Agent-B R&D team" can also be used to indicate that different compilation methods are used to compile the source code of their respective developed agent programs.)

[0035] Specifically, the Agent-A development team used a pipelined compilation method to compile the source code of agent program A (Agent-A) (stored in the Agent-A source code repository) to obtain the encoded file (in... Figure 2 The term "Agent-A binary package" is used to indicate this. The Agent-B development team uses manual local compilation to compile the source code of Agent B (Agent-B) (stored in the Agent-B source code repository) to obtain the encoded file (in...). Figure 2 The term "Agent-B binary package" is used to indicate this. Then, cloud service operations personnel manually upload the Agent-A and Agent-B binary packages directly to the Agent repository of cloud environment 220 (this process will overwrite previous versions of the Agent file). When cloud environment 220 receives the cloud server creation command from the console through the access layer, cloud environment 220 creates the corresponding cloud server 221 through the scheduling layer and uploads the latest version of the encoded file corresponding to the agent program from the Agent repository (e.g., ...). Figure 2 The Agent-A binary package and / or Agent-B binary package shown in the figure are installed on cloud server 221.

[0036] Figure 3The illustration shows an example flowchart of a cloud server agent deployment method 300 (hereinafter referred to as deployment method 300 for brevity) according to some embodiments of the present disclosure. Exemplarily, deployment method 300 can be implemented by a cloud service provider; alternatively, deployment method 300 can be written as a corresponding script program, which is then executed by a server containing a processor (e.g., ...) that executes the script program. Figure 1 The server shown (151) is used to implement this, but this is not a limitation.

[0037] Specifically, in step 310, the following information can be obtained: the identifier of the agent program, the encoding file corresponding to the agent program, the interface information of the cloud environment to which the agent program is to be deployed, and the storage service information related to the agent program. The identifier information indicates information that can distinguish different agent programs, including but not limited to the agent program's name, version number, size, custom description, or a combination thereof. The identification information can be set by the cloud service provider, the developer of the agent program, or even jointly by the cloud service provider and the developer of the agent program; this disclosure does not impose any restrictions on this. The encoded file indicates the encoded file (e.g., a binary file) obtained by the developer of the agent program using a specific compilation method (e.g., pipeline compilation, manual local compilation) to compile the source code of the agent program. The interface information indicates the information required to access the cloud environment where the agent program is to be deployed to obtain various cloud services (e.g., uploading the encoded file corresponding to the agent program to the file upload service of the cloud environment), including but not limited to the domain name, port, interface name, account, password, etc., of the API interface of the cloud environment. The storage service related information indicates the information required to access the storage service outside the cloud environment to store the encoded file corresponding to the agent program. For example, the storage service can be an object storage service (e.g., a storage bucket provided by an object storage service can be used as such storage space to store the encoded file corresponding to the agent program). In this case, the storage service related information includes but is not limited to the domain name, port, bucket name, account, password, etc., of the object storage service.

[0038] In step 320, based on the information related to the storage service, the encoded file can be stored in a first storage space outside the cloud environment. The first storage space can be any storage space outside the cloud environment that has data storage capabilities. For example, the first storage space can be a storage bucket provided by an object storage service outside the cloud environment. In this case, access to the object storage service can be obtained using the account and password corresponding to the object storage service, and then the encoded file can be stored in the corresponding storage bucket based on the domain name, port, and bucket name of the object storage service. Storing the encoded file in a first storage space outside the cloud environment can reduce the data storage requirements of the cloud environment, thereby reducing the deployment cost of the cloud environment and improving its operating efficiency.

[0039] In step 330, it can be determined whether the encoded file is stored in a second storage space within the cloud environment, based on whether the identification information is stored in a third storage space. The third storage space is different from both the first and second storage spaces. The second storage space indicates the storage space in the cloud environment where encoded files corresponding to various agent programs are stored; such a storage space is often referred to as (e.g., an agent repository, also known as an "Agent repository"). Step 330 aims to avoid potential duplication of operations. For example, if a specific version of the encoded file corresponding to an agent program is already stored in the second storage space, in related technologies, due to possible negligence by the cloud service provider (e.g., cloud service maintenance personnel), the same version of the encoded file may be uploaded to the second storage space. This duplication of operations may waste related resources (e.g., machine resources, human resources). If it is determined that the specific version of the encoded file corresponding to the identification information (e.g., through the name and version number of the agent program) is already stored in the second storage space, there is no need to upload the same version of the encoded file to the second storage space, thereby avoiding waste of related resources.

[0040] In step 340, in response to the fact that the encoded file is not stored in the second storage space, the encoded file in the first storage space can be stored in the second storage space based on the interface information, and the identification information and the storage address of the encoded file in the second storage space can be stored in the third storage space. For example, the encoded file in the first storage space can be stored in the Agent repository based on the domain name, port, interface name, account, password, and other information corresponding to the private cloud service API interface, and the identification information and the storage address of the encoded file in the Agent repository can be stored in a third storage space different from the first and second storage spaces. The third storage space can be any storage space that provides data storage services, different from the first and second storage spaces. For example, the third storage space can be a database within a cloud environment (e.g., a MySQL database within a cloud environment). Alternatively, the third storage space can be another database outside the cloud environment. The third storage space stores the identification information and storage addresses of the agent programs stored in the Agent repository, which helps to manage the versioning of the agent programs. For example, if the third storage space stores the version number of agent program C (hereinafter referred to as Agent-C), it means that Agent-C is stored in the Agent repository. In this case, the cloud service provider does not need to deploy the agent program with the same version number again based on this information. In addition, for the installation of the agent program, when the version number of Agent-C specified by the user is consistent with the corresponding version number stored in the third storage space, the cloud service provider (or script program) can obtain the encoding file of Agent-C according to the corresponding storage address, and then install the agent program with the corresponding version number.

[0041] pass Figure 3 The deployment method 300 shown provides a unified way to obtain various information required for deploying the agent (including the agent's identification information, the corresponding encoding file, the interface information of the cloud environment to which the agent is to be deployed, and information related to the agent's storage service). This makes the interaction process between cloud service providers and agent developers more unified and concise. Furthermore, at least some steps in deployment method 300 (e.g., steps 320, 330, and 340) can be implemented using scripts, reducing the risk of errors during agent deployment. Further, by storing the identification information and encoding file in a third storage space (different from the first and second storage spaces) from their original storage addresses in the second storage space, version control of the agent is facilitated (see the descriptions of steps 340 and 330 above).

[0042] In some embodiments, step 310 may include: obtaining a material package; obtaining the identification information, the encoded file, the interface information, and the storage service information from the material package, wherein the material package is generated according to the target pipeline corresponding to the agent program, and the target pipeline includes the following steps: initializing the compilation environment of the agent program; compiling the source code corresponding to the agent program in the compilation environment to generate the encoded file; determining at least the following information of the agent program as the identification information: name, version number; and generating the material package based at least on the identification information, the encoded file, the interface information of the cloud environment to which the agent program is to be deployed, and the storage service information. To facilitate integration with cloud service providers, the material package may be in the form of a compressed file. For example, it may adopt a common installation package format for source code (e.g., a compressed file with the .tar.gz extension), which can be directly decompressed and used in Linux and macOS.

[0043] Taking agent A (hereinafter referred to as "Agent-A") as an example, the material package A corresponding to Agent-A contains the identification information of Agent-A, the encoding file corresponding to Agent-A, the interface information of the cloud environment to which Agent-A is to be deployed, and the storage service information of Agent-A. For example, the identification information of Agent-A, the interface information of the cloud environment to which Agent-A is to be deployed, and the storage service information of Agent-A can be included as metadata in material package A. In addition, in order to facilitate the automatic execution of subsequent agent deployment steps (rather than manual execution by the cloud service provider), material package A may also include a deployment script, which is configured to execute the above steps 320, 330, and 340 to deploy the corresponding agent in the cloud environment.

[0044] The target pipeline is a standardized pipeline created by the cloud service provider for all agent developers. Based on this, different agent developers can use a unified approach to execute the agent development process to generate different material packages corresponding to each agent. These material packages contain the same type of information, so they can also be called "unified material packages." That is, they are corresponding material packages obtained by different agent developers using a unified pipeline. These material packages contain the same type (i.e., "unified") information, which greatly simplifies the interface process between the cloud service provider and the agent developers and helps reduce the risk of possible misoperations (e.g., deploying the wrong version of the code file) during the deployment of agents by the cloud service provider.

[0045] In some embodiments, the target pipeline is triggered by the following steps: copying the pipeline corresponding to the agent program from the pipeline template as the target pipeline; binding the target pipeline to the source code repository corresponding to the agent program, the source code repository storing the source code corresponding to the agent program; and triggering the target pipeline in response to setting a tag corresponding to the agent program in the source code repository. See below for further details. Figure 4 Let me describe these steps in detail.

[0046] like Figure 4 As shown, still using Agent-A as an example, in step 410, the developer of Agent-A can copy the pipeline corresponding to Agent-A from the pipeline template as the target pipeline. The pipeline template can be created by the cloud service provider and includes the definition and settings of each step in the target pipeline. It should be noted that in this disclosure, to automate each step in the pipeline, any technology known in the art (e.g., DevOps pipeline) can be adopted. DevOps is a collective term for a set of processes, methods, and systems used to promote communication, collaboration, and integration between development, technical operations, and quality assurance departments. From a goal perspective, DevOps aims to enable developers and operations personnel to communicate and collaborate better, making the overall software process faster and more reliable through automated processes. Any tools (platforms) known in the art can be used to support the implementation of DevOps pipelines, including but not limited to Jenkins, GitLab, Atlassian Bamboo, CircleCI, TeamCity, Travis CI, BuildMaster, etc. This disclosure does not impose any restrictions.

[0047] In step 420, the developer of Agent-A can bind the target pipeline to the source code repository corresponding to Agent-A, which stores the source code corresponding to Agent-A. For example, the source code repository can be a Git repository storing the source code corresponding to Agent-A. In this case, the developer of Agent-A uploads the source code corresponding to Agent-A to the Git repository. Git is an open-source distributed version control system that can effectively and quickly handle version management for projects ranging from very small to very large. Besides Git repositories, the developer of Agent-A can also use other repositories capable of storing source code (including but not limited to local repositories, GitHub, GitLab, Bitbucket, etc.).

[0048] Figure 4Steps 430 and 440 are shown to perform the following steps: In response to the presence of a tag corresponding to Agent-A in the source code repository, the target pipeline is triggered. Specifically, in step 430, it is determined whether a tag corresponding to Agent-A is set in the source code repository. This tag can be customized by the agent program developer in the source code repository to indicate whether to start executing the various steps of the target pipeline. If no tag corresponding to Agent-A is set in the source code repository, the target pipeline is not triggered, i.e., the various steps of the target pipeline are not executed. Conversely, if a tag corresponding to Agent-A is set in the source code repository, the target pipeline is triggered, i.e., the various steps of the target pipeline are executed.

[0049] pass Figure 4 The steps shown allow developers of different proxy programs to generate a unified material package corresponding to the proxy program using a standardized process, thereby simplifying the integration process between cloud service providers and proxy program developers.

[0050] In some embodiments, the storage service information includes a first domain name, a first port, a bucket name, a first account, and a first password corresponding to the object storage service. The first storage space includes a bucket provided by the object storage service outside the cloud environment. Step 320 may include: accessing the object storage service through the first account and the first password; and storing the encoded file in the bucket corresponding to the bucket name through the first domain name, the first port, and the bucket name. Object Storage Service (OSS) is a very convenient storage service that allows for easy file upload and download tasks through its corresponding interface. In object storage services, storage containers are represented as buckets, each with corresponding storage categories, access permissions, and region attributes. Object storage services are services outside the cloud environment (e.g., a private cloud environment) of this disclosure, providing temporary transit storage for encoded files corresponding to agent programs in a simple manner.

[0051] In some embodiments, step 330 may include: determining that the encoded file is not stored in the second storage space within the cloud environment in response to the identification information not being stored in the third storage space; and determining that the encoded file is stored in the second storage space within the cloud environment in response to the identification information being stored in the third storage space. As mentioned above, the second storage space may be an Agent repository within the cloud environment, and the third storage space may be a database within the cloud environment (e.g., a MySQL database within the cloud environment). Alternatively, the third storage space may be another database outside the cloud environment. Through the above determination steps, it can be accurately determined whether the encoded file is stored in the second storage space within the cloud environment, thereby avoiding the duplicate uploading of the same version of the encoded file and reducing the waste of machine resources (or human resources). In other words, this helps to achieve versioned management of agent programs.

[0052] In some embodiments, step 340 may include: in response to the encoded file not being stored in the second storage space, downloading the encoded file from the first storage space to a local directory; storing the encoded file from the local directory to the second storage space based on the interface information; and storing the identification information and the storage address of the encoded file in the second storage space to the third storage space. Here, "downloading the encoded file from the first storage space to a local directory" indicates the process of downloading the encoded file to the local machine (i.e., the deployment location in the cloud environment, such as a user-side server), and the local directory indicates the local storage address of the encoded file. Through the above process, the third storage space can be accessed to conveniently record that the encoded file is already stored in the second storage space, and thus the encoded file stored in the second storage space can be accessed based on the storage address stored in the third storage space.

[0053] The following is combined with Figure 5 This further clarifies the implementation schemes for steps 320, 330, and 340 described above. For example... Figure 5 As shown, in step 510, the material package corresponding to the agent program (hereinafter referred to as Agent) is decompressed to obtain the Agent's identification information, the Agent's corresponding encoded file, the interface information of the cloud environment to which the Agent is to be deployed, and the Agent's storage service information. In step 520, the Agent deployment steps are started.

[0054] Specifically, in step 530, the object storage service is accessed using the first account and the first password, and the encoded file corresponding to the Agent is uploaded (stored) to the storage bucket corresponding to the storage bucket name using the first domain name, the first port, and the storage bucket name. Figure 5 In the first storage space shown; in step 540, a cloud service API interface (e.g., a private cloud service API interface) is called to obtain the identification information; in step 550, based on the identification information (e.g., the Agent version number), it is determined whether the encoded file is stored in the second storage space within the cloud environment. If it is determined that the encoded file is already stored in the second storage space within the cloud environment, subsequent steps are not performed, i.e., the encoded file is not uploaded to the cloud environment; if it is determined that the encoded file is not stored in the second storage space within the cloud environment, step 560 is executed, i.e., the encoded file is downloaded from the first storage space to the local directory, and the encoded file in the local directory is stored in the second storage space based on the interface information; finally, step 570 is executed: the identification information and the storage address of the encoded file in the second storage space are stored in the third storage space.

[0055] According to another aspect of this disclosure, a method for installing a cloud server agent is provided, comprising: in response to receiving a cloud server creation instruction, creating a target cloud server and obtaining a target encoding file corresponding to a target agent, wherein the target agent is deployed in a cloud environment according to the deployment method 300 provided in the foregoing aspect of this disclosure; and installing the target agent into the target cloud server based on the target encoding file. For example, a cloud service user issues a target cloud server creation instruction to the cloud environment through a corresponding console. Upon receiving the cloud server creation instruction, the corresponding management program in the cloud environment creates the target cloud server and obtains the target encoding file corresponding to the target agent. Since the target agent is deployed in the cloud environment according to the deployment method 300 provided in the foregoing aspect of this disclosure, as can be seen above, the deployment method 300 can achieve versioned management of the agent. Therefore, a cloud service user can specify a specific version of the target agent and have it installed by the cloud environment. Alternatively, the latest version of the target agent can be installed by default.

[0056] When the user specifies a particular version of the target agent (i.e., the cloud server creation instruction includes the target version information of the target agent), in some embodiments, the target encoded file corresponding to the target agent can be obtained through the following steps: determining whether the target version information is stored in the third storage space; in response to the target version information being stored in the third storage space, obtaining the target storage address of the agent corresponding to the target version information in the second storage space from the third storage space; and obtaining the target encoded file from the second storage space according to the target storage address. The following is in conjunction with... Figure 6 Let's further clarify the above process.

[0057] like Figure 6 As shown, in step 610, the cloud environment receives a cloud server creation instruction output by the console through the access layer (the cloud server creation instruction includes the target version information of the target agent program); in step 620, it is determined whether the target version information is stored in the third storage space. If the target version information is stored in the third storage space, the cloud environment, through the scheduling layer, obtains the target storage address of the target agent program in the second storage space within the cloud environment from the third storage space according to the target version information; in step 630, based on the target storage address, the cloud environment, through the scheduling layer, downloads the corresponding version of the Agent from the second storage space; finally, in step 640, the cloud environment, through the scheduling layer, creates the corresponding cloud server and installs the corresponding version of the Agent onto the cloud server. Through the above steps, a user-specified version of the Agent can be installed onto the cloud server.

[0058] It should be noted that the target version information of the target agent program included in the cloud server creation instruction may not be correct (for example, the target version information may be an incorrect version number, or the version number may be outdated, etc.). In this case, the third storage space will not store the corresponding version information. In some embodiments, the target storage address of the agent program corresponding to the latest version information in the second storage space can be obtained from the third storage space, and then the target encoded file can be obtained from the second storage space according to the target storage address, thereby helping to install the latest version of the agent program into the target cloud server.

[0059] Figure 7 The illustration shows an example flowchart of a method for managing a cloud server's agent program according to some embodiments of the present disclosure. The management method includes processes such as compiling the agent program, deploying the agent program, and installing the agent program, which are described above using... Figure 4 , Figure 5 and Figure 6 To illustrate in detail, therefore, for the sake of brevity, Figure 7 The middle and above about Figure 4 , Figure 5 and Figure 6 The parts that are described in detail will not be repeated here.

[0060] like Figure 7 As shown, on the agent developer's side, a standardized DevOps pipeline is illustrated. Taking agent A (hereinafter referred to as "Agent-A") as an example, the developer of Agent-A can copy the pipeline corresponding to Agent-A from the pipeline template as the target pipeline and bind the target pipeline to the source code repository corresponding to Agent-A (Agent-A source code repository). The Agent-A source code repository stores the source code corresponding to Agent-A. The target pipeline can generate the material package corresponding to Agent-A (Agent-A material package). For agent B, the process of generating the Agent-B material package using the corresponding pipeline is similar to Agent-A, and will not be described again here. It should be noted that, although Figure 7 The compilation process of two agent programs is shown, but those skilled in the art should understand that... Figure 7 The embodiments shown may have fewer or more proxy procedures, and this disclosure does not limit the number of proxy procedures.

[0061] After the material package corresponding to the agent program is generated, the material package corresponding to the agent program (hereinafter referred to as Agent) can be decompressed to obtain the Agent's identification information, the Agent's corresponding encoded file, the interface information of the cloud environment 730 to which the Agent is to be deployed, and the Agent's storage service information. Then, the Agent deployment steps can be executed. For example, as follows: Figure 7 As shown, the system can access the object storage service based on the Agent's storage service information and upload (store) the encoded file corresponding to the Agent to the storage bucket 720. Then, it calls the private cloud service API interface to obtain the identification information, which can be used to determine whether the encoded file is stored in the second storage space 732 within the cloud environment 730. If it is determined that the encoded file is not stored in the second storage space 732 within the cloud environment 730, the encoded file is downloaded from the storage bucket 720 to the local directory, and then the encoded file in the local directory is stored in the second storage space 732 based on the interface information. Finally, the identification information and the storage address of the encoded file in the second storage space 732 are stored in the third storage space 733.

[0062] The cloud environment 730 receives a cloud server creation command output by the user through the console via the access layer. The cloud server creation command may include the target version information of the target agent program. In this case, the cloud environment 730, through the scheduling layer, obtains the target storage address of the target agent program in the second storage space 732 within the cloud environment 730 from the third storage space 733 within the cloud environment 730 according to the target version information. Then, based on the target storage address, the cloud environment 730 downloads the corresponding version of the Agent from the second storage space 732 through the scheduling layer. Finally, the cloud environment 730 creates the corresponding cloud server 731 through the scheduling layer and installs the corresponding version of the Agent into the cloud server 731.

[0063] Figure 8 The illustration schematically shows an example block diagram of an apparatus 800 (hereinafter referred to as agent deployment apparatus 800 for brevity) for deploying an agent for a cloud server according to some embodiments of the present disclosure. Exemplarily, the agent deployment apparatus 800 can be deployed on... Figure 1 On server 151. (For example...) Figure 8 As shown, the agent program deployment device 800 includes an information acquisition module 810, a first storage module 820, a storage identification module 830, and a second storage module 840.

[0064] Specifically, the information acquisition module 810 can be configured to acquire the identifier information of the agent program, the encoded file corresponding to the agent program, the interface information of the cloud environment to which the agent program is to be deployed, and the storage service information of the agent program; the first storage module 820 can be configured to store the encoded file in a first storage space outside the cloud environment based on the storage service information; the storage identification module 830 can be configured to determine whether the encoded file is stored in a second storage space within the cloud environment based on whether the identifier information is stored in a third storage space, wherein the third storage space is different from the first storage space and the second storage space; the second storage module 840 can be configured to, in response to the fact that the encoded file is not stored in the second storage space, store the encoded file in the first storage space into the second storage space based on the interface information, and store the identifier information and the storage address of the encoded file in the second storage space into the third storage space.

[0065] It should be understood that the agent deployment device 800 can be implemented in software, hardware, or a combination of both. Multiple different modules in the device can be implemented in the same software or hardware architecture, or a module can be implemented by multiple different software or hardware architectures.

[0066] Furthermore, the agent deployment device 800 can be used to implement the deployment method 300 described above, the details of which have been described in detail above and will not be repeated here for the sake of brevity. Additionally, these devices can have the same features and advantages as those described in the corresponding methods.

[0067] Figure 9 The illustration schematically shows an example block diagram of an apparatus 900 (hereinafter referred to as agent installation apparatus 900 for brevity) for installing an agent program for a cloud server according to some embodiments of the present disclosure. Exemplarily, the agent installation apparatus 900 can be deployed on... Figure 1 On server 151. (For example...) Figure 9 As shown, the agent installation device 900 includes a cloud server creation module 910 and an agent installation module 920.

[0068] Specifically, the cloud server creation module 910 can be configured to create a target cloud server and obtain a target encoding file corresponding to the target agent program in response to receiving a cloud server creation instruction, wherein the target agent program is deployed in the cloud environment according to the agent program deployment device 800; the agent program installation module 920 can be configured to install the target agent program into the target cloud server based on the target encoding file.

[0069] It should be understood that the agent installation device 900 can be implemented in software, hardware, or a combination of both. Multiple different modules in the device can be implemented in the same software or hardware structure, or a module can be implemented by multiple different software or hardware structures.

[0070] Figure 10 The illustration depicts an example system including an example computing device 1000 representing one or more systems and / or devices that can implement the various technologies described herein. The computing device 1000 may be, for example, a server used by a cloud service provider, a device associated with a server, a system-on-a-chip, and / or any other suitable computing device or computing system. References above are respectively... Figure 8 and Figure 9 At least one of the described agent deployment device 800 and agent installation device 900 may take the form of a computing device 1000. Alternatively, at least one of the agent deployment device 800 and agent installation device 900 may be implemented as a computer program in the form of an application 1016.

[0071] like Figure 10The example computing device 1000 shown includes a processing system 1011, one or more computer-readable media 1012, and one or more I / O interfaces 1013 that are communicatively coupled to each other. Although not shown, the computing device 1000 may also include a system bus or other data and command transfer system that couples the various components to each other. The system bus may include any or a combination of different bus architectures, such as a memory bus or memory controller, a peripheral bus, a universal serial bus, and / or a processor or local bus utilizing any of the various bus architectures. Various other examples, such as control and data lines, are also conceived.

[0072] Processing system 1011 represents the functionality of performing one or more operations using hardware. Therefore, processing system 1011 is illustrated as including hardware elements 1014 that can be configured as processors, function blocks, etc. This may include application-specific integrated circuits (ASICs) or other logic devices formed using one or more semiconductors in the hardware. Hardware element 1014 is not limited by the materials in which it is formed or the processing mechanism employed therein. For example, a processor may consist of semiconductors and / or transistors (e.g., integrated circuits (ICs)). In such a context, processor-executable instructions may be electronically executable instructions.

[0073] Computer-readable medium 1012 is illustrated as including memory / storage device 1015. Memory / storage device 1015 represents a memory / storage capacity associated with one or more computer-readable media. Memory / storage device 1015 may include volatile media (such as random access memory (RAM)) and / or non-volatile media (such as read-only memory (ROM), flash memory, optical disk, magnetic disk, etc.). Memory / storage device 1015 may include fixed media (e.g., RAM, ROM, fixed hard disk drive, etc.) and removable media (e.g., flash memory, removable hard disk drive, optical disk, etc.). Computer-readable medium 1012 may be configured in various other ways as further described below.

[0074] One or more I / O interfaces 1013 represent functions that allow users to input commands and information to the computing device 1000 using various input devices and optionally also allow information to be presented to the user and / or other components or devices using various output devices. Examples of input devices include keyboards, cursor control devices (e.g., mice), microphones (e.g., for voice input), scanners, touch functionality (e.g., capacitive or other sensors configured to detect physical touch), cameras (e.g., capable of detecting non-touch-related motion as gestures using visible or invisible wavelengths (such as infrared frequencies), etc. Examples of output devices include display devices (e.g., projectors), speakers, printers, network interface cards, haptic-responsive devices, etc. Therefore, the computing device 1000 can be configured to support user interaction in various ways as further described below.

[0075] The computing device 1000 also includes an application 1016. The application 1016 may be, for example, a software instance of an agent deployment device 800 and / or an agent installation device 900, and implements the techniques described herein in combination with other elements in the computing device 1000.

[0076] This document describes various technologies within the general context of software and hardware components or program modules. Generally, these modules include routines, programs, elements, components, data structures, etc., that perform specific tasks or implement specific abstract data types. As used herein, the terms "module," "function," and "component" generally refer to software, firmware, hardware, or a combination thereof. The technologies described herein are characterized as platform-independent, meaning that these technologies can be implemented on a variety of computing platforms with various processors.

[0077] Implementations of the described modules and technologies may be stored on or transmitted across some form of computer-readable medium. The computer-readable medium may include a variety of media accessible by the computing device 1000. By way of example and not limitation, the computer-readable medium may include "computer-readable storage media" and "computer-readable signal media".

[0078] In contrast to simple signal transmission, carrier waves, or signals themselves, a "computer-readable storage medium" refers to a medium and / or device capable of persistently storing information, and / or a tangible storage device. Therefore, a computer-readable storage medium refers to a non-signal-bearing medium. Computer-readable storage media include hardware such as volatile and non-volatile, removable and non-removable media and / or storage devices implemented using methods or techniques suitable for storing information (such as computer-readable instructions, data structures, program modules, logic elements / circuits, or other data). Examples of computer-readable storage media may include, but are not limited to, RAM, ROM, EEPROM, flash memory or other memory technologies, CD-ROM, digital versatile disc (DVD) or other optical storage devices, hard disks, cassette tapes, magnetic tapes, disk storage devices or other magnetic storage devices, or other storage devices, tangible media, or articles of art suitable for storing desired information and accessible by a computer.

[0079] "Computer-readable signal medium" refers to a signal-bearing medium configured to transmit instructions, such as via a network, to computing device 1000. A signal medium typically embodies computer-readable instructions, data structures, program modules, or other data in a modulated data signal, such as a carrier wave, data signal, or other transmission mechanism. Signal media also include any information transmission medium. The term "modulated data signal" refers to a signal in which one or more of its characteristics are set or altered to encode information. By way of example and not limitation, communication media include wired media such as wired networks or direct connections, and wireless media such as acoustic, RF, infrared, and other wireless media.

[0080] As previously described, hardware element 1014 and computer-readable medium 1012 represent instructions, modules, programmable device logic, and / or fixed device logic implemented in hardware, which in some embodiments can be used to implement at least some aspects of the techniques described herein. Hardware elements may include components of integrated circuits or systems-on-a-chip, application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), complex programmable logic devices (CPLDs), and other implementations or other hardware devices in silicon. In this context, hardware elements can serve as processing devices for executing program tasks defined by instructions, modules, and / or logic embodied by the hardware element, and as hardware devices for storing instructions for execution, such as the previously described computer-readable storage medium.

[0081] The foregoing combinations can also be used to implement the various techniques and modules described herein. Therefore, software, hardware, or program modules and other program modules can be implemented as one or more instructions and / or logic embodied on some form of computer-readable storage medium and / or by one or more hardware elements 1014. The computing device 1000 can be configured to implement specific instructions and / or functions corresponding to the software and / or hardware modules. Thus, for example, by using the computer-readable storage medium and / or hardware elements 1014 of the processing system, modules can be implemented at least partially in hardware as modules executable as software by the computing device 1000. Instructions and / or functions can be executable / operable by one or more articles of art (e.g., one or more computing devices 1000 and / or processing systems 1011) to implement the techniques, modules, and examples described herein.

[0082] In various embodiments, the computing device 1000 can be configured in various ways. For example, the computing device 1000 can be implemented as a computer-type device, including personal computers, desktop computers, multi-screen computers, laptop computers, netbooks, etc. The computing device 1000 can also be implemented as a mobile device, including mobile devices such as mobile phones, portable music players, portable gaming devices, tablet computers, multi-screen computers, etc. The computing device 1000 can also be implemented as a television-type device, including devices with or connected to a generally large screen in a leisure viewing environment. These devices include televisions, set-top boxes, game consoles, etc.

[0083] The techniques described herein can be supported by these various configurations of computing device 1000, and are not limited to specific examples of the techniques described herein. Functionality can also be implemented, wholly or partially, on cloud 1020 using distributed systems, such as platform 1022 as described below.

[0084] Cloud 1020 includes and / or represents platform 1022 for resource 1024. Platform 1022 abstracts the underlying functionality of the hardware (e.g., servers) and software resources of cloud 1020. Resource 1024 may include applications and / or data that can be used when performing computer processing on a server located remotely from computing device 1000. Resource 1024 may also include services provided via the Internet and / or via subscriber networks such as cellular or Wi-Fi networks.

[0085] Platform 1022 can abstract resources and functions to connect computing device 1000 to other computing devices. Platform 1022 can also be used to abstract resource hierarchy to provide a corresponding level of hierarchy for any encountered needs for resource 1024 implemented via platform 1022. Therefore, in interconnect device embodiments, the implementation of the functions described herein can be distributed throughout system 1000. For example, functions can be implemented partly on computing device 1000 and partly through platform 1022, which abstracts the functions of cloud 1020.

[0086] It should be understood that, for clarity, embodiments of this disclosure have been described with reference to different functional units. However, it will be apparent that, without departing from this disclosure, the functionality of each functional unit may be implemented in a single unit, in multiple units, or as part of other functional units. For example, functionality described as being performed by a single unit may be performed by multiple different units. Therefore, references to a particular functional unit are considered merely as references to the appropriate unit used to provide the described functionality, and not as indicating a strict logical or physical structure or organization. Thus, this disclosure may be implemented in a single unit, or may be physically and functionally distributed among different units and circuits.

[0087] It will be understood that although the terms first, second, third, etc., may be used herein to describe various devices, elements, components, or parts, these devices, elements, components, or parts should not be limited by these terms. These terms are used only to distinguish one device, element, component, or part from another device, element, component, or part.

[0088] Although this disclosure has been described in conjunction with some embodiments, it is not intended to be limited to the specific forms set forth herein. Rather, the scope of this disclosure is limited only by the appended claims. Additionally, although individual features may be included in different claims, these may be advantageously combined, and inclusion in different claims does not imply that such a combination of features is not feasible and / or advantageous. The order of features in the claims does not imply that the features must be in any particular order of their operation. Furthermore, in the claims, the word "comprising" does not exclude other elements, and the terms "a" or "an" do not exclude a plurality. Reference numerals in the claims are provided only by way of explicit example and should not be construed as limiting the scope of the claims in any way.

[0089] It should be understood that, for clarity, embodiments of this disclosure have been described with reference to different functional units. However, it will be apparent that, without departing from this disclosure, the functionality of each functional unit may be implemented in a single unit, in multiple units, or as part of other functional units. For example, functionality described as being performed by a single unit may be performed by multiple different units. Therefore, references to a particular functional unit are considered merely as references to the appropriate unit used to provide the described functionality, and not as indicating a strict logical or physical structure or organization. Thus, this disclosure may be implemented in a single unit, or may be physically and functionally distributed among different units and circuits.

[0090] This disclosure provides a computer-readable storage medium storing computer-readable instructions, which, when executed, implement the aforementioned deployment and installation methods for the cloud server's agent program.

[0091] This disclosure provides a computer program product or computer program including computer instructions stored in a computer-readable storage medium. A processor of a computing device reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the computing device to perform the deployment and installation methods of the cloud server agent program provided in the various optional implementations described above.

[0092] By studying the accompanying drawings, the disclosure, and the appended claims, those skilled in the art can understand and implement variations of the disclosed embodiments in practicing the claimed subject matter. In the claims, the word "comprising" does not exclude other elements or steps, and "a" or "an" does not exclude a plurality. The mere fact that certain measures are recited in mutually different dependent claims does not indicate that a combination of these measures cannot be used advantageously.

Claims

1. A method for deploying a proxy program on a cloud server, comprising: Obtain the agent program's identification information, the corresponding encoding file of the agent program, the interface information of the cloud environment to which the agent program is to be deployed, and the agent program's storage service information from the material package; The material package is generated based on the target pipeline corresponding to the agent program. The target pipeline is triggered by the following steps: copying the pipeline corresponding to the agent program from the pipeline template as the target pipeline; binding the target pipeline to the source code repository corresponding to the agent program, where the source code repository stores the source code corresponding to the agent program. And in response to the fact that a tag corresponding to the agent program is set in the source code repository, the target pipeline is triggered, the tag being used to indicate whether to start executing the various steps of the target pipeline; Based on the information related to the storage service, the encoded file is stored in a first storage space outside the cloud environment; The first storage space is any storage space with data storage function outside the cloud environment; Based on whether the identification information is stored in the third storage space, it is determined whether the encoded file is stored in the second storage space within the cloud environment. The third storage space is different from the first storage space and the second storage space. The second storage space indicates the storage space in the cloud environment that stores the encoded files corresponding to each agent program. The three storage spaces are either databases within the cloud environment or other databases outside the cloud environment. as well as In response to the fact that the encoded file is not stored in the second storage space, the encoded file in the first storage space is stored in the second storage space based on the interface information, and the identification information and the storage address of the encoded file in the second storage space are stored in the third storage space. The third storage space is used to provide the target storage address of the agent program corresponding to the target version information in the second storage space when a cloud server creation instruction including target version information of the target agent program is received. The second storage space is used to provide the target encoding file corresponding to the target agent program according to the target storage address.

2. The method according to claim 1, wherein obtaining the identifier information of the agent program, the encoding file corresponding to the agent program, the interface information of the cloud environment to which the agent program is to be deployed, and the storage service information related to the agent program from the material package includes: Obtain the material package; The identification information, the encoded file, the interface information, and the storage service information are obtained from the material package, wherein the material package is generated according to the target pipeline corresponding to the agent program, and the target pipeline includes the following steps: Initialize the compilation environment of the agent program; The source code corresponding to the agent program is compiled in the compilation environment to generate the encoded file; The agent program is identified by determining at least the following information as the identification information: name, version number; and The material package is generated based at least on the identification information, the encoded file, the interface information of the cloud environment to which the agent program is to be deployed, and storage service related information.

3. The method according to claim 1, wherein the storage service related information includes a first domain name, a first port, a bucket name, a first account, and a first password corresponding to the object storage service, the first storage space includes a bucket provided by the object storage service outside the cloud environment, and wherein storing the encoded file in the first storage space outside the cloud environment based on the storage service related information includes: Access the object storage service using the first account and the first password; as well as The encoded file is stored in the bucket corresponding to the first bucket name using the first domain name, the first port, and the bucket name.

4. The method according to claim 1, wherein in response to the encoded file not being stored in the second storage space, the encoded file in the first storage space is stored in the second storage space based on the interface information, and the identification information and the storage address of the encoded file in the second storage space are stored in the third storage space, comprising: In response to the fact that the encoded file is not stored in the second storage space, the encoded file is downloaded from the first storage space to the local directory; Based on the interface information, the encoded file in the local directory is stored in the second storage space; as well as The identification information and the storage address of the encoded file in the second storage space are stored in the third storage space.

5. A method for installing a cloud server agent program, comprising: In response to receiving a cloud server creation instruction, a target cloud server is created and a target encoding file corresponding to the target agent is obtained, wherein the target agent is deployed in a cloud environment according to the method described in claim 1; as well as Based on the target encoded file, the target agent program is installed on the target cloud server.

6. An apparatus for deploying an agent program for a cloud server, comprising: The information acquisition module is configured to acquire the identification information of the agent program, the encoding file corresponding to the agent program, the interface information of the cloud environment to which the agent program is to be deployed, and the storage service information of the agent program from the material package. The material package is generated based on the target pipeline corresponding to the agent program. The target pipeline is triggered by the following steps: copying the pipeline corresponding to the agent program from the pipeline template as the target pipeline; binding the target pipeline to the source code repository corresponding to the agent program, where the source code repository stores the source code corresponding to the agent program. And in response to the fact that a tag corresponding to the agent program is set in the source code repository, the target pipeline is triggered, the tag being used to indicate whether to start executing the various steps of the target pipeline; The first storage module is configured to store the encoded file in a first storage space outside the cloud environment based on information related to the storage service. The first storage space is any storage space with data storage function outside the cloud environment; The storage identification module is configured to determine whether the encoded file is stored in the second storage space within the cloud environment based on whether the identification information is stored in the third storage space. The third storage space is different from the first storage space and the second storage space. The second storage space indicates the storage space in the cloud environment that stores the encoded files corresponding to each agent program. The third storage space is a database within the cloud environment or another database outside the cloud environment. as well as The second storage module is configured to, in response to the encoded file not being stored in the second storage space, store the encoded file from the first storage space to the second storage space based on the interface information, and store the identification information and the storage address of the encoded file in the second storage space to the third storage space; The third storage space is used to provide the target storage address of the agent program corresponding to the target version information in the second storage space when a cloud server creation instruction including target version information of the target agent program is received. The second storage space is used to provide the target encoding file corresponding to the target agent program according to the target storage address.

7. An apparatus for installing an agent program on a cloud server, comprising: The cloud server creation module is configured to, in response to receiving a cloud server creation instruction, create a target cloud server and obtain a target encoding file corresponding to a target agent program, wherein the target agent program is deployed in a cloud environment according to the apparatus of claim 6; as well as The agent installation module is configured to install the target agent program onto the target cloud server based on the target encoding file.

8. A computing device, comprising: Memory, which is configured to store computer-executable instructions; A processor configured to perform the method according to any one of claims 1 to 5 when the computer-executable instructions are executed by the processor.

9. A computer-readable storage medium storing computer-executable instructions that, when executed, perform the method according to any one of claims 1 to 5.

Citation Information

Patent Citations

  • Software package release method and system based on multi-language environment

    CN106528170A

  • Server software package management and deployment method and system

    CN114253562A