Service publishing method and device and cloud product operation control platform
By generating a service logic editing interface through service publishing methods, users can select and arrange product APIs and computing logic modules, which solves the complexity of cloud product management for large enterprises, achieves unified operation and efficient development, and adapts to multi-regional deployment needs.
Patent Information
- Application Number
- CN202511732456.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-11-24
- Publication Date
- 2026-02-17
AI Technical Summary
When large enterprises use private clouds from different cloud product providers, they lack a unified operation and management platform, which leads to complex management and inconsistent operations. The development and maintenance of hard-coded methods are highly complex and difficult to adapt to the needs of multi-regional disaster recovery deployment.
A service publishing method is provided, which generates a service logic editing interface. Users can select product API modules and computing logic modules for orchestration, generate business execution processes, and register them with the gateway to complete service publishing. The configuration framework reduces the amount of hard-coding development work.
It enables unified management and operation processes for cloud products, reduces development and maintenance workload, improves the speed of function readiness, supports online configuration and logic adjustment, and adapts to product upgrades and multi-regional deployment needs.
Smart Images

Figure CN121547508A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of computer technology, specifically to a service publishing method, a service publishing device, a cloud product operation control platform, a machine-readable storage medium, a computer program product, and a processor. Background Technology
[0002] For enterprises of a certain size, their information systems are traditionally built on physical machines / virtual machines. In this scenario, there is a large workload for equipment expansion, fault migration, and other tasks. Therefore, cloud products have become the mainstream usage mode for private clouds of large enterprises. Their main advantage lies in providing unified development and operation and maintenance standardized tools and processes. Through unified operation and maintenance, maintenance difficulty is reduced, project delivery is accelerated, and enterprises are provided with IT infrastructure that combines security and flexibility.
[0003] However, large enterprises typically don't build their private clouds based on a single cloud vendor. Instead, they often purchase cloud products from different vendors (such as Huawei Cloud's database products, Tencent Cloud's storage products, and Alibaba Cloud's computing software products) or build their own cloud products using software lacking cloud capabilities, depending on the characteristics of their business. Some of these different vendors provide their own cloud product consoles, while others don't. Even when a console is provided, the different cloud products result in a lack of a unified, aggregated operation and management interface within the enterprise. Activating a product requires accessing its specific interface. Furthermore, as enterprises increasingly demand multi-region disaster recovery deployments for their information systems, a single cloud product may be deployed in data centers across multiple regions. Therefore, cloud product administrators must manage different products across multiple regions simultaneously, leading to multiple entry points, inconsistent operations, and a heavy workload.
[0004] Therefore, some enterprises have developed their own unified cloud product consoles. These management portals integrate the management functions of different cloud products, standardize the management processes of different products, and provide administrators with a unified entry point and operation process, eliminating the need to concern themselves with the underlying products. However, to interface with quota and metering services of different cloud vendors, corresponding hard-coded development is required for each vendor's cloud product, reading or sending information from the cloud product's quota and metering interfaces. However, there are multiple ways to implement operational business requirements using hard-coded methods, which may vary depending on the skill level of the developers. Different developers may also use different languages and technology stacks, which can significantly increase the complexity of subsequent maintenance. Summary of the Invention
[0005] The purpose of this application is to provide a service publishing method, a service publishing device, a cloud product operation control platform, a machine-readable storage medium, a computer program product, and a processor.
[0006] To achieve the above objectives, the first aspect of this application provides a service publishing method applied to a cloud computing service platform, the service publishing method comprising: Obtain information on services to be published, including the type of service to be published and the corresponding product information; Based on the service information to be published, a service logic editing interface is generated and displayed to the user. The service logic editing interface displays multiple encapsulated product API modules and calculation logic modules. The user selects the product API module and the computing logic module in the service logic editing interface to arrange them and obtain the business execution flow. In response to a service publication command, the service path is obtained, and the business execution process and the service path are registered with the gateway to complete the service publication.
[0007] In this embodiment of the application, the step of having the user select the product API module and the calculation logic module in the service logic editing interface to arrange them and obtain the business execution flow includes: The user selects product APIs and computational logic blocks in the service logic editing interface to arrange them and obtain the initial execution flow. The initial execution process is tested, and the test results are obtained; If the detection result is passed, the initial execution process will be used as the business execution process.
[0008] In this embodiment of the application, the step of detecting the initial execution process and obtaining the detection result includes: Obtain the node information of the initial execution process; Based on the node information, it is determined whether the nodes in the initial execution process meet the preset conditions, and the detection result is obtained.
[0009] In this embodiment of the application, it also includes: Obtain API configuration parameter information for cloud products; Based on the API configuration parameter information of the cloud product, the API of the cloud product is queried to obtain the API query results; Based on the API configuration parameters of the cloud product and the API query results, a product API module is encapsulated.
[0010] In this embodiment of the application, it also includes: Obtain a query request, which includes a request address and parameter information; Based on the request address, the processing logic is matched in a pre-set configuration library, which includes multiple service paths and corresponding business execution processes. The parameter information and the processing logic are sent to the service logic executor, which then executes the processing logic based on the parameter information to obtain the query result.
[0011] In this embodiment of the application, the step of executing the processing logic based on the parameter information to obtain the query result includes: A1: Based on the node information of the processing logic, construct counters for all nodes to obtain node startup execution counters; A2: Store the parameter information in the global variable pool; A3: Filter out nodes with a counter of 0 to obtain the execution nodes; A4: Execute the execution node, and delete the node that has started execution from the execution counter of the node; A5: After a node is completed, determine the corresponding reached node and decrement the counter of the reached node by 1; A6: Repeat steps A3-A6 until all nodes in the node start execution counter are deleted; A7: Obtain the output of the output node from the global variable pool as the query result. The output node is a node whose output node type is "end".
[0012] In this embodiment of the application, the execution process of any node includes: Based on the node information of the current node, the node type of the current node is determined; Based on the node type of the current node, execute the corresponding logical flow.
[0013] In this embodiment of the application, the node type of the current node is the start node; The step of executing the corresponding logical flow based on the node type of the current node includes: The parameter information is obtained from the global variable pool and assembled into the output of the current node, and the output of the current node is stored in the global variable pool.
[0014] In this embodiment of the application, the node type of the current node is an end node; The step of executing the corresponding logical flow based on the node type of the current node includes: The input parameters of the current node are assembled into the output of the current node, and the output of the current node is stored in the global variable pool.
[0015] In this embodiment of the application, the node type of the current node is an API node; The step of executing the corresponding logical flow based on the node type of the current node includes: Get the list of call parameters; Based on the URL configuration information of the current node, obtain the URL information of the cloud products in various regions; Based on the variable values in the call parameter list and the URL information of the cloud product in various regions, the input parameters of the current node are updated to obtain the updated configuration of the cloud product in various regions; Based on the updated configurations of the cloud products in each region, query requests are constructed to obtain query requests for each region; Obtain the query results corresponding to the query requests for each region; Based on the output variable extraction configuration of the current node, the output variable information is extracted from the query results corresponding to the query requests of each region to obtain the query output results of cloud products in each region; Based on the output configuration of the current node, the return value is extracted from the query output results of cloud products in each region.
[0016] In this embodiment of the application, the node type of the current node is a computational logic node; The step of executing the corresponding logical flow based on the node type of the current node includes: Get the input variables; Initialize the local variable pool and store the input variables into the local variable pool; Based on preset syntax rules, the code of the current node is parsed into a syntax tree; According to the structure of the syntax tree, the expression processing logic function corresponding to the logical node in the syntax tree is called to obtain the output parameter of the current node; Based on the output parameters of the current node, the return value is extracted from the local variable pool.
[0017] A second aspect of this application provides a service publishing apparatus for use in a cloud computing service platform, the service publishing apparatus comprising: The acquisition module is used to acquire information about services to be published, including the type of service to be published and the corresponding product information. The interface module is used to generate a service logic editing interface based on the service information to be published, and to display the service logic editing interface to the user. The service logic editing interface displays multiple encapsulated product API modules and calculation logic modules. The orchestration module is used by users to select product API modules and computing logic modules in the service logic editing interface to orchestrate the business execution process. The registration module is used to respond to the service publishing instruction, obtain the service path, and register the business execution process and the service path with the gateway to complete the service publishing.
[0018] A third aspect of this application provides a cloud product operation control platform, which uses the aforementioned service publishing method for service management.
[0019] A fourth aspect of this application provides a processor configured to perform the service publishing method described above.
[0020] A fifth aspect of this application provides a machine-readable storage medium storing instructions that, when executed by a processor, configure the processor to perform the service publishing method described above.
[0021] A sixth aspect of this application provides a computer program product, including a computer program that, when executed by a processor, implements the service publishing method described above.
[0022] The above technical solution involves obtaining service information to be published from a cloud computing service platform. This information includes the service type and corresponding product information. Based on this information, a service logic editing interface is generated and displayed to the user. This interface displays multiple pre-packaged product API modules and computational logic modules. The user selects and arranges these modules within the interface to obtain a business execution flow. In response to a service publication command, a service path is obtained, and the business execution flow and the service path are registered with the gateway to complete the service publication. By selecting and arranging product API modules and computational logic modules within the service logic editing interface, the user obtains the business execution flow. This configuration framework allows for an abstract description of business logic, eliminating the need for developers to perform specific language development; the framework provides the necessary processes and functions to complete the entire configuration process. By encapsulating product API modules and computational logic modules, development and debugging workloads are significantly reduced compared to direct hard coding. This greatly reduces the workload for developers, and even business personnel can complete the operational configuration of a new product directly on the interface, drastically saving development effort. Furthermore, online logic configuration reduces system deployment time and significantly accelerates feature readiness. Compared to traditional hard-coded platforms, its operational logic for different products can be visualized online, making it easier to maintain should subsequent product upgrades require adjustments to the processing logic.
[0023] Other features and advantages of the embodiments of this application will be described in detail in the following detailed description section. Attached Figure Description
[0024] The accompanying drawings are provided to further illustrate the embodiments of this application and form part of the specification. They are used together with the following detailed description to explain the embodiments of this application, but do not constitute a limitation on the embodiments of this application. In the drawings: Figure 1 This illustration schematically shows an application environment diagram of the service publishing method according to an embodiment of this application; Figure 2 The illustration shows a flowchart of a service publishing method according to an embodiment of this application; Figure 3 This illustration schematically depicts a service publishing execution flow diagram according to an embodiment of this application; Figure 4 This illustration schematically shows a complete module diagram of service publishing according to an embodiment of this application; Figure 5 This diagram schematically illustrates a service logic editing interface according to an embodiment of this application. Figure 6 A schematic diagram of a publishing gateway interface according to an embodiment of this application is shown. Figure 7 A shape detection comparison diagram of a figure according to an embodiment of this application is schematically shown; Figure 8 This illustration schematically shows a function execution diagram according to an embodiment of the present application; Figure 9 This illustration schematically shows a query execution logic diagram according to an embodiment of this application; Figure 10 This illustration schematically depicts the registration and service logic retrieval and forwarding process of a gateway according to an embodiment of this application; Figure 11 This illustration schematically shows a process configuration diagram according to an embodiment of the present application; Figure 12 This illustration schematically shows a service processing logic diagram according to an embodiment of this application; Figure 13 The illustration shows a schematic diagram of the execution process of each node in the process according to an embodiment of this application; Figure 14 The diagram illustrates the syntax tree after parsing the configuration according to an embodiment of this application, and the logical correspondence between the nodes and the expressions. Figure 15 A schematic diagram illustrating an expression processing algorithm according to an embodiment of this application is shown. Figure 16 This schematic diagram illustrates a structural block diagram of a service publishing apparatus according to an embodiment of this application; Figure 17 The diagram illustrates the internal structure of a computer device according to an embodiment of this application.
[0025] Explanation of reference numerals in the attached figures 410 - Acquisition Module; 420 - Interface Module; 430 - Arrangement Module; 440 - Registration Module; A01 - Processor; A02 - Network Interface; A03 - Internal Memory; A04 - Display Screen; A05 - Input Device; A06 - Non-volatile Storage Medium; B01 - Operating System; B02 - Computer Program. Detailed Implementation
[0026] To make the objectives, technical solutions, and advantages of the embodiments of this application clearer, the technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. It should be understood that the specific embodiments described herein are only for illustration and explanation of the embodiments of this application and are not intended to limit the embodiments of this application. All other embodiments obtained by those skilled in the art based on the embodiments of this application without creative effort are within the scope of protection of this application.
[0027] It should be noted that if the embodiments of this application involve directional indicators (such as up, down, left, right, front, back, etc.), the directional indicators are only used to explain the relative positional relationship and movement of each component in a certain specific posture (as shown in the figure). If the specific posture changes, the directional indicators will also change accordingly.
[0028] Furthermore, if the embodiments of this application involve descriptions such as "first" or "second," these descriptions are for descriptive purposes only and should not be construed as indicating or implying their relative importance or implicitly specifying the number of technical features indicated. Therefore, features defined with "first" or "second" may explicitly or implicitly include at least one of those features. Additionally, the technical solutions of various embodiments can be combined with each other, but this must be based on the ability of those skilled in the art to implement them. If the combination of technical solutions is contradictory or impossible to implement, it should be considered that such a combination of technical solutions does not exist and is not within the scope of protection claimed in this application.
[0029] The acquisition, transmission, storage, use, and processing of data in this application comply with relevant laws and regulations. Furthermore, it should be noted that certain software, components, models, and other existing industry solutions may be mentioned in the embodiments of this application. These should be considered exemplary, intended only to illustrate the feasibility of implementing the technical solution of this application, and do not imply that the applicant has already used or necessarily used such solutions.
[0030] Definitions: Platform as a Service (PaaS) is a cloud computing service model that provides developers with all the platform-level capabilities needed to build, test, deploy, and manage applications. It allows users to focus on application logic and business rules without worrying about the details of the underlying hardware and operating system, or the setup and maintenance of the infrastructure. On a PaaS platform, the service provider handles all infrastructure-related matters, such as servers, storage, backup, security, networking, and scaling, while users only need to focus on their applications. This model greatly simplifies application lifecycle management, shortens the time from development to deployment, and reduces the total cost of ownership.
[0031] A private cloud is a cloud computing environment dedicated to a single organization, designed to provide greater security, privacy, and customization than public clouds. It virtualizes compute, storage, and network resources into a centrally managed pool accessible only to internal users. Private clouds can be self-hosted within an enterprise's data center or outsourced to a third-party service provider. Compared to traditional IT architectures, private clouds offer greater flexibility and scalability, enabling resource allocation on demand while maintaining full control over data and applications, meeting stringent compliance and performance requirements. For enterprises that prioritize data security, require customized solutions, or face stringent regulatory requirements, private clouds are an ideal choice.
[0032] The PaaS cloud product operation console is a graphical interface between users and PaaS. It mainly provides users with a series of user functions such as cloud product creation, recycling, scaling up and down, as well as functions such as quota allocation and instance statistical analysis.
[0033] Hardcoding: Hardcoding refers to directly writing specific values into the code during programming, rather than inputting them through variables, configuration files, or parameters. This means that critical numbers, strings, paths, or other constants are permanently "embedded" in the source code, and the only way to modify these values is to directly change the code. While hardcoding can bring certain conveniences in the early stages, allowing for quick implementation of functions, it also has several disadvantages: 1. Lack of flexibility: Once the business logic or operating environment changes and these preset values need to be adjusted, the code needs to be actually modified, which not only increases the workload but may also introduce new bugs.
[0034] 2. High maintenance costs: Over time, hard-coded values may be scattered across multiple locations within the project, making searching and updating extremely time-consuming, especially in large projects, which undoubtedly increases the difficulty of later maintenance.
[0035] 3. Testing challenges: For features that rely on specific hard-coded values, automated testing may require building special test environments or datasets to simulate behavior under real-world conditions, which undoubtedly increases the complexity of the testing work.
[0036] 4. It limits the portability of applications: Since hard-coded values are often specific to a particular scenario or environment, it is difficult for applications to be smoothly migrated to new platforms or to meet future changing needs.
[0037] The service publishing method provided in this application can be applied to, for example... Figure 1 In the application environment shown, terminal 102 communicates with server 104 via a network. Users can select product API modules and computational logic modules in the service logic editing interface to orchestrate the business execution flow. By employing a configuration framework, business logic can be described in an abstract way, eliminating the need for developers to perform specific language development; the framework provides the necessary processes and functions to complete the entire configuration. The pre-encapsulated product API modules and computational logic modules significantly reduce development and debugging workload compared to direct hard coding, greatly simplifying the developer's job. Terminal 102 can be, but is not limited to, various personal computers, laptops, smartphones, tablets, and portable wearable devices. Server 104 can be a standalone server or a server cluster consisting of multiple servers.
[0038] Figure 2 A schematic flowchart illustrating a service publishing method according to an embodiment of this application is shown. Figure 2 As shown, in one embodiment of this application, a service publishing method is provided. This embodiment mainly applies this method to the above-mentioned... Figure 1 Let's take terminal 102 (or server 104) as an example. This service publishing method, applied to a cloud computing service platform, includes the following steps: Step 210: Obtain the service information to be published, which includes the service type to be published and the corresponding product information; In this embodiment, the cloud computing service platform can be a cloud computing service model such as PaaS or SaaS. The aforementioned service information to be published can be obtained through user input or by displaying a list of available services on the interface, allowing the user to select according to their needs. The aforementioned service type to be published refers to the type of service required, which can be determined specifically based on business needs. For example, please refer to... Figure 5 , Figure 5 This diagram schematically illustrates a service logic editing interface according to an embodiment of this application. The left side of the interface displays a service list with customizable broad categories such as "Orders," "Metering," and "Quota," used to categorize services based on upper-level operational business needs. For example, "CPU Memory Query" represents a specific type of service under the "Metering" category. The corresponding product information can be obtained through user input or by selecting from available product information displayed on the interface. This product information pertains to the product corresponding to the service; for example, the product information might be Redis.
[0039] It should be noted that the input and output formats of all product configuration services (such as Redis, MySQL, etc.) must be completely consistent.
[0040] Step 220: Based on the service information to be published, generate a service logic editing interface and display the service logic editing interface to the user. The service logic editing interface displays multiple encapsulated product API modules and calculation logic modules. In this embodiment, after determining the service information to be published, a corresponding service logic editing interface can be displayed. In the example above, Figure 5 The middle editing interface is the service logic editing interface. This interface allows you to configure the specific execution logic for a particular type of business operation, and to arrange the execution order and logic. The service logic editing interface contains several pre-packaged product API modules and computational logic modules. For example... Figure 5 As shown, the "Product API" on the right represents different API modules that different products can register according to their specific needs. For example, for the Redis product, its product API modules include a product instance list, product instance details, product quota settings, product instance creation, product instance scaling, and product instance deletion. These product API modules can be obtained in advance by querying the results returned by the product API. The above calculation logic modules can perform logical operations such as calculations, variable creation, and assignment using expressions. For example, in... Figure 5 In this module, the computational logic module includes the MAP_COLLECT function, SUM function, FUNC function, and GET function.
[0041] It should be noted that the above-mentioned calculation logic module can be obtained through customization, for example, the above-mentioned Figure 5Functions within the system can be configured and executed through the computational logic function management module. This module defines a set of open functional design frameworks, enabling the definition of arbitrary functions. Its core consists of several parts: 1. Function Implementation Interface and Implementation: This interface describes the definition of a function, and different functions implement the corresponding processing logic. For example, define a SUM function, which accumulates the data in the input list.
[0042] 2. Function Execution: This function provides an interface for the service logic executor to call. Based on the required function and parameters, it executes the corresponding logic and returns the result. Please refer to [link / reference]. Figure 8 and Figure 9 , Figure 8 This illustration schematically shows a function execution diagram according to an embodiment of the present application. Figure 9 The diagram illustrates the query execution logic according to an embodiment of this application. The maintenance module is responsible for maintaining the configuration table and executable programs in the file directory. The query execution logic of the execution module is as follows: Input the name of the function to be executed and a list of function parameters; query the database's list of executable functions to see if the function exists; if the function exists, extract the parameter description and verify it against the input parameter list to confirm the parameters are correct; finally, based on Java's reflection mechanism or Python's importlib dynamic library loading mechanism, read the loading file source of the function from the executable function configuration table, execute it, and return the return value to the caller.
[0043] In some embodiments, the product API module can configure corresponding API query functions for different cloud products to enable queries on a certain type of product (such as listing remaining quotas). The method further includes: First, obtain the API configuration parameter information of the cloud product; In this embodiment, the API configuration parameter information of the above-mentioned cloud products includes: product name, API name, API ID, request type, URL information, input parameter template, output variable extraction configuration, etc. Specifically, it can be stored in the form of a configuration table, for example, as shown in Table 1 below. Table 1 is the product API configuration parameter table.
[0044] Table 1 Product API Configuration Parameters
[0045] Then, based on the API configuration parameter information of the cloud product, the API of the cloud product is queried to obtain the API query results; In this embodiment, a query request is constructed based on the configured API configuration parameters, the query request is executed, and the API query result is obtained.
[0046] Then, based on the API configuration parameter information of the cloud product and the API query results, the product API module is encapsulated.
[0047] In this embodiment, the required data is extracted from the API query results based on the API configuration parameter information of the cloud product to obtain the product API module.
[0048] In practical implementation, the configuration-based query module can be configured with corresponding API query functions for different cloud products to achieve specific queries for different products (such as listing remaining quotas). When executing the above configuration-based query, the product and API query configuration is first performed: mainly reading and writing based on the configuration in Table 1; then dynamic query construction and execution: constructing and executing query requests based on the configured APIs; finally, query result extraction: extracting the required data according to the configuration. Platform development and maintenance personnel complete the query configuration for each API in the configuration-based query module according to the API and logic of a specific product. The configuration information is stored in tabular form; the specific format can be found in Table 1. The configured content of this table is ultimately presented... Figure 5 A series of lists in the product API.
[0049] By obtaining the API configuration parameter information of cloud products; querying the APIs of cloud products based on the API configuration parameter information to obtain API query results; and obtaining product API modules based on the API configuration parameter information and the API query results, corresponding API query functions can be configured for different cloud products to achieve certain type of queries for different products. By encapsulating these into product API modules, they can be easily used by users.
[0050] Step 230: The user selects the product API module and the calculation logic module in the service logic editing interface to arrange them and obtain the business execution flow; In this embodiment, the user can select the product API module and the calculation logic module to arrange the execution order and execution logic according to the specific execution logic of a certain type of business operation, and finally form a business execution process. Specifically, it can be achieved by clicking or dragging, etc., which is not limited in this embodiment.
[0051] It should be noted that the business execution process orchestrated by the user requires starting from the starting point, and all processing flows must eventually converge to the ending node. Therefore, the shape of the graph needs to be checked after the user has finished editing.
[0052] In some embodiments, the process of arranging product API modules and computational logic modules selected by the user in the service logic editing interface to obtain a business execution flow includes: First, the user selects the product API and calculation logic block in the service logic editing interface to arrange them and obtain the initial execution flow. In this embodiment, the initial execution flow mentioned above refers to the execution flow edited by the user.
[0053] Then, the initial execution process is tested to obtain the test results; In this embodiment, the above detection is to check whether the nodes of the initial execution process meet the requirements.
[0054] The step of detecting the initial execution process and obtaining the detection result includes: The first step is to obtain the node information of the initial execution process; In this embodiment, the node information includes processing step node information and node relationship information. For example, each processing node can be described using a `node_list`, which may include the unique ID value of each node; the relationships between nodes can be described using a `relation_list`, specifically using a `from to` statement, where `from` is followed by the starting node and `to` is followed by the ending node. For example, "from starting point, the value must be the id value in `node_list`", "to ending point, the value must be the id value in `node_list`". After the initial execution flow is completed, the corresponding node information can be stored in the above manner.
[0055] The second step is to determine, based on the node information, whether the nodes in the initial execution process meet the preset conditions, and obtain the detection results.
[0056] In this embodiment, the aforementioned preset condition can be that each node, except the starting node, has input and output. Specifically, the judgment can be made by comparing the elements in the node information with the `to` element in the node relationship information to determine if there are any nodes other than the starting node that have no input, and simultaneously comparing the elements in the node information with the `from` element in the node relationship information to determine if there are any nodes other than the starting node that have no output. Finally, the detection result is obtained based on these two judgments. For example: 1. Retrieve the IDs of all elements in node_list and save them as node_id_set; 2. Extract all the IDs of "from" and "to" from "relation_list" and save them as two sets: "from_id_set" and "to_id_set". 3. Determine if a node has no input: The difference between the node_id_set and the to_id_set can be calculated. If there is a node outside the starting point, it is determined that there is no input. Similarly, the difference between node_id_set and from_id_set can be calculated. If there is a node outside the ending point, it means that the node has no output. 4. If the condition in step 3 does not exist, the test passes.
[0057] Based on the node information, it is possible to quickly and accurately determine whether the nodes in the initial execution process meet the preset conditions, thereby obtaining the detection results.
[0058] Finally, if the detection result is passed, the initial execution process will be used as the business execution process.
[0059] In this embodiment, if the detection result is satisfactory, it indicates that the initial execution process meets the requirements and can be used as the business execution process; otherwise, the user can be prompted to modify it. Please refer to... Figure 7 , Figure 7 The diagram schematically illustrates a shape detection comparison of a graph according to an embodiment of this application. On the left, each node, except the starting node, has inputs and outputs.
[0060] By testing the initial execution flow obtained by the user through orchestration of product APIs and computational logic blocks selected in the service logic editing interface, the business execution flow becomes more reliable.
[0061] Step 240: In response to the service publication instruction, obtain the service path and register the business execution process and the service path with the gateway to complete the service publication.
[0062] In this embodiment, the service publishing instruction can be obtained by the user clicking the corresponding button in the service logic editing interface. After receiving the service publishing instruction, a service publishing interface can pop up, which includes a service path parameter box. The user can enter the service path to obtain the service path. The business execution process configured in the above steps (each process can be set with a globally unique service ID) and the service path can be registered with the gateway. The gateway can dynamically generate a new access URL based on the input service path, and the upper-layer operational business can access the logic configured in the above steps through this address.
[0063] In the above implementation process, information about services to be published is obtained from the cloud computing service platform. This information includes the service type and corresponding product information. Based on this information, a service logic editing interface is generated and displayed to the user. This interface displays multiple pre-packaged product API modules and computational logic modules. The user selects and arranges these modules within the interface to obtain the business execution flow. In response to the service publication command, the service path is obtained, and the business execution flow and the service path are registered with the gateway to complete the service publication. By selecting and arranging product API modules and computational logic modules within the service logic editing interface, the user obtains the business execution flow. The configuration framework allows for an abstract description of business logic, eliminating the need for developers to perform specific language development; the framework provides the necessary processes and functions to complete the entire configuration process. By encapsulating product API modules and computational logic modules, development and debugging workloads are significantly reduced compared to direct hard coding. This greatly reduces the workload for developers, and even business personnel can complete the operational configuration of a new product directly on the interface, drastically saving development effort. Furthermore, online logic configuration reduces system deployment time and significantly accelerates feature readiness. Compared to traditional hard-coded platforms, its operational logic for different products can be visualized online, making it easier to maintain should subsequent product upgrades require adjustments to the processing logic.
[0064] Configurable development allows systems to manage cloud products simply by updating configurations after deployment, eliminating the need for deployments to mirror changes in the cloud product itself. This reduces deployment frequency and avoids modifying the service framework's own code, ensuring decoupling between business logic and framework operation and preventing service outages caused by business logic errors. Hard-coding, on the other hand, couples service logic with platform code. If a new service has logical issues, it can cause platform-wide problems, leading to the unavailability of all products on the platform and resulting in a wider impact.
[0065] In practice, the above service publishing method can be implemented through a multi-interface federated query framework. Please refer to [link / reference]. Figure 4 , Figure 4The diagram illustrates a complete service publishing module according to an embodiment of this application. The multi-interface federated query framework is divided into a service logic editor, an interface service gateway, and a service logic executor. Platform developers and maintenance personnel configure queries for each API in the configurable query module based on the API and logic of a specific product. Configuration information is stored in tabular form; the specific format is shown in Table 1, the product API configuration parameter table. The configured content of this table is ultimately presented as a series of lists of product APIs on the right side of the next interface. Service logic is configured in the service logic editor. By processing and transforming the results of each API query in the configurable query module and orchestrating multiple services, the final result is assembled into the service required by a higher-level business component.
[0066] For example, regarding PaaS, please refer to... Figure 3 , Figure 3 This diagram illustrates the service publishing execution process according to an embodiment of this application. The PaaS operations console includes an operations console business module (mainly for several fixed operations modes, which will not be described in detail), a configurable query module (used to connect to and encapsulate query interfaces for specific cloud products), and a multi-interface joint query framework (used to assemble the encapsulated interfaces in the configurable query module, providing a completely consistent query interface to the upper layer). The overall process includes: 1. Analyze the requirements of the business modules in the operations console, and organize how to assemble queries for each cloud product. This assembly logic serves as a configuration input for a multi-interface joint query framework. 2. Configure corresponding API query functions for different cloud products on the configuration query module to realize a certain type of query for different products (such as listing the remaining quota). 3. On the multi-interface joint query framework, the query logic is assembled for one or more specific cloud product APIs configured in the previous step to achieve the goal of the first step. 4. When a query is initiated, the business module of the operations console initiates the query. The multi-interface joint query framework calls the cloud product APIs one by one according to the configured business logic process, and uses the internal processing flow to complete the data organization and processing, and then returns the results to the business module.
[0067] In some embodiments, after the development of the service is completed, such as Figure 6 As shown, Figure 6 This diagram schematically illustrates a publishing gateway interface according to an embodiment of this application. Configured service logic can be registered as a request path (URL) on the gateway for upper-layer operational services to invoke. Please refer to... Figure 10 , Figure 10 The illustration shows a schematic diagram of the registration and service logic retrieval and forwarding process of a gateway according to an embodiment of this application. The method further includes: First, obtain the query request, which includes the request address and parameter information; In this embodiment, the query request can be obtained from input in the business module. For example, parameter information can be included when initiating the query request, such as: http: / / xxx / op / measure / .. / redis?tenant=1&product=redis®ion=beijing. The parameter information includes tenant=1, product=redis, and region=beijing.
[0068] Then, based on the request address, the processing logic is matched in a preset configuration library, which includes multiple service paths and corresponding business execution processes; In this embodiment, after obtaining the request address, the gateway can determine the mapped service ID. The configuration library stores a service path and processing logic mapping table, that is, each service path corresponds to a business execution process, and each business execution process corresponds to a service ID. The corresponding business execution process can be determined through the mapped service ID, that is, the processing logic can be obtained.
[0069] Finally, the parameter information and the processing logic are sent to the service logic executor, which executes the processing logic based on the parameter information to obtain the query result.
[0070] In this embodiment, the gateway forwards the parameter information and processing logic to the service logic executor for execution, and obtains the query results.
[0071] By matching the processing logic in a pre-configured library based on the request address, the parameter information and the processing logic are sent to the service logic executor, which then executes the processing logic based on the parameter information, thus quickly obtaining the query results.
[0072] When a gateway forwards a service request to the service logic executor, the service logic executor processes the request. In some embodiments, this can be based on a directed acyclic graph (DAG) workflow, where each node represents a task and the edges between nodes represent dependencies. See also... Figure 11 and Figure 12 , Figure 11 This illustration schematically shows a process configuration diagram according to an embodiment of the present application. Figure 12 This illustration schematically depicts a service processing logic diagram according to an embodiment of this application. The step of executing the processing logic based on the parameter information to obtain the query result includes: A1: Based on the node information of the processing logic, construct counters for all nodes to obtain node startup execution counters; In this embodiment, the counter indicates how many predecessor nodes each node has not yet executed (i.e., in-degree). The `relation_list` in the workflow configuration can be traversed to analyze the "from→to" dependencies between each node, constructing a directed graph structure and identifying the in-degree (number of predecessor dependencies) of all nodes. For nodes that do not appear in the "to" attribute of the `relation_list` (starting nodes), their counters can be initialized to 0 to ensure that all nodes in the workflow are included in the counter management.
[0073] A2: Store the parameter information in the global variable pool; In this embodiment, a global variable pool based on a hash table data structure can be created to receive all input parameters forwarded from the gateway. The gateway parameters can be categorized and stored in the corresponding area of the global variable pool. The execution context information (workflow ID, start time, execution status, etc.) can be initialized, a node execution result storage area can be established, and the initial state setting of the global variable pool can be completed.
[0074] A3: Filter out nodes with a counter of 0 to obtain the execution nodes; A4: Execute the execution node, and delete the node that has started execution from the execution counter of the node; In this embodiment, the node start execution counter can be scanned to find all nodes with a counter value of 0, verify whether the execution preconditions of these nodes are met, initiate the execution tasks of these ready nodes in batches, delete the node IDs that have started execution from the node start execution counter to prevent the same node from being repeatedly scheduled for execution, and record the start execution timestamp and status of the nodes.
[0075] A5: After a node is completed, determine the corresponding reached node and decrement the counter of the reached node by 1; In this embodiment, the execution status of nodes can be monitored. When a node finishes execution, all relation records whose "from" attribute is the completed node are immediately queried in relation_list. All successor nodes pointed to by the "to" attribute in these relation records are obtained, and the value of these successor nodes in the counter is decremented by 1 to achieve the chain propagation effect of dependency relationship.
[0076] A6: Repeat steps A3-A6 until all nodes in the node start execution counter are deleted; In this embodiment, new ready nodes are re-selected and executed in each loop. The status changes of the node start execution counter are monitored in real time. It is checked whether all nodes in the counter have been deleted. When the counter is completely cleared, the execution loop is terminated.
[0077] A7: Obtain the output of the output node from the global variable pool as the query result. The output node is a node whose output node type is "end".
[0078] In this embodiment, the end nodes with node type "end" can be found in the global variable pool, the output data of these end nodes can be extracted as the final result, the result data can be formatted and verified, and the final result can be returned to the caller through the gateway.
[0079] The counter mechanism automatically identifies nodes that can be executed in parallel, maximizing the use of system resources. Nodes are only triggered to execute when all prerequisites are completed, ensuring the precision of execution timing.
[0080] Please refer to Figure 13 , Figure 13 The illustration schematically depicts the execution process of each node in the flow according to embodiments of this application. In some embodiments, the execution process of any node includes: First, based on the node information of the current node, the node type of the current node is determined; Then, based on the node type of the current node, the corresponding logical flow is executed.
[0081] In this embodiment, different node types execute different logic, so node type determination can be performed first. Node information includes node type, which includes: start node, API node, end node, and compute node.
[0082] Different node types correspond to different logical processes. The corresponding logical process is executed according to the current node type, making the node execution process more accurate and reliable.
[0083] In some embodiments, the node type of the current node is the start node; Accordingly, the step of executing the corresponding logical flow based on the node type of the current node includes: The parameter information is obtained from the global variable pool and assembled into the output of the current node, and the output of the current node is stored in the global variable pool.
[0084] In this embodiment, the starting node can be represented as start. If the node type is start, the corresponding parameters can be obtained from the global variable pool according to the parameter list of the output parameters and assembled into the output object of the node. It can be stored in the global variable pool with "node ID_output" as the key.
[0085] In some embodiments, the current node is an end node; Accordingly, the step of executing the corresponding logical flow based on the node type of the current node includes: The input parameters of the current node are assembled into the output of the current node, and the output of the current node is stored in the global variable pool.
[0086] In this embodiment, the end node can be represented as end. If the node type is end, the group leader is the output of the node according to the input parameters, which can be stored in the global variable pool with "node ID_output" as the key.
[0087] In some embodiments, the current node is an API node; Accordingly, the step of executing the corresponding logical flow based on the node type of the current node includes: First, obtain the list of call parameters; In this embodiment, a set of initial parameters may be received from the previous node. These parameters constitute the input conditions for this query, thus obtaining the call parameter list. The call parameter list includes a URL parameter list, a URL request parameter list, a cookie list, etc.
[0088] Then, based on the URL configuration information of the current node, the URL information of the cloud products in various regions is obtained; In this embodiment, the URL configuration information of the API can be retrieved from the configuration table using a unique API node identifier. Based on the retrieved URL configuration information of the API, the URL information of the cloud product in each region can be obtained by parsing the product's regional and URL information configured in the URL field.
[0089] Then, based on the variable values in the call parameter list and the URL information of the cloud product in various regions, the input parameters of the current node are updated to obtain the updated configuration of the cloud product in various regions; In this embodiment, variable values are matched using regular expressions from the URL parameter list, the URL request parameter list, and the cookie list. The actual value is then searched in the passed-in call parameter list, and the entire variable value is replaced to obtain the updated configuration of the cloud product in each region.
[0090] Then, based on the updated configurations of the cloud products in each region, query requests are constructed to obtain query requests for each region; Then, the query results corresponding to the query requests for each region are obtained respectively; In this embodiment, based on the configuration after variable replacement for each region, a request is constructed for each region, and query results are obtained separately. That is, a specific request configuration is generated for each region, the request is sent, and a response is obtained.
[0091] Then, based on the output variable extraction configuration of the current node, the output variable information is extracted from the query results corresponding to the query requests of each region to obtain the query output results of cloud products in each region; In this embodiment, based on the node variable extraction configuration corresponding to this API, each configuration is extracted one by one. The query results for each region that need to be obtained in the previous row are extracted, and the data is summarized and merged. The node variable extraction configuration is used to extract specific data from the query results of each region and then summarize and merge them.
[0092] Finally, based on the output configuration of the current node, the return values are extracted from the query output results of the cloud products in each region.
[0093] In this embodiment, the value to be returned is extracted and returned to the calling end according to the output configuration of the API node.
[0094] In some embodiments, the node type of the current node is a computational logic node; Accordingly, the step of executing the corresponding logical flow based on the node type of the current node includes: First, obtain the input variables; Then, the local variable pool is initialized, and the input variables are stored in the local variable pool; In this embodiment, the local variable pool is initialized to store all variables generated during the processing of this node.
[0095] Then, based on the preset syntax rules, the code of the current node is parsed into a syntax tree; In this embodiment, the code of this node can be parsed and, based on pre-defined syntax rules, converted into an Abstract Syntax Tree (AST). Specifically, it can be parsed into an AST using a parser such as ANTLR or Javacc. The advantage of parsing into a syntax tree is that subsequent processing can systematically handle various expressions based on the different logical nodes within the syntax tree. Please refer to [link to relevant documentation]. Figure 14 , Figure 14 The illustration schematically shows the syntax tree after parsing the configuration according to an embodiment of this application, and the logical correspondence between the nodes and the expressions. For example, in the first statement, there is a case where the FUN function is nested within the MAP_COLLECT function. In the syntax tree, the expr node of FUNC is clearly below the expr of MAP_COLLECT. During execution, a depth-first search can be used to find the deepest expr node for processing (such as the FUNC function), thus embedding the processing rules within the tree structure and ensuring the correctness of the execution logic.
[0096] Then, according to the structure of the syntax tree, the expression processing logic function corresponding to the logic node in the syntax tree is called to obtain the output parameter of the current node; In this embodiment, a depth-first traversal is performed starting from the program entry point of the AST until no expr node exists in the entire AST. Specifically, the interpreter traverses the AST in depth-first order, and when it encounters an expression node (expr), especially an expression that begins with a function name (func_name), it evaluates it.
[0097] Please refer to Figure 15 , Figure 15 The diagram illustrates an expression processing algorithm according to an embodiment of this application. The expression processing process includes: identifying function names; recursively evaluating their parameter child nodes; calling the corresponding built-in or user-defined function based on the function name, passing in the evaluated parameters; obtaining the function's return value; and replacing the entire complex `expr` node with the evaluated result (a constant value or a new simple node). This process is repeated until the entire AST is "folded" into one or more simple structures that no longer contain complex expressions. By recursively processing the functions (expr nodes) in the expression, starting from the deepest nested function (i.e., the lowest-level leaf node in the AST), and continuously replacing the original `expr` nodes with the calculation results to perform calculations for the next level of functions, all functions in the expression are ultimately eliminated recursively.
[0098] Finally, based on the output parameters of the current node, the return value is extracted from the local variable pool.
[0099] In this embodiment, based on the output parameters configured for the node, the values to be returned are extracted from the local variable pool and returned to the caller. Specifically, after the AST is fully evaluated, the final result of the script is already reflected in the final state of certain variables in the local variable pool. This step, based on the predefined output configuration, filters the specified variables and their values from the variable pool, encapsulates them into a standard format (such as a JSON object), and returns them to the caller.
[0100] This embodiment provides a cloud product operation control platform, which uses the above-described service publishing method for service management.
[0101] In this embodiment, the cloud product operation control platform can add basic processing functions through configuration, such as the aforementioned SUM and other general modules. These general processing modules can be loaded and called through configuration registration. The addition of basic functions is unrelated to the platform itself.
[0102] Figure 2This is a flowchart illustrating a service publishing method in one embodiment. It should be understood that, although... Figure 2 The steps in the flowchart are shown sequentially as indicated by the arrows, but these steps are not necessarily executed in the order indicated by the arrows. Unless otherwise specified herein, there is no strict order in which these steps are executed, and they can be performed in other orders. Figure 2 At least some of the steps in the process may include multiple sub-steps or multiple stages. These sub-steps or stages are not necessarily completed at the same time, but can be executed at different times. The execution order of these sub-steps or stages is not necessarily sequential, but can be executed in turn or alternately with other steps or at least some of the sub-steps or stages of other steps.
[0103] Please refer to Figure 16 , Figure 16 This schematically illustrates a structural block diagram of a service publishing apparatus according to an embodiment of the present application. This embodiment provides a service publishing apparatus applied to a cloud computing service platform. The service publishing apparatus includes an acquisition module 410, an interface module 420, an orchestration module 430, and a registration module 440, wherein: The acquisition module 410 is used to acquire information about services to be published, including the type of service to be published and the corresponding product information. Interface module 420 is used to generate a service logic editing interface based on the service information to be published, and to display the service logic editing interface to the user. The service logic editing interface displays multiple encapsulated product API modules and calculation logic modules. The orchestration module 430 is used by the user to select the product API module and the computing logic module in the service logic editing interface to orchestrate the business execution process. The registration module 440 is used to respond to the service publishing instruction, obtain the service path, and register the business execution process and the service path to the gateway to complete the service publishing.
[0104] The service publishing device includes a processor and a memory. The acquisition module 410, interface module 420, arrangement module 430 and registration module 440 are all stored in the memory as program units. The processor executes the program modules stored in the memory to implement the corresponding functions.
[0105] The processor contains a kernel, which retrieves the corresponding program units from memory. One or more kernels can be configured, and service publishing methods can be implemented by adjusting kernel parameters.
[0106] The memory may include non-permanent memory in computer-readable media, such as random access memory (RAM) and / or non-volatile memory, such as read-only memory (ROM) or flash RAM, and the memory includes at least one memory chip.
[0107] This application provides a machine-readable storage medium storing a program that, when executed by a processor, implements the above-described service publishing method.
[0108] This application provides a processor for running a program, wherein the program executes the above-described service publishing method during runtime.
[0109] In one embodiment, a computer device is provided, which may be a terminal, and its internal structure diagram may be as follows: Figure 17 As shown. The computer device includes a processor A01, a network interface A02, a display screen A04, an input device A05, and a memory (not shown) connected via a system bus. The processor A01 provides computing and control capabilities. The memory includes internal memory A03 and a non-volatile storage medium A06. The non-volatile storage medium A06 stores an operating system B01 and a computer program B02. The internal memory A03 provides an environment for the operation of the operating system B01 and the computer program B02 stored in the non-volatile storage medium A06. The network interface A02 is used for communication with external terminals via a network connection. When the computer program is executed by the processor A01, it implements a service publishing method. The display screen A04 can be a liquid crystal display (LCD) or an e-ink display. The input device A05 can be a touch layer covering the display screen, buttons, a trackball, or a touchpad mounted on the computer device casing, or an external keyboard, touchpad, or mouse.
[0110] Those skilled in the art will understand that Figure 17 The structure shown is merely a block diagram of a portion of the structure related to the present application and does not constitute a limitation on the computer device to which the present application is applied. Specific computer devices may include more or fewer components than those shown in the figure, or combine certain components, or have different component arrangements.
[0111] In one embodiment, the service publishing apparatus provided in this application can be implemented as a computer program, which can be implemented in, for example... Figure 16 It runs on the computer device shown. The computer device's memory can store the various program modules that make up the service publishing device, for example, Figure 4The diagram shows the acquisition module 410, interface module 420, arrangement module 430, and registration module 440. The computer program comprised of these modules causes the processor to execute the steps of the service publishing methods described in the various embodiments of this application.
[0112] Figure 17 The computer equipment shown can be used as follows Figure 16 The acquisition module 410 in the service publishing device shown executes step 210. The computer device can execute step 220 through the interface module 420, execute step 230 through the orchestration module 430, and execute step 240 through the registration module 440.
[0113] This application also provides a computer program product applied to a cloud computing service platform, which, when executed on a data processing device, is suitable for executing a program with the following initialization method steps: Obtain information on services to be published, including the type of service to be published and the corresponding product information; Based on the service information to be published, a service logic editing interface is generated and displayed to the user. The service logic editing interface displays multiple encapsulated product API modules and calculation logic modules. The user selects the product API module and the computing logic module in the service logic editing interface to arrange them and obtain the business execution flow. In response to a service publication command, the service path is obtained, and the business execution process and the service path are registered with the gateway to complete the service publication.
[0114] In one embodiment, the process of arranging product API modules and computational logic modules selected by the user in the service logic editing interface to obtain a business execution flow includes: The user selects product APIs and computational logic blocks in the service logic editing interface to arrange them and obtain the initial execution flow. The initial execution process is tested, and the test results are obtained; If the detection result is passed, the initial execution process will be used as the business execution process.
[0115] In one embodiment, detecting the initial execution flow and obtaining the detection result includes: Obtain the node information of the initial execution process; Based on the node information, it is determined whether the nodes in the initial execution process meet the preset conditions, and the detection result is obtained.
[0116] In one embodiment, it also includes: Obtain API configuration parameter information for cloud products; Based on the API configuration parameter information of the cloud product, the API of the cloud product is queried to obtain the API query results; Based on the API configuration parameters of the cloud product and the API query results, a product API module is encapsulated.
[0117] In one embodiment, it also includes: Obtain a query request, which includes a request address and parameter information; Based on the request address, the processing logic is matched in a pre-set configuration library, which includes multiple service paths and corresponding business execution processes. The parameter information and the processing logic are sent to the service logic executor, which then executes the processing logic based on the parameter information to obtain the query result.
[0118] In one embodiment, executing the processing logic based on the parameter information to obtain the query result includes: A1: Based on the node information of the processing logic, construct counters for all nodes to obtain node startup execution counters; A2: Store the parameter information in the global variable pool; A3: Filter out nodes with a counter of 0 to obtain the execution nodes; A4: Execute the execution node, and delete the node that has started execution from the execution counter of the node; A5: After a node is completed, determine the corresponding reached node and decrement the counter of the reached node by 1; A6: Repeat steps A3-A6 until all nodes in the node start execution counter are deleted; A7: Obtain the output of the output node from the global variable pool as the query result. The output node is a node whose output node type is "end".
[0119] In one embodiment, the execution process of any node includes: Based on the node information of the current node, the node type of the current node is determined; Based on the node type of the current node, execute the corresponding logical flow.
[0120] In one embodiment, the node type of the current node is the start node; The step of executing the corresponding logical flow based on the node type of the current node includes: The parameter information is obtained from the global variable pool and assembled into the output of the current node, and the output of the current node is stored in the global variable pool.
[0121] In one embodiment, the current node is an end node; The step of executing the corresponding logical flow based on the node type of the current node includes: The input parameters of the current node are assembled into the output of the current node, and the output of the current node is stored in the global variable pool.
[0122] In one embodiment, the current node is an API node; The step of executing the corresponding logical flow based on the node type of the current node includes: Get the list of call parameters; Based on the URL configuration information of the current node, obtain the URL information of the cloud products in various regions; Based on the variable values in the call parameter list and the URL information of the cloud product in various regions, the input parameters of the current node are updated to obtain the updated configuration of the cloud product in various regions; Based on the updated configurations of the cloud products in each region, query requests are constructed to obtain query requests for each region; Obtain the query results corresponding to the query requests for each region; Based on the output variable extraction configuration of the current node, the output variable information is extracted from the query results corresponding to the query requests of each region to obtain the query output results of cloud products in each region; Based on the output configuration of the current node, the return value is extracted from the query output results of cloud products in each region.
[0123] In one embodiment, the node type of the current node is a computational logic node; The step of executing the corresponding logical flow based on the node type of the current node includes: Get the input variables; Initialize the local variable pool and store the input variables into the local variable pool; Based on preset syntax rules, the code of the current node is parsed into a syntax tree; According to the structure of the syntax tree, the expression processing logic function corresponding to the logical node in the syntax tree is called to obtain the output parameter of the current node; Based on the output parameters of the current node, the return value is extracted from the local variable pool.
[0124] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this application 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.
[0125] This application is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this application. 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... Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.
[0126] 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.
[0127] 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.
[0128] In a typical configuration, a computing device includes one or more processors (CPU), input / output interfaces, network interfaces, and memory.
[0129] Memory may include non-persistent memory in computer-readable media, such as random access memory (RAM) and / or non-volatile memory, such as read-only memory (ROM) or flash RAM. Memory is an example of computer-readable media.
[0130] Computer-readable media include both permanent and non-permanent, removable and non-removable media, which can store information using any method or technology. Information can be computer-readable instructions, data structures, modules of programs, or other data. Examples of computer storage media include, but are not limited to, phase-change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, CD-ROM, digital versatile optical disc (DVD) or other optical storage, magnetic tape, magnetic magnetic disk storage or other magnetic storage devices, or any other non-transferable medium that can be used to store information accessible by a computing device. As defined herein, computer-readable media does not include transient computer-readable media, such as modulated data signals and carrier waves.
[0131] It should also be noted that the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such process, method, article, or apparatus. Unless otherwise specified, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes that element.
[0132] The above are merely embodiments of this application and are not intended to limit the scope of this application. Various modifications and variations can be made to this application by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the scope of the claims of this application.
Claims
1. A service publishing method, characterized in that, The service publishing method, applied to a cloud computing service platform, includes: Obtain information on services to be published, including the type of service to be published and the corresponding product information; Based on the service information to be published, a service logic editing interface is generated and displayed to the user. The service logic editing interface displays multiple encapsulated product API modules and calculation logic modules. The user selects the product API module and the computing logic module in the service logic editing interface to arrange them and obtain the business execution flow. In response to a service publication command, the service path is obtained, and the business execution process and the service path are registered with the gateway to complete the service publication.
2. The method according to claim 1, characterized in that, The process involves the user selecting and arranging product API modules and computational logic modules in the service logic editing interface to obtain the business execution flow, including: The user selects product APIs and computational logic blocks in the service logic editing interface to arrange them and obtain the initial execution flow. The initial execution process is tested, and the test results are obtained; If the detection result is passed, the initial execution process will be used as the business execution process.
3. The method according to claim 2, characterized in that, The step of detecting the initial execution process and obtaining the detection results includes: Obtain the node information of the initial execution process; Based on the node information, it is determined whether the nodes in the initial execution process meet the preset conditions, and the detection result is obtained.
4. The method according to claim 1, characterized in that, Also includes: Obtain API configuration parameter information for cloud products; Based on the API configuration parameter information of the cloud product, the API of the cloud product is queried to obtain the API query results; Based on the API configuration parameters of the cloud product and the API query results, a product API module is encapsulated.
5. The method according to claim 1, characterized in that, Also includes: Obtain a query request, which includes a request address and parameter information; Based on the request address, the processing logic is matched in a pre-set configuration library, which includes multiple service paths and corresponding business execution processes. The parameter information and the processing logic are sent to the service logic executor, which then executes the processing logic based on the parameter information to obtain the query result.
6. The method according to claim 5, characterized in that, The process of executing the processing logic based on the parameter information to obtain the query result includes: A1: Based on the node information of the processing logic, construct counters for all nodes to obtain node startup execution counters; A2: Store the parameter information in the global variable pool; A3: Filter out nodes with a counter of 0 to obtain the execution nodes; A4: Execute the execution node, and delete the node that has started execution from the execution counter of the node; A5: After a node is completed, determine the corresponding reached node and decrement the counter of the reached node by 1; A6: Repeat steps A3-A6 until all nodes in the node start execution counter are deleted; A7: Obtain the output of the output node from the global variable pool as the query result. The output node is a node whose output node type is "end".
7. The method according to claim 6, characterized in that, The execution process of any node includes: Based on the node information of the current node, the node type of the current node is determined; Based on the node type of the current node, execute the corresponding logical flow.
8. The method according to claim 7, characterized in that, The current node is a start node; The step of executing the corresponding logical flow based on the node type of the current node includes: The parameter information is obtained from the global variable pool and assembled into the output of the current node, and the output of the current node is stored in the global variable pool.
9. The method according to claim 7, characterized in that, The current node is an end node; The step of executing the corresponding logical flow based on the node type of the current node includes: The input parameters of the current node are assembled into the output of the current node, and the output of the current node is stored in the global variable pool.
10. The method according to claim 7, characterized in that, The current node is an API node; The step of executing the corresponding logical flow based on the node type of the current node includes: Get the list of call parameters; Based on the URL configuration information of the current node, obtain the URL information of the cloud products in various regions; Based on the variable values in the call parameter list and the URL information of the cloud product in various regions, the input parameters of the current node are updated to obtain the updated configuration of the cloud product in various regions; Based on the updated configurations of the cloud products in each region, query requests are constructed to obtain query requests for each region; Obtain the query results corresponding to the query requests for each region; Based on the output variable extraction configuration of the current node, the output variable information is extracted from the query results corresponding to the query requests of each region to obtain the query output results of cloud products in each region; Based on the output configuration of the current node, the return value is extracted from the query output results of cloud products in each region.
11. The method according to claim 7, characterized in that, The current node is a computational logic node. The step of executing the corresponding logical flow based on the node type of the current node includes: Get the input variables; Initialize the local variable pool and store the input variables into the local variable pool; Based on preset syntax rules, the code of the current node is parsed into a syntax tree; According to the structure of the syntax tree, the expression processing logic function corresponding to the logical node in the syntax tree is called to obtain the output parameter of the current node; Based on the output parameters of the current node, the return value is extracted from the local variable pool.
12. A service publishing device, characterized in that, The service publishing device, applied to a cloud computing service platform, includes: The acquisition module is used to acquire information about services to be published, including the type of service to be published and the corresponding product information. The interface module is used to generate a service logic editing interface based on the service information to be published, and to display the service logic editing interface to the user. The service logic editing interface displays multiple encapsulated product API modules and calculation logic modules. The orchestration module is used by users to select product API modules and computing logic modules in the service logic editing interface to orchestrate the business execution process. The registration module is used to respond to the service publishing instruction, obtain the service path, and register the business execution process and the service path with the gateway to complete the service publishing.
13. A cloud product operation control platform, characterized in that, The cloud product operation control platform uses the service publishing method described in any one of claims 1 to 11 for service management.
14. A processor, characterized in that, It is configured to perform the service publishing method according to any one of claims 1 to 11.
15. A machine-readable storage medium storing instructions thereon, characterized in that, When executed by a processor, this instruction causes the processor to be configured to perform the service publishing method according to any one of claims 1 to 11.
16. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by a processor, it implements the service publishing method according to any one of claims 1 to 11.