Cloud application management method and apparatus, storage medium, and electronic device

CN116800735BActive Publication Date: 2026-10-30TENCENT TECHNOLOGY (SHENZHEN) CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202210257975.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-03-16
Publication Date
2026-10-30
Estimated Expiration
2042-03-16

AI Technical Summary

Technical Problem

但是,为使用者提供软件服务化交易的平台的应用管理流程复杂,耦合度高,并且缺少可靠性保证方案,从而导致鲁棒性不高

Benefits of technology

[0018]本申请提供的云应用管理方法可以在各种云环境中自动对各ISV提供的SaaS服务进行录入,并对录入后的SaaS服务进行集中展示,在获取到针对某一SaaS服务的需求信息的情况下,自动触发建立该SaaS服务的使用链路,以便使用者可以直接消费该SaaS服务,也就是说,本申请实施例的云应用管理方法实质上提供了一种云环境下针对SaaS服务的应用商店,为查询、浏览、购买、使用、订购等有关SaaS服务的操作提供了统一平台。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116800735B_ABST
    Figure CN116800735B_ABST
Patent Text Reader

Abstract

Embodiments of the present application disclose a cloud application management method and device, a storage medium and an electronic device. The method is applied to a cloud application management server, and the cloud application management server comprises an application service manager, an application instance manager and an application access manager. In response to obtaining an application service entry request, the application service manager generates a feedback corresponding record to trigger an application display end to display the application service, generates an instance trigger request for the application service, and transmits the instance trigger request to the application instance manager. The application instance manager generates an instance parameter in response to the instance trigger request, and sends the instance parameter to the application access manager. The application access manager transmits the instance parameter to a source server, and triggers the source server to generate and deploy an instance according to the instance parameter. The present application can efficiently, stably and reliably provide SaaS services.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of computer technology, and in particular to cloud application management methods, apparatus, storage media and electronic devices. Background Technology

[0002] Software as a Service (SaaS) is a relatively new service delivery method. Service providers build all the necessary network infrastructure, software, and hardware operating platforms for information technology, and are responsible for all services, including initial implementation and subsequent maintenance. Users only need to purchase the service to enjoy it via the internet without worrying about maintenance details, thus significantly reducing costs. However, the application management processes of platforms providing SaaS transactions are complex, highly coupled, and lack reliability assurance mechanisms, resulting in low robustness. Summary of the Invention

[0003] In order to reduce the complexity of authentication and authorization processes on software service transaction platforms and provide users with fine-grained cloud application management, embodiments of this application provide cloud application management methods, apparatus, storage media, and electronic devices.

[0004] On one hand, embodiments of this application provide a cloud application management method applied to a cloud application management server, the cloud application management server including an application service manager, an application instance manager, and an application access manager, the method including:

[0005] In response to receiving an application service entry request, the application service manager generates a record corresponding to the application service, wherein the application service entry request includes the address of the source server that provides the application service;

[0006] In response to receiving an application display request from the application display client, the application service manager returns the record to trigger the application display client to display the application service;

[0007] In response to receiving a request for the application service from the application display terminal, the application service manager generates an instance trigger request for the application service and transmits the instance trigger request to the application instance manager.

[0008] The application instance manager generates instance parameters in response to the instance trigger request and sends the instance parameters to the application access manager;

[0009] The application access manager transmits the instance parameters to the address of the source server, thereby triggering the source server to generate and deploy an instance according to the instance parameters.

[0010] On the other hand, embodiments of this application provide a cloud application management device applied to a cloud application management server, the device including: an application service manager, an application instance manager, and an application access manager;

[0011] The application service manager is used to generate a record corresponding to the application service in response to receiving an application service entry request. The application service entry request includes the address of the source server for providing the application service. In response to receiving an application display request from the application display terminal, the manager feeds back the record to trigger the application display terminal to display the application service.

[0012] The application service manager is also configured to, in response to receiving demand information for the application service from the application display terminal, generate an instance trigger request for the application service and transmit the instance trigger request to the application instance manager;

[0013] The application instance manager is used to generate instance parameters in response to the instance trigger request and send the instance parameters to the application access manager;

[0014] The application access manager is used to transmit the instance parameters to the address of the source server, so as to trigger the source server to generate and deploy an instance according to the instance parameters.

[0015] On the other hand, embodiments of this application provide a computer-readable storage medium storing at least one instruction or at least one program, wherein the at least one instruction or at least one program is loaded and executed by a processor to implement the cloud application management method described above.

[0016] On the other hand, embodiments of this application provide an electronic device, including at least one processor and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, and the at least one processor implements the aforementioned cloud application management method by executing the instructions stored in the memory.

[0017] On the other hand, embodiments of this application provide a computer program product, including a computer program or instructions, which, when executed by a processor, implement the aforementioned cloud application management method.

[0018] The cloud application management method provided in this application can automatically input SaaS services provided by various ISVs in various cloud environments and centrally display the input SaaS services. When the demand information for a certain SaaS service is obtained, the usage link of the SaaS service is automatically triggered so that users can directly consume the SaaS service. In other words, the cloud application management method of this application embodiment essentially provides an application store for SaaS services in a cloud environment, providing a unified platform for operations such as querying, browsing, purchasing, using, and ordering SaaS services.

[0019] Furthermore, in the implementation of this application embodiment, the various managers can communicate in a decoupled manner, and multiple reliability assurance mechanisms are set up to ensure the reliability of communication, thereby presenting an efficient, fast, and stable SaaS service platform. Attached Figure Description

[0020] To more clearly illustrate the technical solutions and advantages in the embodiments of this application or related technologies, the drawings used in the description of the embodiments or related technologies will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0021] Figure 1 This is a schematic diagram of the cloud service framework provided in the embodiments of this specification;

[0022] Figure 2 This is a flowchart illustrating a cloud application management method provided in the embodiments of this specification;

[0023] Figure 3 This is the first schematic diagram of cloud application management provided in the embodiments of this application;

[0024] Figure 4 This is the second schematic diagram of cloud application management provided in the embodiments of this application;

[0025] Figure 5 This is the third schematic diagram of cloud application management provided in the embodiments of this application;

