Method, device and storage medium for application deployment in software as a service platform
By using a PaaS platform, a software as a service (SaaS) platform, automated application deployment is achieved, solving the problem of high manpower and material resource investment in traditional software deployment models. This enables efficient application delivery and multi-tenant management without the need for local installation.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- BOE TECHNOLOGY GROUP CO LTD
- Filing Date
- 2021-03-31
- Publication Date
- 2026-05-12
AI Technical Summary
Traditional software deployment models require users to install and maintain the client themselves, resulting in high investment of human and material resources and low application delivery efficiency.
By leveraging the Software as a Service (SaaS) platform and the PaaS platform, applications can be deployed and feedback can be automated. This supports address delivery, image program delivery, and delivery to specified environments. Combined with multi-tenant mode and automated account management, the application delivery process can be optimized.
It enables application delivery without local installation, reduces the investment of manpower and material resources, improves application delivery efficiency and resource utilization, and supports the rapid deployment and management of multi-tenant applications.
Smart Images

Figure CN115812196B_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to the field of cloud computing, and in particular to methods, apparatus and storage media for deploying applications in a Software as a Service (SaaS) platform. Background Technology
[0002] With the development of internet technology and the continuous maturation of application software, a new software application model has quietly emerged in the market.
[0003] In the traditional model, software vendors deliver customized software products to multiple client terminals within an enterprise by authorizing the user through software license certificates. The disadvantage of this approach is that users need to purchase client software and assign professional personnel to maintain it. When client terminals or networks malfunction, professional personnel are required to maintain them, which requires customers to invest a lot of human and material resources.
[0004] The new software application model delivers applications to users via web pages. The applications are deployed by third parties, and users only need to purchase the service from the Software as a Service (SaaS) application store and use the application through the web page, without having to download the application to their local machine. This eliminates the need for the equipment and professional personnel required to configure the application, saving manpower and resources. Summary of the Invention
[0005] In a first aspect, the present disclosure provides a method for deploying applications in a Software as a Service (SaaS) platform, applicable to a SaaS platform, wherein the SaaS platform exists in the form of applications on a Platform as a Service (PaaS) platform, and the method includes:
[0006] Receive user order information; wherein, the order information includes the application identifier and delivery identifier of the specified application designated by the user, and the delivery identifier is used to indicate the delivery method of the specified application;
[0007] Based on the order information, determine the relevant information for deploying the specified application; wherein, the relevant information includes the delivery identifier;
[0008] The relevant information is transmitted to the PaaS platform, which then deploys the application based on the application model corresponding to the relevant information to obtain the specified application, and sends the deployment result of the specified application to the SaaS platform.
[0009] Receive the deployment results of the specified application and provide corresponding feedback information to the user based on the deployment results.
[0010] One possible implementation involves determining relevant information for deploying the specified application based on the order information, including:
[0011] A retrieval instruction is generated based on the order information;
[0012] The retrieval command is sent to the application repository, causing the application repository to retrieve the description information of the specified application; wherein, the application repository is shared by the SaaS platform and the PaaS platform;
[0013] The description information is obtained from the application repository, and the description information and the delivery identifier are used as the relevant information.
[0014] One possible implementation includes, before receiving the deployment result of the specified application and providing corresponding feedback information to the user based on the deployment result:
[0015] The user operation performed by the user is determined based on the operation identifier carried in the order information; wherein, the user operation includes a purchase operation and a trial operation.
[0016] One possible implementation, after determining the user operation performed by the user, further includes:
[0017] Before determining the relevant information for deploying the specified application, if it is determined that the user operation is a purchase operation, then return to the payment page and allow the user to make payment on the payment page;
[0018] After confirming that the user has completed the payment on the payment page, the order information is reviewed.
[0019] One possible implementation involves providing corresponding feedback information to the user based on the deployment results, including:
[0020] When the delivery identifier is address delivery, the deployment result is the application address where the specified application is deployed locally. The application address is provided to the user as feedback information, so that the user can access the application through the application address.
[0021] When the delivery identifier is an image program delivery, the deployment result is an image file of the specified application. The image file is provided to the user as feedback information, so that the user can install the specified application in the required environment using the image file.
[0022] When the delivery identifier is for a specified environment delivery, the order information also includes the interface address of the container specified by the user; the deployment result is that the specified application has been deployed in the container, and the user is provided with the feedback information that the specified application has been deployed in the container to notify the user that the specified application has been deployed in the container.
[0023] One possible implementation, after receiving the deployment result of the specified application and providing corresponding feedback information to the user based on the deployment result, further includes:
[0024] When the delivery identifier is address delivery, if the application type of the specified application is a multi-tenant application, a corresponding user account and password will be created when the next new order for purchasing the specified application is received;
[0025] The user account, password, and address of the specified application are returned to the user corresponding to the new order.
[0026] One possible implementation involves creating a corresponding user account and password, including:
[0027] The user account and password are automatically assigned to the user corresponding to the new order;
[0028] The user account and password are encapsulated in the tenant interface of the specified application.
[0029] One possible implementation, after returning the user account and password, along with the address of the specified application, to the user corresponding to the new order, further includes:
[0030] The validity period of the user account is checked periodically;
[0031] When it is detected that the user account has expired and has not been renewed, the user account will be set to an invalid state, making the user account inaccessible.
[0032] Secondly, embodiments of this disclosure provide a method for deploying applications in a Software as a Service (SaaS) platform, applied to a Platform as a Service (PaaS) platform, wherein the PaaS platform includes a Software as a Service (SaaS) platform existing in the form of applications, and the method includes:
[0033] Receive information from the SaaS platform regarding the deployment of a specified application; wherein the specified application is determined from order information received from the SaaS platform, and the relevant information includes the delivery identifier of the specified application;
[0034] Based on the relevant information, the application is deployed using the corresponding application model to obtain the specified application;
[0035] The deployment results of the specified application are sent to the SaaS platform, so that the SaaS platform can provide corresponding feedback information to the user corresponding to the order information based on the deployment results.
[0036] One possible implementation involves deploying the application using a corresponding application model based on the relevant information to obtain the specified application, including:
[0037] The application model is obtained from the application model library based on the relevant information.
[0038] The deployment location of the specified application is determined based on the delivery identifier;
[0039] The specified application is deployed at the deployment location using the application model, thereby obtaining the specified application.
[0040] One possible implementation involves determining the deployment location of the specified application based on the delivery identifier, including:
[0041] When the delivery identifier is address delivery or image program delivery, the deployment location is local;
[0042] When the delivery identifier is for a specified environment delivery, the relevant information also includes the interface address of the container specified by the user, and the deployment location is the container.
[0043] One possible implementation, after obtaining the designated application, further includes:
[0044] When the delivery identifier indicates that the image program has been delivered, the corresponding image file is generated after obtaining the specified application.
[0045] One possible implementation involves deploying the specified application at the deployment location using the application model to obtain the specified application, including:
[0046] When the delivery identifier is the specified environment delivery, the specified application is deployed in the container through the application model to obtain the specified application.
[0047] One possible implementation involves deploying the specified application at the deployment location using the application model to obtain the specified application, including:
[0048] When the delivery identifier is delivered to the address, extract the resource information required by the specified application from the application model;
[0049] Determine whether the remaining resources in the underlying resources meet the resource requirements in the resource information;
[0050] If the conditions are met, the resource corresponding to the resource information is obtained from the underlying resources, and the specified application is deployed on the resource to obtain the specified application.
[0051] One possible implementation, after determining whether the remaining resources in the underlying resources meet the resource requirements in the resource information, further includes:
[0052] If the remaining resources do not meet the requirements of the resource information, an error message is returned to the SaaS platform to indicate that the deployment of the specified application has failed.
[0053] One possible implementation, before obtaining the specified application by deploying the application using the corresponding application model based on the relevant information, further includes:
[0054] Once the application model of the specified application is created, the specified application is pushed to the application repository, so that the specified application is published in the corresponding merchant's application store.
[0055] One possible implementation further includes, before pushing the specified application to the application repository:
[0056] Receive merchant information registered in the SaaS platform by the merchant who created the application model, as well as the configuration information of the application store created;
[0057] Based on the merchant information and the application store configuration information, configure the delivery environment corresponding to the application store on the PaaS platform and associate the application store.
[0058] Thirdly, embodiments of this disclosure provide an apparatus for deploying applications in a Software as a Service (SaaS) platform, applied to a SaaS platform, wherein the SaaS platform exists in the form of an application on a Platform as a Service (PaaS) platform, and the apparatus includes:
[0059] The receiving unit is configured to receive order information from a user; wherein the order information includes an application identifier and a delivery identifier for a specified application designated by the user, and the delivery identifier is used to indicate the delivery method of the specified application;
[0060] The acquisition unit is configured to determine relevant information for deploying the specified application based on the order information; wherein the relevant information includes the delivery identifier;
[0061] The deployment unit is configured to transmit the relevant information to the PaaS platform, so that the PaaS platform can deploy the application according to the relevant information using the corresponding application model to obtain the specified application, and send the deployment result of the specified application to the SaaS platform.
[0062] The sending unit is configured to receive the deployment results of the specified application and provide corresponding feedback information to the user based on the deployment results.
[0063] In one possible implementation, the acquisition unit is specifically configured as follows:
[0064] A retrieval instruction is generated based on the order information;
[0065] The retrieval command is sent to the application repository, causing the application repository to retrieve the description information of the specified application; wherein, the application repository is shared by the SaaS platform and the PaaS platform;
[0066] The description information is obtained from the application repository, and the description information and the delivery identifier are used as the relevant information.
[0067] In one possible implementation, the acquisition unit is further configured to:
[0068] The user operation performed by the user is determined based on the operation identifier carried in the order information; wherein, the user operation includes a purchase operation and a trial operation.
[0069] In one possible implementation, the acquisition unit is further configured to:
[0070] Before determining the relevant information for deploying the specified application, if it is determined that the user operation is a purchase operation, then return to the payment page and allow the user to make payment on the payment page;
[0071] After confirming that the user has completed the payment on the payment page, the order information is reviewed.
[0072] In one possible implementation, the transmitting unit is further configured to:
[0073] When the delivery identifier is address delivery, the deployment result is the application address where the specified application is deployed locally. The application address is provided to the user as feedback information, so that the user can access the application through the application address.
[0074] When the delivery identifier is an image program delivery, the deployment result is an image file of the specified application. The image file is provided to the user as feedback information, so that the user can install the specified application in the required environment using the image file.
[0075] When the delivery identifier is for a specified environment delivery, the order information also includes the interface address of the container specified by the user; the deployment result is that the specified application has been deployed in the container, and the user is provided with the feedback information that the specified application has been deployed in the container to notify the user that the specified application has been deployed in the container.
[0076] In one possible implementation, the acquisition unit is further configured to:
[0077] When the delivery identifier is address delivery, if the application type of the specified application is a multi-tenant application, a corresponding user account and password will be created when the next new order for purchasing the specified application is received;
[0078] The user account, password, and address of the specified application are returned to the user corresponding to the new order.
[0079] In one possible implementation, the acquisition unit is further configured to:
[0080] The user account and password are automatically assigned to the user corresponding to the new order;
[0081] The user account and password are encapsulated in the tenant interface of the specified application.
[0082] In one possible implementation, the apparatus further includes a detection unit configured to:
[0083] The validity period of the user account is checked periodically;
[0084] When it is detected that the user account has expired and has not been renewed, the user account will be set to an invalid state, making the user account inaccessible.
[0085] Fourthly, embodiments of this disclosure provide an apparatus for deploying applications in a Software as a Service (SaaS) platform, applied to a Platform as a Service (PaaS) platform, wherein the PaaS platform includes a SaaS platform existing in the form of applications, and the apparatus includes:
[0086] The receiving unit is configured to receive information related to the deployment of a specified application sent by the SaaS platform; wherein the specified application is determined from order information received from the SaaS platform, and the relevant information includes a delivery identifier of the specified application;
[0087] The deployment unit is configured to deploy the application using the corresponding application model based on the relevant information, thereby obtaining the specified application;
[0088] The sending unit is configured to send the deployment results of the specified application to the SaaS platform, so that the SaaS platform provides the corresponding feedback information to the user corresponding to the order information based on the deployment results.
[0089] In one possible implementation, the deployment unit is configured as follows:
[0090] The application model is obtained from the application model library based on the relevant information.
[0091] The deployment location of the specified application is determined based on the delivery identifier;
[0092] The specified application is deployed at the deployment location using the application model, thereby obtaining the specified application.
[0093] In one possible implementation, the deployment unit is further configured to:
[0094] When the delivery identifier is address delivery or image program delivery, the deployment location is local;
[0095] When the delivery identifier is for a specified environment delivery, the relevant information also includes the interface address of the container specified by the user, and the deployment location is the container.
[0096] In one possible implementation, the deployment unit is further configured to:
[0097] When the delivery identifier indicates that the image program has been delivered, the corresponding image file is generated after obtaining the specified application.
[0098] In one possible implementation, the deployment unit is further configured to:
[0099] When the delivery identifier is the specified environment delivery, the specified application is deployed in the container through the application model to obtain the specified application.
[0100] In one possible implementation, the deployment unit is further configured to:
[0101] When the delivery identifier is delivered to the address, extract the resource information required by the specified application from the application model;
[0102] Determine whether the remaining resources in the underlying resources meet the resource requirements in the resource information;
[0103] If the conditions are met, the resource corresponding to the resource information is obtained from the underlying resources, and the specified application is deployed on the resource to obtain the specified application.
[0104] In one possible implementation, the deployment unit is further configured to:
[0105] If the remaining resources do not meet the requirements of the resource information, an error message is returned to the SaaS platform to indicate that the deployment of the specified application has failed.
[0106] In one possible implementation, the apparatus further includes a publishing unit configured to:
[0107] Once the application model of the specified application is created, the specified application is pushed to the application repository, so that the specified application is published in the corresponding merchant's application store.
[0108] In one possible implementation, the publishing unit is further configured to:
[0109] Receive merchant information registered in the SaaS platform by the merchant who created the application model, as well as the configuration information of the application store created;
[0110] Based on the merchant information and the application store configuration information, configure the delivery environment corresponding to the application store on the PaaS platform and associate the application store.
[0111] Fifthly, embodiments of this disclosure also provide an apparatus for deploying applications in a Software as a Service (SaaS) platform, comprising:
[0112] At least one processor, and
[0113] Memory connected to the at least one processor;
[0114] The memory stores instructions that can be executed by the at least one processor, which executes the instructions stored in the memory to perform the method described in the first aspect above.
[0115] Sixthly, embodiments of this disclosure also provide a readable storage medium, comprising:
[0116] memory,
[0117] The memory is configured to store instructions that, when executed by a processor, cause a device including the readable storage medium to perform the method described in the first aspect above. Attached Figure Description
[0118] Figure 1 A flowchart illustrating the application deployment method in a SaaS-based Software as a Service platform provided in this embodiment of the disclosure;
[0119] Figure 2 A flowchart illustrating the application deployment method in a PaaS-side Software as a Service platform provided in this embodiment of the disclosure;
[0120] Figure 3 A flowchart illustrating the interaction between a PaaS platform and a SaaS platform, provided as an embodiment of this disclosure;
[0121] Figure 4 A schematic diagram of the application deployment structure in the SaaS-based Software as a Service platform provided in this embodiment of the disclosure;
[0122] Figure 5 This is a schematic diagram of the application deployment structure in the PaaS-side Software as a Service platform provided in this embodiment of the disclosure. Detailed Implementation
[0123] Currently, the actual role of SaaS platforms is only to provide merchants with a function to receive user orders. From the time a user initiates an order to the time the merchant delivers the application, there is still a long waiting period (such as communication on application functions, code writing, testing, etc.), which makes it impossible for users to receive the delivered application in a timely manner after purchasing it.
[0124] This disclosure provides a method, apparatus, and storage medium for deploying applications in a Software as a Service (SaaS) platform to solve the aforementioned technical problems in the prior art.
[0125] Platform as a Service (PaaS) provides services via a network, either through a server platform or a development environment.
[0126] Software as a Service (SaaS) is a service provided via a network.
[0127] Multi-tenancy refers to a software architecture that supports one instance to serve multiple users (Customers). Each user is called a tenant. The software gives tenants the ability to partially customize the system, such as user interface colors or business rules, but they cannot customize or modify the software code.
[0128] An instance refers to the actual object that the application processes.
[0129] To better understand the above technical solutions, the technical solutions of this disclosure will be described in detail below with reference to the accompanying drawings and specific embodiments. It should be understood that the embodiments of this disclosure and the specific features in the embodiments are detailed descriptions of the technical solutions of this disclosure, rather than limitations thereof. In the absence of conflict, the embodiments of this disclosure and the technical features in the embodiments can be combined with each other.
[0130] In the embodiments provided in this disclosure, the PaaS platform primarily provides basic resources, service monitoring, resource scheduling, and other support services for software construction and release. The SaaS platform primarily provides user-facing services such as user management, application query, and application configuration for enterprise merchants (hereinafter referred to as merchants), enterprise customers (hereinafter referred to as users), and operations. The PaaS platform is geared towards enterprise merchant development and operations personnel, enabling developers to configure, compile, deploy, and run software. The SaaS platform is primarily geared towards enterprise merchants and enterprise customers; enterprise merchants operate their own stores (hereinafter referred to as application stores) on the SaaS platform, and perform operations such as uploading applications and maintaining the delivery environment. Enterprise customers query, view, purchase, and experience applications on the SaaS platform.
[0131] The following sections will first describe the methods for deploying applications on a SaaS platform from the SaaS platform perspective, and then describe the methods for deploying applications on a SaaS platform from the PaaS platform perspective.
[0132] Please refer to Figure 1 This disclosure provides a method for deploying applications in a Software as a Service (SaaS) platform. The SaaS platform exists in the form of applications on the Platform as a Service (PaaS) platform. The processing steps of this method are as follows.
[0133] Step 101: Receive the user's order information; wherein, the order information includes the application identifier and delivery identifier of the specified application specified by the user, and the delivery identifier is used to indicate the delivery method of the specified application;
[0134] Step 102: Based on the order information, determine the relevant information for deploying the specified application; among which, the relevant information includes the delivery identifier;
[0135] Step 103: Transmit the relevant information to the PaaS platform, so that the PaaS platform can deploy the application according to the application model corresponding to the relevant information to obtain the specified application, and send the deployment result of the specified application to the SaaS platform.
[0136] Step 104: Receive the deployment results and provide corresponding feedback information to the user based on the deployment results.
[0137] In the embodiments provided in this disclosure, the SaaS platform is deployed as a complete application on the PaaS platform, and the resource interaction between the two platforms is realized through underlying container technology (such as Kubernetes). This provides the basic conditions for generating the application that the user needs to purchase (i.e. the application specified by the user) from the SaaS platform with one click.
[0138] For example, a merchant's application store on a SaaS platform displays multiple applications. Users can select application 1 (the specified application) in the application store and generate corresponding order information. The order information includes the name, type, package, version, quantity, delivery identifier, etc. of application 1. After receiving this order information, the SaaS platform determines the relevant information for deploying the specified application based on the order information.
[0139] Delivery identifiers can be, for example: address delivery, i.e., delivery via URL address, where the user accesses the specified application through the URL address; image program delivery, i.e., delivering an image file of the specified application to the user, who can use this image file to install the specified application in the user's desired environment (such as a computer, server, cloud, etc.); or specified environment delivery, i.e., the user can provide an interface address for a container, through which the specified application can be deployed in the corresponding container. This container can be a container with an operating system already deployed, or a container corresponding to a process in the operating system. This container is usually used to deploy an application.
[0140] Based on the order information, the relevant information for deploying the specified application can be determined in the following ways:
[0141] A retrieval instruction is generated based on the order information; the retrieval instruction contains relevant information; the retrieval instruction is sent to the application repository, which then retrieves the description information of the specified application; the application repository is shared by the SaaS platform and the PaaS platform; the description information is obtained from the application repository, and the description information and delivery identifier are used as relevant information.
[0142] For example, if the order information includes the name, type, package, version, and delivery identifier of application 1, then the retrieval instruction includes the application identifier of the specified application to be retrieved. The SaaS platform sends this retrieval instruction to the application repository, causing the application repository to retrieve the description information of application 1. The SaaS platform then obtains this description information and the delivery identifier of the specified application as relevant information for the specified application and sends it to the PaaS platform. The PaaS platform then deploys the application according to the application model corresponding to the relevant information to obtain the specified application and sends the deployment result of the specified application to the SaaS platform. After receiving the deployment result of the specified application, the SaaS platform provides the corresponding feedback information to the user, allowing the user to provide the application to their sub-users for access.
[0143] In one possible implementation, before receiving the address of the specified application and providing it to the user, the user operation can be determined based on the operation identifier carried in the order information; wherein, the user operation includes purchase operation and trial operation.
[0144] Upon receiving order information, the system can determine the user's action based on the operation identifier contained within the order information. For example, upon receiving order information, the system can determine that the user's action was a purchase based on the operation identifier contained within the order information.
[0145] Alternatively, after receiving the address of a specified application, the system can determine the user's action based on the operation identifier carried in the order information. For example, after receiving the address of a specified application, the system can determine that the user's action is a trial operation based on the operation identifier carried in the order information.
[0146] One possible implementation is to determine the user's action and, before determining the relevant information for deploying the specified application, if the user's action is determined to be a purchase action, return to the payment page and allow the user to make payment on the payment page; after confirming that the user has completed payment on the payment page, review the order information.
[0147] For example, after a user performs a purchase operation on application 2, corresponding order information is generated. After receiving the order information, if the SaaS platform determines that the user's operation is a purchase operation based on the operation identifier carried in the order information, it will return to the payment page and allow the user to make payment on this payment page. After confirming that the user has completed the payment, the order information also needs to be reviewed. After the review is approved, the relevant information of application 2 is determined based on the order information, and then steps 103 and 104 are executed.
[0148] Before determining the relevant information for deploying the specified application, if it is confirmed that the user's action is a purchase, the user is redirected to the payment page to make payment. After confirming that the user has completed payment on the payment page, the order information is reviewed. This allows the specified application to be deployed only after it is fully confirmed that the user has made a substantial purchase. Compared to deploying the specified application first and then requiring the user to pay, this method effectively prevents users from placing orders but not paying (such as abandoning the purchase of the specified application by not paying after placing an order), thus avoiding the problem of wasting resources caused by deploying the specified application.
[0149] One possible implementation is to provide corresponding feedback information to the user based on the deployment results, including the following situations:
[0150] When the delivery identifier is address delivery, the deployment result is the application address where the specified application is deployed locally. The application address is provided to the user as feedback information, allowing the user to access the application through the application address.
[0151] For example, when the delivery identifier is address delivery, after the PaaS platform deploys the specified application locally (i.e., in the merchant's environment), it will return the URL address of the specified application (i.e., the application address) to the SaaS platform. The SaaS platform will then provide the above URL address to the user, allowing the user to access the specified application through the URL address.
[0152] When the delivery identifier is "image program delivery", the deployment result is an image file of the specified application. The image file is provided to the user as feedback information, allowing the user to install the specified application in the required environment using the image file.
[0153] For example, when the delivery identifier is "image program delivery", after the PaaS platform deploys the specified application locally (i.e., in the merchant's environment), it generates the corresponding image file and sends the image file to the SaaS platform. The SaaS platform provides the image file as feedback information to the user, so that the user can install the specified application in the environment required by the user through the image file.
[0154] When the delivery identifier is for a specified environment, the order information also includes the interface address of the container specified by the user; the deployment result is that the specified application has been deployed in the container, and the user is provided with feedback information that the specified application has been deployed in the container to notify the user that the specified application has been deployed in the container.
[0155] For example, when the delivery identifier is "delivery in a specified environment", when the PaaS platform is about to deploy the application using the application model of the specified application, it will deploy the specified application in the container provided by the user according to the interface address of the container provided by the user, and send the deployment result that the specified application has been deployed in the container to the SaaS platform. The SaaS platform will then return feedback information to the user that the specified application has been deployed in the container provided by the user, so that the user knows the deployment result of the specified application.
[0156] One possible implementation, after receiving the deployment results and providing corresponding feedback information to the user based on the deployment results, further includes:
[0157] When the delivery identifier is address delivery, if the application type of the specified application is a multi-tenant application, when a new order for purchasing the specified application is received, a corresponding user account and password are created; the user account and password, as well as the address of the specified application, are returned to the user corresponding to the new order.
[0158] When developing a specific application, setting it to multi-tenant mode makes it a multi-tenant application. Multi-tenant mode can be implemented in three ways: independent database and shared database, independent schema and shared schema, and independent data tables and shared data tables.
[0159] For example, after user A obtains the address of application 1 and uses application 1, which is a multi-tenant application, user B also purchases application 1 and generates user B's order information. After receiving the order information, the SaaS platform determines that application 1 is a multi-tenant application. Since application 1 has already been deployed, there is no need to redeploy it. The platform creates a corresponding user account and password for user B in application 1 and returns the user account, password, and the address of application 1 to user B, enabling the user to log in to application 1 using the user account and password.
[0160] By setting a specified application to multi-tenant mode, the specified application becomes a multi-tenant application. Tenant isolation can be achieved by assigning user accounts and passwords to users, avoiding the redeployment of the same application for users and thus reducing resource waste.
[0161] One possible implementation method for creating corresponding user accounts and passwords is as follows:
[0162] Automatically assign user accounts and passwords to users corresponding to new orders; encapsulate user accounts and passwords in the tenant interface of the specified application.
[0163] For example, the SaaS platform's backend calls the multi-tenant application's tenant creation interface via the HTTP protocol to create a tenant. The tenant interface is defined as follows:
[0164]
[0165] It automatically assigns user B an account (sent_tele@tele.com) and a password (fdfi$ongj).
[0166] Afterwards, the backend exposes the address of application 1 to the SaaS platform, and returns the username and password in JSON format. The returned information can be represented as follows:
[0167] {"appUrl":"http: / / xxx.boe.com.cn","tenentName":"sent_tele@tele.com","pass word":"fdfi$ongj"}
[0168] The SaaS platform packages the above information and returns it to the user, allowing the user to access application 1 using the returned account and password.
[0169] One possible implementation is to return the user account, password, and the address of the specified application to the user corresponding to the new order, and then periodically check the validity period of the user account; when it is detected that the user account has expired and has not been renewed, the user account is set to an invalid state, making the user account inaccessible.
[0170] For example, if a user selects a one-year duration when purchasing application 1, the validity period of the user's hidden account can be checked periodically after the user purchases the application. If it is detected that the user's account has expired after one year and has not been renewed, the user account will be set to an invalid state, preventing the user from accessing the user account. When the user tries to access the user account, the user can be prompted to renew. After the user successfully renews, the user account will be set to an valid state, allowing the user to access it.
[0171] Having introduced application deployment methods in Software as a Service (SaaS) platforms from the SaaS perspective, the following section will introduce them from the PaaS platform perspective:
[0172] Based on the same inventive concept, one embodiment of this disclosure provides a method for deploying applications in a Software as a Service (SaaS) platform, applied to a Platform as a Service (PaaS) platform. The PaaS platform includes a Software as a Service (SaaS) platform existing in the form of applications. Please refer to [link to relevant documentation]. Figure 2 The method includes:
[0173] Step 201: Receive information from the SaaS platform regarding the deployment of a specified application; wherein, the specified application is determined from the order information received from the SaaS platform, and the relevant information includes the delivery identifier of the specified application;
[0174] Step 202: Based on the relevant information, deploy the application using the corresponding application model to obtain the specified application;
[0175] Step 203: Send the deployment results of the specified application to the SaaS platform, so that the SaaS platform can provide the corresponding feedback information to the user corresponding to the order information based on the deployment results.
[0176] For example, after a user places an order for application A through a SaaS platform, the SaaS platform determines the relevant information for deploying application A based on the order information of application A. This relevant information includes the delivery identifier of application A and is transmitted to the PaaS platform. After receiving the relevant information of application A sent by the SaaS platform, the PaaS platform deploys the application using the corresponding application model based on the relevant information, obtains the running application A, and sends the deployment result of application A to the SaaS platform, so that the SaaS platform can provide the corresponding feedback information to the user corresponding to the order information based on the deployment result.
[0177] The system receives order information for software services (specific applications) from users through the SaaS platform, determines the relevant information for deploying the specified application based on the order information, and then passes this information to the PaaS platform, allowing the PaaS platform to instantly deploy the specified application. After deployment, the specified application is delivered through the SaaS platform, thereby achieving platform integration for software service delivery. This effectively saves software compilation efficiency and build time, enabling real-time delivery. That is, the automatic deployment and delivery process of the application can be started immediately after purchase, without user intervention or waiting.
[0178] Because the application model is used for deployment when deploying a specified application, the PaaS platform can achieve automated deployment of the specified application, and can also realize the process of publishing once and automatically copying the specified application an unlimited number of times.
[0179] One possible implementation method involves deploying the application using the corresponding application model based on relevant information to obtain the specified application. Obtaining the specified application can be achieved in the following ways:
[0180] The application model is retrieved from the application model library based on relevant information; the deployment location of the specified application is determined based on the delivery identifier; the specified application is deployed at the deployment location using the application model to obtain the specified application.
[0181] The deployment location of the specified application is determined based on the delivery identifier, including the following cases:
[0182] When the delivery identifier is address delivery or image program delivery, the deployment location is local;
[0183] When the delivery identifier is specified as delivery for a particular environment, the relevant information also includes the interface address of the container specified by the user, and the deployment location is the container.
[0184] For example, if the delivery identifier is address delivery or image program delivery, the deployment location is local (the merchant's environment), and the specified application is deployed locally through the application model.
[0185] If the delivery identifier is specified as environment delivery, the deployment location is the user-specified container. The specified application is deployed in the user-specified container using the application model. This container can be a system environment that can deploy multiple applications, or it can be an application container that can deploy one application, which is used as a process in the system environment.
[0186] Deploying a specified application at a designated location using an application model can be achieved in several ways, including the following:
[0187] The first method: When the delivery identifier is for a specified environment, the specified application is deployed in a container through the application model to obtain the specified application.
[0188] The second method: When the delivery identifier is an image program delivery, the specified application is deployed locally through the application model. After obtaining the specified application, the corresponding image file is generated.
[0189] The sales information of a specified application displayed in the merchant's shop on the SaaS platform includes the basic resource information required to deploy the specified application. When a user decides to purchase the specified application and needs to deploy it to the user's specified container, the user can configure the resources of the container provided by the user based on the above basic resource information and provide the interface address of the container when placing the order. In this way, the PaaS platform can deploy the specified application in the container provided by the user when deploying the application.
[0190] The third method: When the delivery identifier is address delivery, extract the resource information required by the specified application from the application model; determine whether the remaining resources in the underlying resources meet the resources required in the resource information; if they do, obtain the resources corresponding to the resource information from the underlying resources, and deploy the specified application on the resources to obtain the specified application.
[0191] The application model library stores application models of completed applications. These application models include environmental information, code, configuration information, etc., required for deploying the application. Through this application model, the resources, components, and logical relationships between components required for deploying the application can be determined.
[0192] Before deploying a specific application, it is determined whether the remaining resources in the underlying resources meet the requirements for deploying the application. Only when it is determined that the required resources are obtained for application deployment can the application be deployed. This can prevent the application deployment failure caused by insufficient underlying resources.
[0193] For example, after receiving information from the SaaS platform regarding the deployment of application A, the PaaS platform retrieves the application model A corresponding to application A from the application model library. Then, it extracts the environment information, code, configuration information, and other information required for deploying application A from application model A. It automatically schedules the application resource information required for deploying application A from the cluster. When it is determined that the resources required for deploying application A (i.e., the resources corresponding to the application resource information) do not exceed the remaining resources in the underlying resources, it allows the underlying resources to allocate the corresponding resources, such as CPU and storage space, to application A. The SaaS platform performs automated deployment of the application on these resources provided by the underlying resources and returns the address of application A to the user through the SaaS platform after the deployment of application A is completed.
[0194] It should be noted that when the delivery identifier is "image application delivery", the process of deploying the specified application locally is similar to the process described above, indicating that a corresponding image file needs to be generated after the final deployment is completed.
[0195] One possible implementation is to determine whether the remaining resources in the underlying resources meet the requirements of the resource information. If the remaining resources do not meet the requirements of the resource information, an error message is returned to the SaaS platform to indicate that the specified application deployment has failed.
[0196] If it is determined that the resources required to deploy application A exceed the remaining resources in the underlying infrastructure, the PaaS platform can return an error message to the SaaS platform, indicating that the deployment of application A has failed. If application A is an application for which the user has already paid, the SaaS platform can ask the user whether they want a refund or to continue waiting.
[0197] One possible implementation is to deploy the application using the corresponding application model based on relevant information. Before obtaining the specified application, once the application model of the specified application is created, the specified application is pushed to the application repository so that the specified application is published in the corresponding merchant's application store.
[0198] When merchants develop applications on a PaaS platform, they build the necessary components using source code, Dockerfiles, JAR files, etc., configure the application startup environment, generate a list of relevant container images in the image repository, and orchestrate the dependencies and startup order of components according to application logic to form the deployment architecture and description files for the entire application, thus completing the application model. Once the application model is built, the corresponding application can automatically start based on the application model and supports one-click installation.
[0199] For example, after merchant A completes the code writing and testing of application B on the PaaS platform, it runs application B to generate the corresponding application model and pushes application B to the application repository. Since the application repository is shared by the PaaS platform and the SaaS platform, pushing application B to the application repository on the PaaS platform will allow application B to be seen on the SaaS platform, and then application B can be published to merchant A's store.
[0200] One possible implementation involves receiving merchant information registered in the SaaS platform and configuration information of the application store created by the merchant who created the application model before pushing the specified application to the application repository; configuring the delivery environment corresponding to the application store on the PaaS platform based on the merchant information and the application store configuration information, and associating the application store with the application store.
[0201] For example, before Merchant A pushes Application B to the application repository, if the SaaS platform does not have Merchant A's application store, or if Merchant A wants to sell Application B in a new application store, Merchant A can register merchant information (such as merchant account, password, etc.) on the SaaS platform and obtain the configuration information for the newly created application store. Then, Merchant A configures the application store's delivery environment on the PaaS platform based on the aforementioned merchant information and the newly created application store's configuration information, and associates the application store. For instance, merchant information and configuration information can be carried in the AccessKey, which is used to associate the application stores on the PaaS platform and the SaaS platform. The AccessKey is used for identification between the PaaS platform and the SaaS platform, serving as a system authentication technology.
[0202] The application is then published to User A's app store repository, allowing the merchant to find application B in their app store. User A can edit and manage application B in the app store's backend, specifying parameters such as the application package, duration, and application type (trial or purchase). The SaaS platform can synchronize this information to the PaaS platform, enabling the PaaS platform to automatically adjust the number of service instances and system resources based on these parameters to provide better system performance and throughput. Once the merchant sets application B as available on the SaaS platform, users can see the application in the merchant's app store for viewing, purchase, or trial.
[0203] To enable those skilled in the art to fully understand the above solution, a practical example is provided below for illustration:
[0204] Please see Figure 3 This is a flowchart illustrating the interaction between a PaaS platform and a SaaS platform, as provided in an embodiment of this disclosure. Figure 3 Taking delivery with address as the delivery identifier as an example, other delivery methods are similar and will not be repeated.
[0205] exist Figure 3 The SaaS platform is divided into an order module, a controller module, and a delivery module, while the PaaS platform is divided into an application delivery module, an intelligent resource scheduling module, and an application model. The SaaS platform and the PaaS platform share an application repository. The underlying resources (also known as cluster resources) mainly include storage, databases, servers, etc.
[0206] When a user places an order on the SaaS platform (user places an order), the order module generates the corresponding order information and sends the order information (step 301, order information) to the controller module.
[0207] Based on the retrieval instruction and delivery instruction corresponding to the order information, the controller module sends the retrieval instruction (step 302a, retrieval instruction) to the application repository and the delivery instruction (step 302b, delivery instruction) to the delivery module.
[0208] The delivery module sends an information extraction instruction to the application repository according to the delivery instruction corresponding to the retrieval instruction (step 303, information extraction). The application repository sends the description information of the specified application prepared according to the retrieval instruction to the delivery module (step 304, description information). The delivery module sends the delivery identifier carried in the delivery instruction and the description information obtained from the application repository as the relevant information of the specified application to the application delivery module in the PaaS platform (step 305, sending relevant information).
[0209] The delivery module obtains the application model of the specified application based on relevant information, and obtains model information from the application model (step 306, model information). Based on the model information, it determines the resource information required by the specified application and sends the resource information (step 307, resource information) to the intelligent resource scheduling module.
[0210] The intelligent resource scheduling module generates corresponding resource requirement information using the resource information needed by the specified application (step 308, resource requirement information), and sends it to the underlying resources. The underlying resources query whether the remaining resources meet the requirements in the resource requirement information and provide corresponding resource feedback information (step 309, resource feedback information, assuming the resource feedback information indicates that the resources required by the specified application can be met, and carries the resources allocated to the specified application). The intelligent resource scheduling module generates corresponding resource deployment information based on the resource feedback information and sends it to the application delivery module (step 310, resource deployment information).
[0211] The application delivery module uses the application model to deploy the specified application on the resources allocated to it (resources included in the resource deployment information), generates the specified application, and sends the URL address of the specified application as the deployment result to the delivery module in the SaaS platform (step 311, sending deployment result).
[0212] The delivery module in the SaaS platform generates corresponding feedback information based on the deployment results and sends it to the user (312, feedback information), enabling the user to obtain the URL address of the specified application and access the specified application through the URL address.
[0213] It should be noted that the module division methods of the aforementioned SaaS and PaaS platforms are not limited to... Figure 3 The methods shown can also include other methods, such as combining three modules in the SaaS platform into one module, combining the order module and the controller module into one module, or combining the controller module and the delivery module into one module, or dividing a module into multiple modules, etc.
[0214] Based on the same inventive concept, one embodiment of this disclosure provides an apparatus for deploying applications in a Software as a Service (SaaS) platform. The SaaS platform exists as an application within a Platform as a Service (PaaS) platform. Specific implementation methods for the application deployment method of this apparatus in the SaaS platform can be found in the description of the SaaS platform-side method embodiments section; repeated details will not be elaborated upon. Please refer to [link to relevant documentation]. Figure 4 The device includes:
[0215] The receiving unit 401 is configured to receive order information from a user; wherein the order information includes an application identifier and a delivery identifier for a specified application designated by the user, and the delivery identifier is used to indicate the delivery method of the specified application;
[0216] The acquisition unit 402 is configured to determine relevant information for deploying the specified application based on the order information; wherein the relevant information includes the delivery identifier;
[0217] Deployment unit 403 is configured to transmit the relevant information to the PaaS platform, so that the PaaS platform can deploy the application using the corresponding application model according to the relevant information to obtain the specified application, and send the deployment result of the specified application to the SaaS platform;
[0218] The sending unit 404 is configured to receive the deployment result and provide corresponding feedback information to the user based on the deployment result.
[0219] In one possible implementation, the acquisition unit 402 is specifically configured as follows:
[0220] A retrieval instruction is generated based on the order information;
[0221] The retrieval command is sent to the application repository, causing the application repository to retrieve the description information of the specified application; wherein, the application repository is shared by the SaaS platform and the PaaS platform;
[0222] The description information is obtained from the application repository, and the description information and the delivery identifier are used as the relevant information.
[0223] In one possible implementation, the acquisition unit 402 is further configured to:
[0224] The user operation performed by the user is determined based on the operation identifier carried in the order information; wherein, the user operation includes a purchase operation and a trial operation.
[0225] In one possible implementation, the acquisition unit 402 is further configured to:
[0226] Before determining the relevant information for deploying the specified application, if it is determined that the user operation is a purchase operation, then return to the payment page and allow the user to make payment on the payment page;
[0227] After confirming that the user has completed the payment on the payment page, the order information is reviewed.
[0228] In one possible implementation, the transmitting unit 404 is further configured to:
[0229] When the delivery identifier is address delivery, the deployment result is the application address where the specified application is deployed locally. The application address is provided to the user as feedback information, so that the user can access the application through the application address.
[0230] When the delivery identifier is an image program delivery, the deployment result is an image file of the specified application. The image file is provided to the user as feedback information, so that the user can install the specified application in the required environment using the image file.
[0231] When the delivery identifier is for a specified environment delivery, the order information also includes the interface address of the container specified by the user; the deployment result is that the specified application has been deployed in the container, and the user is provided with the feedback information that the specified application has been deployed in the container to notify the user that the specified application has been deployed in the container.
[0232] In one possible implementation, the acquisition unit 402 is further configured to:
[0233] When the delivery identifier is address delivery, if the application type of the specified application is a multi-tenant application, a corresponding user account and password will be created when the next new order for purchasing the specified application is received;
[0234] The user account, password, and address of the specified application are returned to the user corresponding to the new order.
[0235] In one possible implementation, the acquisition unit 402 is further configured to:
[0236] The user account and password are automatically assigned to the user corresponding to the new order;
[0237] The user account and password are encapsulated in the tenant interface of the specified application.
[0238] In one possible implementation, the device further includes a detection unit 405, which is configured to:
[0239] The validity period of the user account is checked periodically;
[0240] When it is detected that the user account has expired and has not been renewed, the user account will be set to an invalid state, making the user account inaccessible.
[0241] Based on the same inventive concept, one embodiment of this disclosure provides an apparatus for deploying applications in a Software as a Service (SaaS) platform, applied to a Platform as a Service (PaaS) platform. The PaaS platform includes a SaaS platform existing in the form of applications. For a detailed implementation of the application deployment method of this apparatus in the SaaS platform, please refer to the description in the PaaS platform-side method embodiment section. Repeated descriptions will not be repeated here. Please refer to [link to relevant documentation]. Figure 5 The device includes:
[0242] The receiving unit 501 is configured to receive information related to the deployment of a specified application sent by the SaaS platform; wherein the specified application is determined from order information received from the SaaS platform, and the relevant information includes a delivery identifier of the specified application;
[0243] Deployment unit 502 is configured to deploy the application using the corresponding application model based on the relevant information, thereby obtaining the specified application;
[0244] Sending unit 503 is configured to send the deployment result of the specified application to the SaaS platform, so that the SaaS platform provides the corresponding feedback information to the user corresponding to the order information based on the deployment result.
[0245] In one possible implementation, the deployment unit 502 is configured to:
[0246] The application model is obtained from the application model library based on the relevant information.
[0247] The deployment location of the specified application is determined based on the delivery identifier;
[0248] The specified application is deployed at the deployment location using the application model, thereby obtaining the specified application.
[0249] In one possible implementation, the deployment unit 502 is further configured to:
[0250] When the delivery identifier is address delivery or image program delivery, the deployment location is local;
[0251] When the delivery identifier is for a specified environment delivery, the relevant information also includes the interface address of the container specified by the user, and the deployment location is the container.
[0252] In one possible implementation, the deployment unit 502 is further configured to:
[0253] When the delivery identifier indicates that the image program has been delivered, the corresponding image file is generated after obtaining the specified application.
[0254] In one possible implementation, the deployment unit 502 is further configured to:
[0255] When the delivery identifier is the specified environment delivery, the specified application is deployed in the container through the application model to obtain the specified application.
[0256] In one possible implementation, the deployment unit 502 is further configured to:
[0257] When the delivery identifier is delivered to the address, extract the resource information required by the specified application from the application model;
[0258] Determine whether the remaining resources in the underlying resources meet the resource requirements in the resource information;
[0259] If the conditions are met, the resource corresponding to the resource information is obtained from the underlying resources, and the specified application is deployed on the resource to obtain the specified application.
[0260] In one possible implementation, the deployment unit 502 is further configured to:
[0261] If the remaining resources do not meet the requirements of the resource information, an error message is returned to the SaaS platform to indicate that the deployment of the specified application has failed.
[0262] In one possible implementation, the apparatus further includes a publishing unit 504, which is configured to:
[0263] Once the application model of the specified application is created, the specified application is pushed to the application repository, so that the specified application is published in the corresponding merchant's application store.
[0264] In one possible implementation, the publishing unit 504 is further configured to:
[0265] Receive merchant information registered in the SaaS platform by the merchant who created the application model, as well as the configuration information of the application store created;
[0266] Based on the merchant information and the application store configuration information, configure the delivery environment corresponding to the application store on the PaaS platform and associate the application store.
[0267] Based on the same inventive concept, this disclosure provides an apparatus for deploying applications in a Software as a Service (SaaS) platform, comprising: at least one processor, and
[0268] Memory connected to the at least one processor;
[0269] The memory stores instructions that can be executed by the at least one processor. The at least one processor executes the instructions stored in the memory to perform the application deployment method in the Software as a Service platform as described above on the SaaS platform side or PaaS platform side.
[0270] Based on the same inventive concept, this disclosure also provides a readable storage medium, comprising:
[0271] memory,
[0272] The memory is configured to store instructions that, when executed by a processor, cause a device including the readable storage medium to perform the application deployment method in a Software as a Service platform as described above on the SaaS platform side or PaaS platform side.
[0273] Those skilled in the art will understand that embodiments of this disclosure can be provided as methods, systems, or computer program products. Therefore, embodiments of this disclosure can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, embodiments of this disclosure can take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0274] This disclosure is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this disclosure. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart illustrations. Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.
[0275] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.
[0276] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.
[0277] Obviously, those skilled in the art can make various modifications and variations to this disclosure without departing from its spirit and scope. Therefore, if such modifications and variations fall within the scope of the claims of this disclosure and their equivalents, this disclosure is also intended to include such modifications and variations.
Claims
1. A method for deploying applications in a Software as a Service (SaaS) platform, wherein, The SaaS platform exists as an application within the Platform as a Service (PaaS) platform, and the method includes: Receive user order information; wherein, the order information includes the application identifier and delivery identifier of the specified application designated by the user, and the delivery identifier is used to indicate the delivery method of the specified application; Based on the order information, determine the relevant information for deploying the specified application; wherein, the relevant information includes the delivery identifier; The relevant information is transmitted to the PaaS platform, which then deploys the application based on the application model corresponding to the relevant information to obtain the specified application, and sends the deployment result of the specified application to the SaaS platform. Receive the deployment results and provide corresponding feedback information to the user based on the deployment results; The provision of corresponding feedback information to the user based on the deployment results includes: When the delivery identifier is address delivery, the deployment result is the application address where the specified application is deployed locally. The application address is provided to the user as feedback information, so that the user can access the application through the application address. Alternatively, when the delivery identifier is an image program delivery, the deployment result is an image file of the specified application, and the image file is provided to the user as feedback information, so that the user can install the specified application in the required environment through the image file; Alternatively, when the delivery identifier is for a specified environment delivery, the order information may also include the interface address of the container specified by the user; the deployment result is that the specified application has been deployed in the container, and the user is provided with the feedback information that the specified application has been deployed in the container to notify the user that the specified application has been deployed in the container.
2. The method as described in claim 1, wherein, Based on the order information, determine the relevant information for deploying the specified application, including: A retrieval instruction is generated based on the order information; The retrieval command is sent to the application repository, causing the application repository to retrieve the description information of the specified application; wherein, the application repository is shared by the SaaS platform and the PaaS platform; The description information is obtained from the application repository, and the description information and the delivery identifier are used as the relevant information.
3. The method as described in claim 1, wherein, Before receiving the deployment result and providing corresponding feedback information to the user based on the deployment result, the process further includes: The user operation performed by the user is determined based on the operation identifier carried in the order information; wherein, the user operation includes a purchase operation and a trial operation.
4. The method of claim 3, wherein, After determining the user operation performed by the user, the method further includes: Before determining the relevant information for deploying the specified application, if it is determined that the user operation is a purchase operation, then return to the payment page and allow the user to make payment on the payment page; After confirming that the user has completed the payment on the payment page, the order information is reviewed.
5. The method according to any one of claims 1-4, wherein, After receiving the deployment result and providing corresponding feedback information to the user based on the deployment result, the method further includes: When the delivery identifier is address delivery, if the application type of the specified application is a multi-tenant application, a corresponding user account and password will be created when the next new order for purchasing the specified application is received; The user account, password, and address of the specified application are returned to the user corresponding to the new order.
6. The method of claim 5, wherein, Create the corresponding user account and password, including: The user account and password are automatically assigned to the user corresponding to the new order; The user account and password are encapsulated in the tenant interface of the specified application.
7. The method of claim 5, wherein, After returning the user account, password, and the address of the specified application to the user corresponding to the new order, the method further includes: The validity period of the user account is checked periodically; When it is detected that the user account has expired and has not been renewed, the user account will be set to an invalid state, making the user account inaccessible.
8. A method for deploying applications in a Software as a Service (SaaS) platform, applied to a Platform as a Service (PaaS) platform, wherein, The PaaS platform includes a Software as a Service (SaaS) platform that exists in the form of applications, and the method includes: Receive information from the SaaS platform regarding the deployment of a specified application; wherein the specified application is determined from order information received from the SaaS platform, and the relevant information includes the delivery identifier of the specified application; Based on the relevant information, the application is deployed using the corresponding application model to obtain the specified application; The deployment results of the specified application are sent to the SaaS platform, so that the SaaS platform provides the corresponding feedback information to the user corresponding to the order information based on the deployment results; Specifically, the deployment results of the specified application are sent to the SaaS platform, enabling the SaaS platform to provide corresponding feedback information to the user corresponding to the order information based on the deployment results, including: When the delivery identifier is address delivery, the deployment result is the application address where the specified application is deployed locally. The application address is provided to the user as feedback information, so that the user can access the application through the application address. Alternatively, when the delivery identifier is an image program delivery, the deployment result is an image file of the specified application, and the image file is provided to the user as feedback information, so that the user can install the specified application in the required environment through the image file; Alternatively, when the delivery identifier is for a specified environment delivery, the order information may also include the interface address of the container specified by the user; the deployment result is that the specified application has been deployed in the container, and the user is provided with the feedback information that the specified application has been deployed in the container to notify the user that the specified application has been deployed in the container.
9. The method of claim 8, wherein, Based on the aforementioned information, the application is deployed using the corresponding application model to obtain the specified application, including: The application model is obtained from the application model library based on the relevant information. The deployment location of the specified application is determined based on the delivery identifier; The specified application is deployed at the deployment location using the application model, thereby obtaining the specified application.
10. The method of claim 9, wherein, Determining the deployment location of the specified application based on the delivery identifier includes: When the delivery identifier is address delivery or image program delivery, the deployment location is local; When the delivery identifier is a specified environment delivery, the deployment location is the container.
11. The method of claim 10, wherein, After obtaining the specified application, the process also includes: When the delivery identifier indicates that the image program has been delivered, the corresponding image file is generated after obtaining the specified application.
12. The method of claim 10, wherein, Deploying the specified application at the deployment location using the application model to obtain the specified application includes: When the delivery identifier is the specified environment delivery, the specified application is deployed in the container through the application model to obtain the specified application.
13. The method of claim 10, wherein, Deploying the specified application at the deployment location using the application model to obtain the specified application includes: When the delivery identifier is delivered to the address, extract the resource information required by the specified application from the application model; Determine whether the remaining resources in the underlying resources meet the resource requirements in the resource information; If the conditions are met, the resource corresponding to the resource information is obtained from the underlying resources, and the specified application is deployed on the resource to obtain the specified application.
14. The method of claim 13, wherein, After determining whether the remaining resources in the underlying resources meet the resource requirements in the resource information, the process further includes: If the remaining resources do not meet the requirements of the resource information, an error message is returned to the SaaS platform to indicate that the deployment of the specified application has failed.
15. The method according to any one of claims 8-14, wherein, Based on the aforementioned relevant information, the application is deployed using the corresponding application model. Before obtaining the specified application, the process further includes: Once the application model of the specified application is created, the specified application is pushed to the application repository, so that the specified application is published in the corresponding merchant's application store.
16. The method of claim 15, wherein, Before pushing the specified application to the application repository, the process also includes: Receive merchant information registered in the SaaS platform by the merchant who created the application model, as well as the configuration information of the application store created; Based on the merchant information and the application store configuration information, configure the delivery environment corresponding to the application store on the PaaS platform and associate the application store.
17. The method of claim 15, wherein, After pushing the specified application to the application repository, the process includes: Receive a publishing instruction for the specified application, the publishing instruction being configured to publish the specified application to the app store; The description file of the specified application is parsed to obtain the components contained in the description file and the logical relationships between the calls between the components; The services corresponding to each component are started sequentially according to the logical relationship described above.
18. An apparatus for deploying applications in a Software as a Service (SaaS) platform, wherein, The SaaS platform exists as an application within the Platform as a Service (PaaS) platform, and the SaaS platform includes: The receiving unit is configured to receive order information from a user; wherein the order information includes an application identifier and a delivery identifier for a specified application designated by the user, and the delivery identifier is used to indicate the delivery method of the specified application; The acquisition unit is configured to determine relevant information for deploying the specified application based on the order information; wherein the relevant information includes the delivery identifier; The deployment unit is configured to transmit the relevant information to the PaaS platform, so that the PaaS platform can deploy the application according to the relevant information using the corresponding application model to obtain the specified application, and send the deployment result of the specified application to the SaaS platform. The sending unit is configured to receive the deployment result and provide corresponding feedback information to the user based on the deployment result; The provision of corresponding feedback information to the user based on the deployment results includes: When the delivery identifier is address delivery, the deployment result is the application address where the specified application is deployed locally. The application address is provided to the user as feedback information, so that the user can access the application through the application address. Alternatively, when the delivery identifier is an image program delivery, the deployment result is an image file of the specified application, and the image file is provided to the user as feedback information, so that the user can install the specified application in the required environment through the image file; Alternatively, when the delivery identifier is for a specified environment delivery, the order information may also include the interface address of the container specified by the user; the deployment result is that the specified application has been deployed in the container, and the user is provided with the feedback information that the specified application has been deployed in the container to notify the user that the specified application has been deployed in the container.
19. An apparatus for deploying applications in a Software as a Service (SaaS) platform, applied to a Platform as a Service (PaaS) platform, wherein, The PaaS platform includes a Software as a Service (SaaS) platform that exists in the form of applications. The PaaS platform includes: The receiving unit is configured to receive information related to the deployment of a specified application sent by the SaaS platform; wherein the specified application is determined from order information received from the SaaS platform, and the relevant information includes a delivery identifier of the specified application; The deployment unit is configured to deploy the application using the corresponding application model based on the relevant information, thereby obtaining the specified application; The sending unit is configured to send the deployment results of the specified application to the SaaS platform, so that the SaaS platform provides the corresponding feedback information to the user corresponding to the order information based on the deployment results; Specifically, the deployment unit is used for: When the delivery identifier is address delivery, the deployment result is the application address where the specified application is deployed locally. The application address is provided to the user as feedback information, so that the user can access the application through the application address. Alternatively, when the delivery identifier is an image program delivery, the deployment result is an image file of the specified application, and the image file is provided to the user as feedback information, so that the user can install the specified application in the required environment through the image file; Alternatively, when the delivery identifier is for a specified environment delivery, the order information may also include the interface address of the container specified by the user; the deployment result is that the specified application has been deployed in the container, and the user is provided with the feedback information that the specified application has been deployed in the container to notify the user that the specified application has been deployed in the container.
20. An apparatus for deploying applications in a Software as a Service (SaaS) platform, wherein, include: At least one processor, and Memory connected to the at least one processor; The memory stores instructions executable by the at least one processor, which executes the method as described in any one of claims 1-17 by executing the instructions stored in the memory.
21. A readable storage medium, wherein, Including memory, The memory is configured to store instructions that, when executed by a processor, cause a device including the readable storage medium to perform the method as described in any one of claims 1 to 17.