[0026] Figure 6 This is the fourth schematic diagram of cloud application management provided in the embodiments of this application;

[0027] Figure 7 This is the fifth schematic diagram of cloud application management provided in the embodiments of this application;

[0028] Figure 8 This is a block diagram of the cloud application management device provided in the embodiments of this application;

[0029] Figure 9 This is a schematic diagram of the hardware structure of a device for implementing the method provided in the embodiments of this application. Detailed Implementation

[0030] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those of ordinary skill in the art without creative effort are within the protection scope of the embodiments of this application.

[0031] It should be noted that the terms "first," "second," etc., in the specification, claims, and accompanying drawings of the embodiments of this application are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that embodiments of the present application described herein can be implemented in orders other than those illustrated or described herein. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion; for example, a process, method, system, product, or server that includes a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to these processes, methods, products, or devices.

[0032] To make the objectives, technical solutions, and advantages disclosed in the embodiments of this application clearer, the embodiments of this application will be further described in detail below with reference to the accompanying drawings and examples. It should be understood that the specific embodiments described herein are merely illustrative of the embodiments of this application and are not intended to limit the embodiments of this application.

[0033] Hereinafter, the terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of indicated technical features. Therefore, a feature defined as "first" or "second" may explicitly or implicitly include one or more of that feature. In the description of this embodiment, unless otherwise stated, "multiple" means two or more. To facilitate understanding of the above-described technical solutions and their resulting technical effects in the embodiments of this application, the embodiments of this application first explain the relevant technical terms:

[0034] Cloud technology refers to a hosting technology that unifies hardware, software, and network resources within a wide area network (WAN) or local area network (LAN) to achieve data computation, storage, processing, and sharing. It encompasses network technologies, information technologies, integration technologies, management platform technologies, and application technologies based on cloud computing business models. These technologies can form resource pools, allowing for flexible and convenient on-demand use. Cloud computing technology will become a crucial support. Backend services of technical network systems require substantial computing and storage resources, such as video websites, image websites, and many portal websites. With the rapid development and application of the internet industry, every item may have its own identification mark in the future, requiring data to be transmitted to backend systems for logical processing. Different levels of data will be processed separately, and various industry data will require robust system support, which can only be achieved through cloud computing.

[0035] Software as a Service (SaaS). A SaaS platform is a platform for managing SaaS software. SaaS providers build all the network infrastructure and software / hardware operating platforms needed for enterprise IT infrastructure, and are responsible for all pre-implementation and post-maintenance services. Enterprises can use information systems via the internet without purchasing hardware and software, building server rooms, or hiring computer professionals. SaaS is a software deployment model whose applications are designed for network delivery, facilitating hosting, deployment, and access via the internet.

[0036] SaaS Applications: SaaS applications are a model where software is delivered over the internet. Users no longer need to purchase software but instead rent web-based software from a provider to manage their business operations. Furthermore, users do not need to maintain the software, as the service provider manages and maintains it entirely. In this application's embodiments, SaaS applications originate from public clouds, private clouds, and hybrid clouds. SaaS products can be provided by corresponding service providers (ISVs). The services purchased by users may be self-developed applications or applications from relevant service providers. Service providers need to complete the entire delivery process and provide the corresponding SaaS services according to the framework standards of this application's embodiments.

[0037] In related technologies, it is difficult to provide users with trading platforms that offer highly reliable and loosely coupled software services. Therefore, this application provides a cloud application management method. This method can automatically input SaaS services provided by various ISVs in various cloud environments and centrally display the input SaaS services. When it obtains user demand information for a certain SaaS service, it automatically triggers the establishment of a usage link for that SaaS service so that the user can directly consume the SaaS service. In other words, the cloud application management method of this application essentially provides an application store for SaaS services in a cloud environment, providing a unified platform for operations such as querying, browsing, purchasing, using, and ordering SaaS services.

[0038] The methods provided in this application embodiment may involve blockchain, meaning that the methods provided in this application embodiment can be implemented based on blockchain, or the data involved in the methods provided in this application embodiment can be stored based on blockchain, or the execution object of the methods provided in this application embodiment can be located in blockchain. Blockchain is a new application model of computer technologies such as distributed data storage, peer-to-peer transmission, consensus mechanisms, and encryption algorithms. Essentially, a blockchain is a decentralized database, a chain of data blocks linked using cryptographic methods. Each data block contains information about a batch of network transactions, used to verify the validity of the information (anti-counterfeiting) and generate the next block. A blockchain may include a blockchain underlying platform, a platform product service layer, and an application service layer.

[0039] This application's embodiments can be applied to public cloud, private cloud, or hybrid cloud scenarios. A private cloud is created within a firewall, housing cloud infrastructure and hardware / software resources for 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 refers to the user's own computers or servers, not 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 computers or servers of individuals or enterprises are sufficient to provide cloud services.

[0040] Public cloud typically refers to a cloud service provided by a third-party provider to users. Public clouds are generally accessible via the Internet and may be free or inexpensive. The core function of a public cloud is resource sharing. Many instances of this type of cloud exist, providing services across today's open public networks.

[0041] Hybrid cloud, which combines public cloud and private cloud, has become a major model and development direction of cloud computing in recent years. Private cloud primarily targets enterprises, who prefer to store data there for security reasons, but also desire access to public cloud computing resources. Hybrid cloud is increasingly adopted in this context, combining and matching public and private cloud resources to achieve optimal results. This personalized solution achieves both cost-effectiveness and security.

[0042] Public clouds, private clouds, or hybrid clouds can all be used to deploy various applications. Applications published, sold, or operated through public clouds, private clouds, or hybrid clouds are called cloud applications. This application's embodiments are not limited to the fields related to cloud applications; for example, they may involve cloud IoT, cloud calling, cloud security, cloud social networking, cloud healthcare, cloud computing, cloud storage, etc.

[0043] In one embodiment, this application can be applied to a cloud service framework, the architecture of which is shown in the figure below. Figure 1 As shown, this cloud service framework includes supporting tools, an application service manager (application marketplace), an application instance manager (instance center), and basic service tools.

[0044] The basic service tools include core components such as the account center and billing center. The account center handles basic operations such as account information, login management, registration, and activation. The permission center manages the permission system of the hybrid cloud platform. The billing center includes core functions such as the billing center, order center, and payment management. The order center handles the entire application purchase process for a user's account, including order placement, payment, instance delivery notification, refunds, and cloud marketplace integration. Users browse applications through the product center in the application module, click to purchase, place an order through the order center, pay, and upon successful payment, the order notification center handles the delivery logic. The billing center handles the billing information after order payment.

[0045] The application marketplace enables unified management and configuration of products from various sources, including SaaS applications. In this embodiment, if products originate from different clouds, the aforementioned cloud service framework constitutes a hybrid cloud framework. The scenarios involving products in the application marketplace include importing from the cloud, reviewing, listing, delisting, and selling, all of which involve the application marketplace itself. Products can be listed via public or private clouds; that is, the hybrid cloud framework provides a unified product listing interface for both public and private clouds. The application marketplace also provides services for product information display and maintenance, serving as a crucial link in the entire product information maintenance process, achieving unified maintenance of product information for both public and private cloud products.

[0046] The Instance Center is responsible for managing application instance information after a user purchases a SaaS application. This includes instance management, covering basic information such as instance details, access addresses, and expiration dates. It serves as the entry point for users to access and purchase SaaS applications. In a hybrid cloud environment, it connects with cloud marketplaces and service providers. The Instance Center controls the lifecycle of purchased SaaS products, including instance delivery, renewal, expiration, configuration upgrades, and shutdown. The Instance Center handles all subsequent processes after purchase, making it a core component of the product delivery process.

[0047] The Access Center, also known as the Application Access Manager, is responsible for connecting with public and private cloud service providers, streamlining delivery integration, interface verification, data integration, and information synchronization. As a management center in a hybrid cloud scenario, the Access Center facilitates functional integration, primarily connecting with local service providers (ISVs) for the entire process of service activation, renewal, upgrade, expiration, and destruction. When an instance center delivers local services, it integrates with the business side, calling the Access Center. The Access Center then notifies the service provider to process the delivery, the service provider returns delivery information, the instance center verifies the delivery information, and returns the information to itself, completing the entire delivery process.

[0048] Supporting tools include those for maintaining the framework's logs, managing the call chain, and managing transportation tools, in order to support the framework's efficient operation.

[0049] To support the operation of the aforementioned tools and managers, the framework also includes a lower-level IaaS layer and a middle-level foundational component layer. In a specific embodiment, the framework can support the automatic access and implementation of SaaS services in a hybrid cloud model. It enables the automatic access, service entry, service listing, service purchase, and automatic service delivery of third-party SaaS applications in a hybrid cloud environment. Users can purchase applications through the application marketplace. After purchase, the instance center delivers the application, connecting with the ISV to provide the service. The product access side includes processes such as SaaS application creation, renewal, upgrade, destruction, and expiration, thereby achieving automatic delivery of SaaS applications locally and through the instance center.

[0050] The following describes a cloud application management method according to an embodiment of this application. Figure 2 The illustration shows a flowchart of a cloud application management method provided in an embodiment of this application. The method is applied to a cloud application management server, which includes an application service manager, an application instance manager, and an application access manager.

[0051] In a specific embodiment, the Application Service Manager (Application Marketplace) comprises three parts: application entry, application management, and application sales. The Application Marketplace is responsible for the entry and listing of cloud-based and local SaaS services in the product center. Once a local application is listed, it can be purchased and ordered in the product center. Specifically, the application entry module handles the entry and integration of local SaaS applications, including entry debugging, covering core processes such as instance creation, renewal, expiration, and destruction. Once entry and debugging are complete, the product entry is finished. The application management module handles the listing, publishing, and delisting of SaaS applications after entry. After listing and publishing, applications can be ordered and purchased in the application market. The application sales module displays applications in the application sales center after publication, allowing users to view, order, and purchase them; it serves as the entry point for users to purchase applications.

[0052] The Application Instance Manager (Instance Center) is responsible for managing the instances after a user purchases an application, including core processes such as instance creation, renewal, and expiration, as well as core aspects such as instance information maintenance, lifecycle management, and instance access.

[0053] This application provides the method operation steps as described in the embodiments or flowcharts, but based on conventional or non-inventive labor, more or fewer operation steps may be included. The order of steps listed in the embodiments is merely one possible execution order among many steps and does not represent the only execution order. In actual systems, terminal devices, or server products, the method can be executed sequentially or in parallel (e.g., in a parallel processor or multi-threaded processing environment) as shown in the embodiments or drawings. The above method may include:

[0054] S101. In response to receiving an application service entry request, the application service manager generates a record corresponding to the application service. The application service entry request includes the address of the source server used to provide the application service.

[0055] This application embodiment supports the process of service entry, listing, order placement, delivery notification, and delivery results from ISVs. Service entry includes debugging related to the ISV's SaaS service, specifically including core operations such as creation, renewal, expiration, and destruction. After entry, the service can be listed and published locally, allowing users to purchase it. The application marketplace receives application service entry requests from ISVs, assists the ISVs in completing the entry process, and generates a record corresponding to the service provided by the ISV. The purpose of including the address of the source server providing the application service in the application service entry request is that after a user purchases the service, a message can be sent to that address to trigger the ISV to provide the corresponding service to the user.

[0056] Please refer to Figure 3 This diagram illustrates the first aspect of cloud application management. ISV services can be of two types: providing local SaaS services and ecosystem SaaS services. The former is a service originating from the aforementioned framework, while the latter is a third-party service. Correspondingly, the application service entry request also includes application service types, which can be either a first type or a second type. The application service corresponding to the first type is a service originating from the cloud application management server (local SaaS service), while the application service corresponding to the second type is not a service originating from the cloud application management server (ecosystem SaaS service).

[0057] S102. In response to receiving an application display request from the application display client, the application service manager returns the aforementioned record to trigger the application display client to display the aforementioned application service.

[0058] When the aforementioned application service is entered, the application service manager can list the application service as a product. After listing, it will respond to application display requests from the application display client. The application service manager will then provide the aforementioned record to trigger the application display client to display the application service. The application display client is the client held by the user, who can view the listed products by accessing the application service manager.

[0059] S103. In response to receiving the request information for the application service from the application display terminal, the application service manager generates an instance trigger request for the application service and transmits the instance trigger request to the application instance manager.

[0060] When a user purchases an application service, they can pay for that application service. After the payment is successful, the application service manager can generate an instance trigger request for the application service based on the request information and transmit the instance trigger request to the application instance manager.

[0061] S104. The application instance manager generates instance parameters in response to the instance trigger request and sends the instance parameters to the application access manager.

[0062] In this embodiment, the application access manager is the access center.

[0063] S105. The application access manager transmits the instance parameters to the address of the source server to trigger the source server to generate and deploy an instance according to the instance parameters.

[0064] refer to Figure 3 After a user places an order, the application instance manager can generate instance parameters for the order and send a delivery notification to the access center based on the instance parameters. The access center can then trigger the ISV service provider (the address of the source server) to deliver the goods. The delivery process is based on the above instance parameters to generate and deploy the instance.

[0065] In one embodiment, the application service manager generates an instance trigger request for the application service and transmits the instance trigger request to the application instance manager, including: the application service manager generates an instance trigger request for the application service and sends the instance trigger request to the instance request management queue; the application instance manager accesses the instance request management queue to obtain the instance trigger request.

[0066] The access center transmits the instance parameters to the address of the source server to trigger the source server to generate and deploy the instance according to the instance parameters. This includes: the access center calling an asynchronous communication interface to send the instance parameters to the address of the source server to trigger the source server to asynchronously generate and deploy the instance based on the instance parameters; in response to obtaining the target address fed back by the asynchronous communication interface within a preset time, the access center returns the target address as the instance address to the application service manager to trigger the application service manager to respond with the target address as the request information; wherein, the target address is the deployment address of the instance generated by the source server based on the instance parameters.

[0067] Please refer to Figure 4 This illustrates the second diagram of cloud application management. After a user completes operations such as placing an order and making a payment, the application service manager can obtain the user's request information, which can be understood as an effective order. Based on this request information, the application service manager sends an instance trigger request to the instance request management queue. The application instance manager obtains the instance trigger request by consuming data from this queue. This design decouples the application service manager and the application instance manager, allowing them to work asynchronously and collaboratively without affecting each other.

[0068] After the Application Instance Manager transmits the instance parameters to the Application Access Manager, the Application Access Manager needs to trigger the origin server to fulfill the order, that is, to trigger the origin server to provide the SaaS service purchased by the user. Specifically, the interaction between the Application Instance Manager and the origin server is also asynchronous, thus fully decoupling them.

[0069] If the target address is received from the source server within a preset time, the application instance manager can return that target address. This target address can then be transmitted to the user's client, allowing the user to access the purchased SaaS service. After receiving the target address, the source server will deploy an instance of the SaaS service for that user at that target address for their access.

[0070] If the target address is not obtained within the preset time, a timeout message can be displayed, indicating a purchase failure. A refund can then be requested, or the seller can try requesting delivery again. Of course, during the delivery process, the ISV ensures idempotency based on the order information.

[0071] In one embodiment, after the application instance manager obtains the instance trigger request from the instance request management queue, please refer to... Figure 5 This shows the third diagram of cloud application management. Figure 5 The flowchart illustrates the shipping process, which is the process of triggering a request based on an instance and ultimately generating an instance. The method also includes:

[0072] S201. Determine the target hash identifier corresponding to the above instance trigger request.

[0073] This application does not limit the method for obtaining the target hash identifier. In one embodiment, the target hash identifier can be obtained by calling a hash-based message digest generation method based on the product content and product identifier in the instance trigger request.

[0074] S202. Query the target hash identifier in the first storage space, whereby the first storage space is used to store the hash identifiers corresponding to each request currently being processed.

[0075] In this embodiment, multiple threads can process instance triggering requests in parallel. To avoid multiple threads processing the same instance triggering request, this embodiment uses a first storage space to record the hash identifier corresponding to each request being processed. The method for generating this hash identifier is the same as described above and will not be repeated here. This embodiment is not limited to the first storage space. In one embodiment, Redis (RemoteDictionary Server) can be used. Redis is an open-source, network-enabled, in-memory or persistent log-structured key-value database.

[0076] S203. In response to the above target hash identifier being found, discard the above instance trigger request.

[0077] S204. In response to the case that the target hash identifier is not found, the target hash identifier is written to the first storage space.

[0078] If the target hash identifier is not found in the first storage space, it means that the request triggered by this instance is not currently being processed by other threads, so the processing of the request triggered by this instance begins.

[0079] S205. Query the processing record set corresponding to the target hash identifier in the second storage space. The second storage space is used to persistently store the processing records for each request.

[0080] This application does not limit the second storage space. In one embodiment, MySQL can be used. MySQL is a relational database management system and is one of the mainstream relational database management systems.

[0081] S206. In response to the above processing record set indicating that the request corresponding to the target hash identifier has been processed a preset number of times, the instance trigger request is sent to the instance request management queue, and the target hash identifier is deleted in the first storage space.

[0082] This application embodiment does not limit the preset number of times; for example, it can be set to 3 times. If it has already been processed 3 times and further processing is required in this step, it is foreseeable that it will be difficult to process successfully this time. In this case, the instance trigger request can be directly sent to the instance request management queue, and the target hash identifier can be deleted from the first storage space. The instance trigger request is returned to the request management queue. Based on the message interaction framework of this application embodiment, the instance trigger request can be treated as a new instance trigger request and reprocessed after a period of time.

[0083] S207. In response to the situation where the number of times the request corresponding to the target hash identifier has been processed has not reached the preset number, the instance pointed to by the target hash identifier is parsed to trigger a request.

[0084] S208. Perform instance service processing on the parsing results. The instance service processing includes generating instance parameters and sending the instance parameters to the access center.

[0085] S209. Record the generation processing record in the second storage space and delete the target hash identifier in the first storage space.

[0086] S210. In response to the successful processing of the above instance service, send a response indicating the successful processing of the above instance service to the above application service manager.

[0087] S211. In response to the above instance service processing failure, query the processing record set corresponding to the above target hash identifier in the second storage space.

[0088] S212. In response to the above processing record set indicating that the request corresponding to the target hash identifier has been processed a preset number of times, the above instance trigger request is sent to the above instance request management queue, and the above target hash identifier is deleted in the above first storage space.

[0089] S213. In response to the situation where the number of times the request corresponding to the target hash identifier has been processed has not reached the preset number, a response indicating that the instance service processing will be retried is sent to the application service manager, and the steps of performing instance service processing on the parsing result are returned.

[0090] Please refer to Figure 6 This shows the fourth diagram of cloud application management. Figure 6 and Figure 5 Both represent the information processing flow in the shipping process. The database and message queue (MQ) both represent the second storage space as MySQL, and the preset number of iterations is defined as 3. Figure 5 and Figure 6The process steps within this framework ensure reliable delivery. Specifically, instance-triggered requests are managed in a queue and can be returned to the queue for future processing after a failure. Multiple threads are used for message processing, and each thread has a mechanism to prevent duplicate processing. During processing, a hash operation is performed to determine if the message is currently being processed. If not, the message is persisted, and it is checked whether it has been processed a preset number of times. If not, business logic is executed. After processing, the result is reported. Successful messages are consumed and deleted; failed messages are returned to the queue for retry.

[0091] During the delivery process, message interaction is required between the application access manager and the source server (ISV service provider). To ensure the reliability of this message interaction, this embodiment of the application can include the source server's address (URL, or Uniform Resource Locator) and token information in the application service entry request during the ISV service provider's application service entry process. The cloud application management server records this URL and token information. During the delivery process, the application access manager, carrying this URL, requests the timestamp information, event identifier information, token information, and signature information required for delivery from the source server for verification. Delivery can proceed only if the verification is successful.

[0092] Please refer to Figure 7 This illustrates the fifth diagram of cloud application management. Specifically, during the verification phase, the source server can check for timeout based on the timestamp information. If no timeout has occurred, it can sort the token information, timestamp information, and event identifier information in reverse lexicographical order, encrypt the results, and then compare the encrypted data with the signature information. If the comparison passes, the verification is successful. By setting this verification strategy, the reliability of message interaction is ensured.

[0093] This application's embodiments are particularly suitable for use in hybrid cloud scenarios. Hybrid cloud integrates public and private clouds, representing a major development model and direction for cloud technology. From a user group perspective, public cloud caters to individuals and enterprises, while private cloud primarily targets enterprises, especially large ones, which tend to prefer private cloud models while simultaneously seeking public cloud SaaS application resources. In this hybrid cloud scenario, not only can customization be satisfied, but also security and cost savings can be achieved. Hybrid cloud brings numerous advantages to enterprises, with data security and data localization being fundamental requirements. It also includes more comprehensive system construction and higher scalability. As the hybrid cloud model continues to take root, hybrid cloud platforms, combined with public cloud platforms, leverage the rich product features of public clouds. This allows users to enjoy abundant public cloud resources, including SaaS services, while also creating localized solutions. Major enterprises are increasingly adopting cloud migration for digital transformation, with traditional applications fully embracing the cloud and receiving SaaS support.

[0094] In a hybrid cloud model, SaaS applications not only originate from selected applications in the public cloud marketplace, but also from applications provided by service providers in private cloud environments and support from enterprise-owned applications. In this model, users purchase SaaS applications through a hybrid cloud platform without needing to know whether the application originates from a public or private cloud marketplace. They simply follow a standard purchase process, with the hybrid cloud platform handling the integration of different service providers and enabling SaaS delivery.

[0095] The cloud application management method provided in this application embodiment can automatically input SaaS services provided by various ISVs in various cloud environments and centrally display the input SaaS services. When the demand information for a certain SaaS service is obtained, the usage link of the SaaS service is automatically triggered so that the SaaS service can be consumed directly. In other words, the cloud application management method in this application embodiment essentially provides an application store for SaaS services in a cloud environment, providing a unified platform for operations such as querying, browsing, purchasing, using, and ordering SaaS services.

[0096] Furthermore, in the implementation of this application embodiment, the various managers can communicate in a decoupled manner, and multiple reliability assurance mechanisms are set up to ensure the reliability of communication, thereby presenting an efficient, fast, and stable SaaS service platform.

[0097] Please refer to Figure 8 The diagram shows a block diagram of a cloud application management device in this embodiment, which is applied to a cloud application management server. The device includes: an application service manager 101, an application instance manager 102, and an application access manager 103.

[0098] The application service manager 101 is used to generate a record corresponding to the application service in response to the receipt of an application service entry request. The application service entry request includes the address of the source server for providing the application service. In response to the receipt of an application display request from the application display terminal, the record is fed back to trigger the application display terminal to display the application service.

[0099] The application service manager 101 is also used to respond to receiving the request information for the application service from the application display terminal, generate an instance trigger request for the application service, and transmit the instance trigger request to the application instance manager.

[0100] The application instance manager 102 is used to generate instance parameters in response to the instance triggering request and send the instance parameters to the application access manager.

[0101] The application access manager 103 is used to transmit the instance parameters to the address of the source server, so as to trigger the source server to generate and deploy an instance according to the instance parameters.

[0102] In one embodiment, the application service entry request may further include an application service type, which may include a first type of application service or a second type of application service. The application service corresponding to the first type of application service is a service from the same origin as the cloud application management server, while the application service corresponding to the second type of application service is not a service from the same origin as the cloud application management server.

[0103] In one embodiment, the above-described apparatus is further configured to perform the following operations:

[0104] The application service manager generates an instance trigger request for the application service and sends the instance trigger request to the instance request management queue.

[0105] The application instance manager accesses the instance request management queue to obtain the instance trigger request.

[0106] The application access manager transmits the instance parameters to the address of the source server to trigger the source server to generate and deploy the instance according to the instance parameters, including:

[0107] The application access manager calls the asynchronous communication interface to send the instance parameters to the address of the source server, thereby triggering the source server to asynchronously generate and deploy the instance based on the instance parameters.

[0108] In response to the acquisition of the target address from the asynchronous communication interface within a preset time, the target address is returned as the instance address to the application service manager to trigger the application service manager to respond with the target address as the request information; wherein, the target address is the deployment address of the instance generated by the source server based on the instance parameters.

[0109] In one embodiment, the above-described apparatus is further configured to perform the following operations:

[0110] Determine the target hash identifier corresponding to the request triggered by the above instance;

[0111] The target hash identifier is queried in the first storage space, which is used to store the hash identifiers corresponding to each request currently being processed.

[0112] In response to the above target hash identifier being found, the above instance trigger request is discarded.

[0113] In one embodiment, the above-described apparatus is further configured to perform the following operations:

[0114] In response to the situation where the target hash identifier is not found, the target hash identifier is written to the first storage space.

[0115] The processing record set corresponding to the target hash identifier is queried in the second storage space. The second storage space is used to persistently store the processing records for each request.

[0116] In response to the above processing record set indicating that the request corresponding to the target hash identifier has been processed a preset number of times, the above instance trigger request is sent to the above instance request management queue, and the above target hash identifier is deleted in the above first storage space.

[0117] In one embodiment, the above-described apparatus is further configured to perform the following operations:

[0118] In response to the situation where the number of times the request corresponding to the target hash identifier has been processed has not reached the preset number, the instance pointed to by the target hash identifier is parsed to trigger a request.

[0119] The parsing results are used to perform instance business processing, which includes generating instance parameters and sending the instance parameters to the application access manager.

[0120] The generation process is recorded in the second storage space and the target hash identifier is deleted in the first storage space.

[0121] In one embodiment, the above-described apparatus is further configured to perform the following operations:

[0122] In response to the successful processing of the above instance service, a response indicating the successful processing of the above instance service is sent to the above application service manager.

[0123] In response to the above instance service processing failure, query the processing record set corresponding to the above target hash identifier in the second storage space;

[0124] In response to the above processing record set indicating that the request corresponding to the target hash identifier has been processed a preset number of times, the above instance trigger request is sent to the above instance request management queue, and the above target hash identifier is deleted in the above first storage space;

[0125] In response to the situation where the number of times the request corresponding to the target hash identifier has been processed has not reached the preset number, a response indicating that the instance service processing will be retried is sent to the application service manager, and the steps of performing instance service processing on the parsing result are returned.

[0126] Furthermore, Figure 9 A schematic diagram of a hardware structure for implementing the method provided in the embodiments of this application is shown. This device can participate in or include the apparatus or system provided in the embodiments of this application. Figure 9 As shown, device 10 may include one or more processors 102 (shown as 102a, 102b, ..., 102n in the figure) 102 (processor 102 may include, but is not limited to, a microprocessor MCU or a programmable logic device FPGA, etc.), a memory 104 for storing data, and a transmission device 106 for communication functions. In addition, it may also include: a display, an input / output interface (I / O interface), a universal serial bus (USB) port (which may be included as one of the ports of the I / O interface), a network interface, a power supply, and / or a camera. Those skilled in the art will understand that... Figure 9 The structure shown is for illustrative purposes only and does not limit the structure of the electronic device described above. For example, device 10 may also include a... Figure 9 The more or fewer components shown, or having the same Figure 9 The different configurations shown.

[0127] It should be noted that the aforementioned one or more processors 102 and / or other data processing circuits are generally referred to herein as "data processing circuits". These data processing circuits may be embodied, in whole or in part, in software, hardware, firmware, or any other combination thereof. Furthermore, the data processing circuits may be a single, independent processing module, or may be integrated, in whole or in part, into any other element within the device 10 (or mobile device). As involved in the embodiments of this application, the data processing circuits serve as a processor control mechanism (e.g., selection of a variable resistor termination path connected to an interface).

[0128] The memory 104 can be used to store software programs and modules of application software, such as the program instructions / data storage device corresponding to the method described in the embodiments of this application. The processor 102 executes various functional applications and data processing by running the software programs and modules stored in the memory 104, thereby realizing the cloud application management method described above. The memory 104 may include high-speed random access memory, and may also include non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some instances, the memory 104 may further include memory remotely located relative to the processor 102, and these remote memories can be connected to the device 10 via a network. Examples of such networks include, but are not limited to, the Internet, corporate intranets, local area networks, mobile communication networks, and combinations thereof.

[0129] The transmission device 106 is used to receive or send data via a network. Specific examples of the network described above may include a wireless network provided by the communication provider of device 10. In one example, the transmission device 106 includes a Network Interface Controller (NIC), which can connect to other network devices via a base station to communicate with the Internet. In another example, the transmission device 106 may be a radio frequency (RF) module used for wireless communication with the Internet.

[0130] The display may be, for example, a touchscreen liquid crystal display (LCD) that allows the user to interact with the interface of device 10 (or mobile device).

[0131] It should be noted that the order of the embodiments described above is merely for descriptive purposes and does not represent the superiority or inferiority of the embodiments. Furthermore, the above description focuses on specific embodiments of this application. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps described in the claims can be performed in a different order than that shown in the embodiments and still achieve the desired result. Additionally, the processes depicted in the drawings do not necessarily require a specific or sequential order to achieve the desired result. In some implementations, multitasking and parallel processing are also possible or may be advantageous.

[0132] The embodiments in this application are described in a progressive manner. Similar or identical parts between embodiments can be referred to mutually. Each embodiment focuses on describing the differences from other embodiments. In particular, the device and server embodiments are basically similar to the method embodiments, so the descriptions are relatively simple; relevant parts can be referred to the descriptions of the method embodiments.

[0133] Those skilled in the art will understand that all or part of the steps of the above embodiments can be implemented by hardware or by a program instructing related hardware. The program can be stored in a computer-readable storage medium, such as a read-only memory, a disk, or an optical disk.

[0134] The instructions in the aforementioned storage medium can execute a cloud application management method applied to a cloud application management server, which includes an application service manager, an application instance manager, and an application access manager. The method includes:

[0135] In response to receiving an application service entry request, the application service manager generates a record corresponding to the application service. The application service entry request includes the address of the source server used to provide the application service.

[0136] In response to receiving an application display request from the application display client, the application service manager returns the aforementioned record to trigger the application display client to display the aforementioned application service.

[0137] In response to receiving the request information for the application service from the application display terminal, the application service manager generates an instance trigger request for the application service and transmits the instance trigger request to the application instance manager.

[0138] The application instance manager generates instance parameters in response to the instance trigger request and sends the instance parameters to the application access manager.

[0139] The application access manager transmits the instance parameters to the address of the source server to trigger the source server to generate and deploy an instance according to the instance parameters.

[0140] In one embodiment, the application service entry request may further include an application service type, which may include a first type of application service or a second type of application service. The application service corresponding to the first type of application service is a service from the same origin as the cloud application management server, while the application service corresponding to the second type of application service is not a service from the same origin as the cloud application management server.

[0141] In one embodiment, the application service manager generates an instance trigger request for the application service and transmits the instance trigger request to the application instance manager, including:

[0142] The application service manager generates an instance trigger request for the application service and sends the instance trigger request to the instance request management queue.

[0143] The application instance manager accesses the instance request management queue to obtain the instance trigger request.

[0144] The application access manager transmits the instance parameters to the address of the source server to trigger the source server to generate and deploy the instance according to the instance parameters, including:

[0145] The application access manager calls the asynchronous communication interface to send the instance parameters to the address of the source server, thereby triggering the source server to asynchronously generate and deploy the instance based on the instance parameters.

[0146] In response to the acquisition of the target address from the asynchronous communication interface within a preset time, the target address is returned as the instance address to the application service manager to trigger the application service manager to respond with the target address as the request information; wherein, the target address is the deployment address of the instance generated by the source server based on the instance parameters.

[0147] In one embodiment, after the application instance manager obtains the instance trigger request from the instance request management queue, the method further includes:

[0148] Determine the target hash identifier corresponding to the request triggered by the above instance;

[0149] The target hash identifier is queried in the first storage space, which is used to store the hash identifiers corresponding to each request currently being processed.

[0150] In response to the above target hash identifier being found, the above instance trigger request is discarded.

[0151] In one embodiment, after the application instance manager obtains the instance trigger request from the instance request management queue, the method further includes:

[0152] In response to the situation where the target hash identifier is not found, the target hash identifier is written to the first storage space.

[0153] The processing record set corresponding to the target hash identifier is queried in the second storage space. The second storage space is used to persistently store the processing records for each request.

[0154] In response to the above processing record set indicating that the request corresponding to the target hash identifier has been processed a preset number of times, the above instance trigger request is sent to the above instance request management queue, and the above target hash identifier is deleted in the above first storage space.

[0155] In one embodiment, after the application instance manager obtains the instance trigger request from the instance request management queue, the method further includes:

[0156] In response to the situation where the number of times the request corresponding to the target hash identifier has been processed has not reached the preset number, the instance pointed to by the target hash identifier is parsed to trigger a request.

[0157] The parsing results are used to perform instance business processing, which includes generating instance parameters and sending the instance parameters to the application access manager.

[0158] The generation process is recorded in the second storage space and the target hash identifier is deleted in the first storage space.

[0159] In one embodiment, after performing instance business processing on the parsed results, the method further includes:

[0160] In response to the successful processing of the above instance service, a response indicating the successful processing of the above instance service is sent to the above application service manager.

[0161] In response to the above instance service processing failure, query the processing record set corresponding to the above target hash identifier in the second storage space;

[0162] In response to the above processing record set indicating that the request corresponding to the target hash identifier has been processed a preset number of times, the above instance trigger request is sent to the above instance request management queue, and the above target hash identifier is deleted in the above first storage space;

[0163] In response to the situation where the number of times the request corresponding to the target hash identifier has been processed has not reached the preset number, a response indicating that the instance service processing will be retried is sent to the application service manager, and the steps of performing instance service processing on the parsing result are returned.

[0164] The above description is only a preferred embodiment of the present application and is not intended to limit the present application. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of the present application should be included within the protection scope of the present application.

Claims

1. A cloud application management method, characterized in that, Applied to a cloud application management server, wherein the cloud application management server includes an application service manager, an application instance manager, and an application access manager, the method includes: In response to receiving an application service entry request from an ISV, the application service manager generates a record corresponding to the application service. The application service entry request includes the address of the source server that provides the application service. The ISV refers to a third-party provider of SaaS services that are from a different source than the cloud application management server. The source server is independent of the cloud application management server and is not subject to the deployment control of the cloud application management server. In response to receiving an application display request from the application display client, the application service manager returns the record to trigger the application display client to display the application service. After the application display client successfully pays for the application service, the application service manager responds by receiving the request information for the application service from the application display client. The application service manager generates an instance trigger request for the application service and transmits the instance trigger request to the instance request management queue, so that the application service manager and the application instance manager can communicate asynchronously and decoupledly through the instance request management queue. The application instance manager obtains the instance trigger request and generates instance parameters by consuming data in the instance request management queue, sends the instance parameters to the application access manager, and sends a delivery notification to the application access manager. In response to the delivery notification, the application access manager calls an asynchronous communication interface to send the instance parameters to the address of the source server. This triggers the source server to independently generate and deploy an instance according to the instance parameters in a dual asynchronous manner. The dual asynchronous manner includes the asynchronous communication between the application service manager and the application instance manager, as well as the asynchronous communication between the application access manager and the source server. If the target address is received from the asynchronous communication interface within a preset time, the application instance manager transmits the target address to the application display client to complete the delivery. The application display client then accesses the target address to use the purchased SaaS service. The cloud application management server does not obtain the application image of the source server or intervene in the deployment process of the source server during the process of generating and deploying the instance on the source server.

2. The method according to claim 1, characterized in that, The application service entry request also includes an application service type, which includes a first type of application service or a second type of application service. The application service corresponding to the first type of application service is a service from the same origin as the cloud application management server, while the application service corresponding to the second type of application service is not a service from the same origin as the cloud application management server.

3. The method according to claim 2, characterized in that, The method further includes: Determine the target hash identifier corresponding to the instance trigger request; The target hash identifier is queried in the first storage space, which is used to store the hash identifiers corresponding to each request currently being processed; In response to the retrieval of the target hash identifier, the instance trigger request is discarded.

4. The method according to claim 3, characterized in that, After the application service manager generates an instance trigger request for the application service, the method further includes: In response to the case where the target hash identifier is not found, the target hash identifier is written to the first storage space; The processing record set corresponding to the target hash identifier is queried in the second storage space, which is used to persistently store the processing records for each request. In response to the processing record set indicating that the request corresponding to the target hash identifier has been processed a preset number of times, the instance trigger request is sent to the instance request management queue, and the target hash identifier is deleted in the first storage space.

5. The method according to claim 4, characterized in that, After the application service manager generates an instance trigger request for the application service, the method further includes: In response to the situation where the number of times the request corresponding to the target hash identifier has been processed has not reached a preset number, the instance pointed to by the target hash identifier is parsed to trigger a request; The parsing results are used to perform instance service processing, which includes generating instance parameters and sending the instance parameters to the application access manager. The generation process is recorded in the second storage space, and the target hash identifier is deleted in the first storage space.

6. The method according to claim 5, characterized in that, After performing instance business processing on the parsed results, the method further includes: In response to the successful processing of the instance service, a response indicating the successful processing of the instance service is sent to the application service manager; In response to the failure of the instance service processing, the processing record set corresponding to the target hash identifier is queried in the second storage space; In response to the processing record set indicating that the request corresponding to the target hash identifier has been processed a preset number of times, the instance trigger request is sent to the instance request management queue, and the target hash identifier is deleted in the first storage space; In response to the fact that the number of times the request corresponding to the target hash identifier has been processed has not reached a preset number, a response indicating that the instance service processing will be retried is sent to the application service manager, and the step of performing instance service processing on the parsing result is returned.

7. A cloud application management device, characterized in that, The device, used in a cloud application management server, includes: an application service manager, an application instance manager, and an application access manager. The application service manager is used to generate a record corresponding to the application service in response to receiving an application service entry request from an ISV. The application service entry request includes the address of the source server for providing the application service. The ISV refers to a third-party provider of SaaS services that are not from the cloud application management server. The source server is independent of the cloud application management server and is not subject to the deployment control of the cloud application management server. The application service manager is also configured to respond to the acquisition of an application display request from the application display client, and to return the record to trigger the application display client to display the application service; when the application display client successfully pays for the application service, in response to receiving the demand information for the application service from the application display client, generate an instance trigger request for the application service, and transmit the instance trigger request to the instance request management queue, so that the application service manager and the application instance manager can perform asynchronous decoupled communication through the instance request management queue; The application instance manager is used to obtain the instance trigger request and generate instance parameters by consuming data in the instance request management queue, send the instance parameters to the application access manager, and issue a delivery notification to the application access manager. The application access manager, in response to the delivery notification, calls an asynchronous communication interface to send the instance parameters to the address of the source server, triggering the source server to independently generate and deploy an instance according to the instance parameters in a dual asynchronous manner. This dual asynchronous manner includes asynchronous communication between the application service manager and the application instance manager, and asynchronous communication between the application access manager and the source server. If the target address is received from the asynchronous communication interface within a preset time, the application instance manager transmits the target address to the application display client to complete the delivery. The application display client then accesses the target address to use the purchased SaaS service. The cloud application management server does not obtain the application image of the source server or intervene in the deployment process of the source server during the process of generating and deploying the instance on the source server.

8. The apparatus according to claim 7, characterized in that, The device is also used to perform the following operations: Determine the target hash identifier corresponding to the instance trigger request; The target hash identifier is queried in the first storage space, which is used to store the hash identifiers corresponding to each request currently being processed; In response to the retrieval of the target hash identifier, the instance trigger request is discarded.

9. The apparatus according to claim 8, characterized in that, The device is also used to perform the following operations: In response to the case where the target hash identifier is not found, the target hash identifier is written to the first storage space; The processing record set corresponding to the target hash identifier is queried in the second storage space, which is used to persistently store the processing records for each request. In response to the processing record set indicating that the request corresponding to the target hash identifier has been processed a preset number of times, the instance trigger request is sent to the instance request management queue, and the target hash identifier is deleted in the first storage space.

10. The apparatus according to claim 9, characterized in that, The device is also used to perform the following operations: In response to the situation where the number of times the request corresponding to the target hash identifier has been processed has not reached a preset number, the instance pointed to by the target hash identifier is parsed to trigger a request; The parsing results are used to perform instance service processing, which includes generating instance parameters and sending the instance parameters to the application access manager. The generation process is recorded in the second storage space, and the target hash identifier is deleted in the first storage space.

11. The apparatus according to claim 10, characterized in that, The device is also used to perform the following operations: In response to the successful processing of the instance service, a response indicating the successful processing of the instance service is sent to the application service manager; In response to the failure of the instance service processing, the processing record set corresponding to the target hash identifier is queried in the second storage space; In response to the processing record set indicating that the request corresponding to the target hash identifier has been processed a preset number of times, the instance trigger request is sent to the instance request management queue, and the target hash identifier is deleted in the first storage space; In response to the fact that the number of times the request corresponding to the target hash identifier has been processed has not reached a preset number, a response indicating that the instance service processing will be retried is sent to the application service manager, and the step of performing instance service processing on the parsing result is returned.

12. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores at least one instruction or at least one program, which is loaded and executed by a processor to implement a cloud application management method as described in any one of claims 1 to 6.

13. An electronic device, characterized in that, The system includes at least one processor and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, and the at least one processor implements a cloud application management method as described in any one of claims 1 to 6 by executing the instructions stored in the memory.

14. A computer program product, comprising a computer program or instructions, characterized in that, When the computer program or instructions are executed by the processor, they implement a cloud application management method according to any one of claims 1 to 6.

Citation Information

Patent Citations

  • Realization method and equipment for enterprise service bus and corresponding platform

    CN102364921A

  • Application deployment method, device and system, equipment and medium

    CN109818948A