Service scheduling method, electronic device and storage medium

By deconstructing services into microservices and generating application service routing table entries, business traffic is dynamically scheduled, solving the problems of service interconnection and scheduling across resource pools and management domains, and achieving consistency and resource optimization of services throughout the entire lifecycle.

WO2026001503A1PCT designated stage Publication Date: 2026-01-02ZTE CORP
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2025/097313
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-06-25
Filing Date
2025-05-27
Publication Date
2026-01-02

AI Technical Summary

Technical Problem

Existing technologies cannot effectively manage service interconnection and scheduling across resource pools, management domains, and infrastructures, leading to service level degradation and reduced resource utilization, and failing to achieve dynamic scheduling and consistency assurance of global services.

Method used

The target service is decomposed into multiple microservices. Based on preset conditions, the computing network infrastructure and forwarding path corresponding to each microservice are determined. Application service link routing table entries are generated and distributed to the computing network infrastructure to dynamically schedule business traffic and achieve full lifecycle service consistency guarantee of the microservice chain.

Benefits of technology

By deconstructing and dynamically scheduling, the burden of local service management is reduced, consistency of services throughout the entire lifecycle is guaranteed, and dynamic and optimal use of resources is achieved, thereby improving service levels and resource utilization.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2025097313_02012026_PF_FP_ABST
    Figure CN2025097313_02012026_PF_FP_ABST
Patent Text Reader

Abstract

The present application relates to the technical field of communications. Disclosed are a service scheduling method, an electronic device and a storage medium. The method comprises: splitting a target service into a plurality of microservices; on the basis of preset conditions, determining a computing-network infrastructure corresponding to each microservice and forwarding paths between the computing-network infrastructures, wherein the preset conditions comprise, but are not limited to, a scheduling policy for the target service, scheduling constraints of the plurality of microservices, information of the computing-network infrastructure, and a network infrastructure capability; on the basis of the computing-network infrastructure corresponding to each microservice and the forwarding paths between the computing-network infrastructures, generating an application service chain routing entry, the application service chain routing entry comprising a mapping relationship between a microservice chain and each microservice, the microservice chain comprising the plurality of microservices, and the microservice chain being used for providing the target service; and issuing the application service chain routing entry to the computing-network infrastructures, so that the computing-network infrastructures schedule the service traffic of the plurality of microservices on the basis of the application service chain routing entry.
Need to check novelty before this filing date? Find Prior Art

Description

Service scheduling method, electronic device and storage medium

[0001] Cross-reference

[0002] The present application claims priority to the Chinese patent application No. 202410828377.X, filed on June 25, 2024, and entitled "Service scheduling method, electronic device and storage medium", the whole content of which is incorporated herein by reference. TECHNICAL FIELD

[0003] The present application belongs to the field of communication technology, and specifically relates to a service scheduling method, an electronic device and a storage medium. BACKGROUND

[0004] More and more complex and diversified applications and services will bring about the scenario of dynamic deployment of heterogeneous, extensive and large number of micro-service instances. Correspondingly, new requirements are put forward for the construction, management and operation of computing network infrastructure, mainly embodied in:

[0005] The east-west traffic corresponding to the service interconnection and scheduling across resource pools, management domains and infrastructures is increased. Correspondingly, the prerequisite for the local service to access and access the remote service is the registration of the remote service in the local end, and the large number of, dynamic, possibly on-demand service deployment mode puts forward new great challenges to the local remote or global service management capability. Through the static way of adding, deleting, modifying and inquiring, and managing the local registered services has become a great burden.

[0006] Applications and services are more and more complex and diversified, and among them there are often collaborative and chain scheduling relationships of micro-services corresponding to multiple sub-services. The interconnection of services means that the business traffic will pass through multiple service endpoints through the network, but the service endpoints and the network connecting the service endpoints cannot effectively understand the overall service or service chain carried thereby. This is because, whenever a service endpoint requests the next service, the forward message will always be terminated and a new message will be sent. Therefore, consistently guaranteeing service capability is a feature that existing mechanisms cannot meet.

[0007] The selection and scheduling of service endpoints to remote service endpoints are often static or based on static deployment strategies, which means that they cannot dynamically select the best one according to the remote resource situation and service capability, as well as the network situation connecting the remote service. Correspondingly, this may lead to the degradation of service level and the decline of computing network resource utilization.

[0008] Therefore, the related service scheduling cannot effectively manage the global service, and there is a problem that effective service interconnection and scheduling across resource pools, management domains and infrastructures cannot be achieved to realize the whole-cycle service guarantee across service endpoints. SUMMARY

[0009] The embodiment of the present application provides a service scheduling method, an electronic device and a storage medium.

[0010] In a first aspect, the embodiment of the present application provides a service scheduling method, which comprises the following steps: decomposing a target service into a plurality of microservices; determining, according to preset conditions, a computing network infrastructure corresponding to each microservice and a forwarding path between the computing network infrastructures, wherein the preset conditions comprise but are not limited to a scheduling strategy of the target service, a scheduling constraint of the plurality of microservices, information of the computing network infrastructures and network infrastructure capability; generating, according to the computing network infrastructure corresponding to each microservice and the forwarding path of each computing network infrastructure, an application service chain routing table item, wherein the application service chain routing table item comprises a mapping relationship between a microservice chain and each microservice, the microservice chain comprises a plurality of microservices, and the microservice chain is used for providing the target service; and delivering the application service chain routing table item to the computing network infrastructures, so that the computing network infrastructures schedule service traffic of the plurality of microservices according to the application service chain routing table item.

[0011] In a second aspect, the embodiment of the present application provides a service scheduling device, which comprises: a decomposition module configured to decompose a target service into a plurality of microservices; a determination module configured to determine, according to preset conditions, a computing network infrastructure corresponding to each microservice and a forwarding path between the computing network infrastructures, wherein the preset conditions comprise but are not limited to a scheduling strategy of the target service, a scheduling constraint of the plurality of microservices, information of the computing network infrastructures and network infrastructure capability; a generation module configured to generate, according to the computing network infrastructure corresponding to each microservice and the forwarding path of each computing network infrastructure, an application service chain routing table item, wherein the application service chain routing table item comprises a mapping relationship between a microservice chain and each microservice, the microservice chain comprises a plurality of microservices, and the microservice chain is used for providing the target service; and a scheduling module configured to deliver the application service chain routing table item to the computing network infrastructures, so that the computing network infrastructures schedule service traffic of the plurality of microservices according to the application service chain routing table item.

[0012] In a third aspect, the embodiment of the present application provides an electronic device, which comprises a processor, a memory and a program or instructions stored in the memory and executable on the processor, and the program or instructions are executed by the processor to implement the steps of the method in the first aspect.

[0013] In a fourth aspect, the embodiment of the present application provides a readable storage medium, wherein the readable storage medium stores a program or instructions, and the program or instructions are executed by a processor to implement the steps of the method in the first aspect. BRIEF DESCRIPTION OF DRAWINGS

[0014] Fig. 1 is a flow diagram of a service scheduling method according to an embodiment of the present application;

[0015] Fig. 2 is a schematic diagram of a service architecture according to an embodiment of the present application;

[0016] Fig. 3 is a schematic diagram of a micro-service scheduling constraint according to an embodiment of the present application;

[0017] Fig. 4 is a schematic diagram of service route generation according to an embodiment of the present application;

[0018] Fig. 5 is a schematic diagram of a service structure according to an embodiment of the present application;

[0019] Fig. 6 is a schematic diagram of a forwarding path calculation according to an embodiment of the present application;

[0020] Fig. 7 is a schematic diagram of service scheduling according to an embodiment of the present application;

[0021] Fig. 8 is another schematic diagram of service scheduling according to an embodiment of the present application;

[0022] Fig. 9 is a schematic diagram of a service scheduling apparatus according to an embodiment of the present application;

[0023] Fig. 10 is a schematic diagram of an electronic device according to an embodiment of the present application. DETAILED DESCRIPTION

[0024] The technical solutions in the embodiments of the present application will be described clearly and completely below with reference to the drawings in the embodiments of the present application. Obviously, the described embodiments are only some of the embodiments of the present application, rather than all the embodiments of the present application. Based on the embodiments in the present application, all other embodiments obtained by those skilled in the art without creative work fall within the scope of the present application.

[0025] The terms "first", "second", etc. in the specification and claims of the present application are used to distinguish similar objects, and are not used to describe a specific order or sequence. It should be understood that the data used in this way can be interchanged under appropriate circumstances, so that the embodiments of the present application can be implemented in an order other than that illustrated or described herein, and the objects distinguished by "first", "second", etc. are generally of a kind and are not limited in number, for example, the first object can be one or more. In addition, "and / or" in the specification and claims means at least one of the connected objects, and the character " / " generally represents an "or" relationship between the objects before and after it.

[0026] The service scheduling method, electronic device and storage medium provided by the embodiments of the present application will be described in detail below with reference to the drawings and specific embodiments and their application scenarios.

[0027] FIG. 1 shows a service scheduling method provided by an embodiment of the present application, which can be executed by an electronic device. In other words, the method can be executed by software or hardware installed in the electronic device, and the method comprises the following steps:

[0028] Step 102: decompose the target service into multiple microservices.

[0029] In the embodiment of the present application, as shown in FIG. 2, a service architecture is provided, which comprises a service plane, a management plane, a control plane, a data plane and an infrastructure plane. Among them, service analysis and operation, service and resource modeling, service and orchestration policy management are arranged in the management plane. Service registration and injection, service discovery and publishing, service route generation and service infrastructure interconnection functions are arranged in the control plane. Service identification management, service-aware forwarding, service observation and guarantee functions are arranged in the data plane.

[0030] Service analysis and operation management: more and more complex and diversified applications and services show different application characteristics and features to users and users, and in the management plane, in order to realize the interconnection, cooperation and chain orchestration of wide-area services, the service analysis and operation management function explains the corresponding mapping relationship between the external form and the internal form of the service, that is, the target service provided by the computing network infrastructure is decomposed into multiple microservices.

[0031] As an example, the target service can be decomposed into multiple microservices, which can be decomposed into multiple microservices: data preprocessing service, which is responsible for data preprocessing, including but not limited to data cleaning, feature engineering, data enhancement, etc.; model training service, which is responsible for model training, including model selection, hyperparameter adjustment, model training, etc. Model prediction service, which is responsible for model prediction, receives input data and predicts results through the model. Model evaluation service: this service is responsible for model evaluation, including model performance index calculation, model effect visualization, etc. Model update service, which is responsible for model updating, when the performance of the model no longer meets the requirements, the model can be updated through this service. Model storage service, which is responsible for model storage, including model saving, version management, etc. API service: this service is responsible for providing API interface, calling model prediction function from outside.

[0032] As another example, the live broadcast service is decomposed into multiple microservices: a user authentication service, which is responsible for user authentication, including but not limited to verification of username and password, generation and verification of tokens, etc. A live broadcast list service, which is responsible for providing a list of live broadcasts for users to select a live broadcast to watch. A live broadcast play service, which is responsible for playing live broadcasts, including acquisition, decoding, rendering, VR / AR, etc. of video streams. A live broadcast recording service, which is responsible for recording live broadcasts, including recording, storage, retrieval, etc. of video streams. A live broadcast bullet screen service, which is responsible for processing bullet screens in live broadcasts, including sending, receiving, displaying, etc. of bullet screens. A live broadcast payment service, which is responsible for processing payment requests in live broadcasts.

[0033] The above decomposed microservices have serial, parallel, one-way, and two-way calling relationships, and their interconnection and cooperation form the overall externally provided target service.

[0034] Step 104: According to a preset condition, determine the computing network infrastructure corresponding to each microservice and the forwarding path between the computing network infrastructures.

[0035] In the embodiments of the present application, after the target service is structured into multiple microservices, the computing network infrastructure corresponding to each microservice and the forwarding path between the computing network infrastructures need to be determined according to a preset condition, wherein the preset condition includes but is not limited to the scheduling strategy of the target service, the scheduling constraint of the multiple microservices, the information of the computing network infrastructure, and the network infrastructure capability.

[0036] In one implementation, before the computing network infrastructure corresponding to each microservice and the forwarding path between the computing network infrastructures are determined according to the preset condition, it further includes: obtaining service requirements of each microservice, the service requirements including resource requirements and network requirements of each microservice; formulating the scheduling strategy according to the service requirements of each microservice; or obtaining resource information of each computing network infrastructure; formulating the scheduling strategy according to the resource information of each computing network infrastructure.

[0037] Specifically, service evaluation and resource modeling: the multiple microservices decomposed from a service each have different service requirements supporting the implementation of the service, and the requirements of the group of microservices decomposed from the function need to be modeled, including but not limited to: obtaining resource requirements and network requirements of each microservice, for example: the model training microservice has certain requirements for resource computing capability, related indicators such as CPU core number, resource load condition, floating point computing capability, etc.; the data preprocessing service and the model training service have a calling relationship, and since the model training needs a large amount of preprocessed data, the network connecting the data preprocessing service and the model training service needs to be guaranteed with large bandwidth and low packet loss rate.

[0038] Get the interconnection and scheduling constraints between each microservice, for example: deep learning service is decomposed into multiple microservices, there are often feedback relationships between multiple microservices, that is, the accuracy of model prediction and the result will be fed back to the training stage of the model for correction, therefore, the serial, parallel, one-way, two-way calling constraint relationship between services needs to be fed back.

[0039] For example, as shown in FIG. 3, the target service (SERVICE) is decomposed into five microservices A, B, C, D and E, and there is an interconnection and scheduling constraint (A-B-C-B-D-E) between them, wherein, for example, A-B is a one-way Notification relationship, and B-C is a two-way request-response relationship. In addition, the transmission network connecting each microservice also has certain constraint conditions, for example, as shown in FIG. 3, there is a 100M transmission constraint condition between B and C.

[0040] Service scheduling and orchestration strategy management: algorithm network infrastructure management and service operation management can formulate, input and configure service scheduling and orchestration strategies according to resource demand and network demand or service demand, including but not limited to: implementing optimal scheduling according to service demand, such as shortest service full-cycle delay; obtaining resource information of algorithm network infrastructure, and implementing balanced scheduling according to resource balancing optimization target, such as balanced distribution of business traffic in multiple resource pools.

[0041] In an implementation manner, the information of the algorithm network infrastructure includes but is not limited to: resource distribution information, deployment information of service instances, network topology and network capability.

[0042] In the control plane, service discovery and publishing: the control plane collects resource conditions, service instance deployment conditions and corresponding network capabilities through existing or extended distributed routing protocols (such as IGP, BGP, etc.) and northbound protocol channels (such as BGP-LS, RESTful, Telemetry, etc.) of the algorithm network infrastructure to obtain information of the algorithm network infrastructure, including but not limited to: resource distribution information, that is, resource distribution conditions of the resource pool, such as CPU core number, load, average processing delay, floating point calculation capability, etc. Deployment information of service instances, such as deployment location of service instances, number of service instances, number of available idle instances, etc. Network topology and network capability, such as link delay, bandwidth, packet loss rate, jitter, etc.

[0043] In an implementation manner, the method further includes:

[0044] According to the information of the computing network infrastructure, the network infrastructure capability and the scheduling constraints of the plurality of microservices, a service route conforming to the service demand and the scheduling strategy is generated, wherein indexes of the service route are microservice identifiers and microservice chain identifiers of the microservices, and the service route includes the computing network infrastructure corresponding to each microservice and the forwarding path.

[0045] Service route generation: as shown in FIG. 4, in combination with the service discovery and publishing function, based on the service evaluation and resource modeling and the service scheduling and orchestration strategy management result, the control plane calculates and orchestrates the service route indexed by the microservice identifier and the microservice chain identifier to meet the service demand and comply with the scheduling strategy. That is, according to the information of the computing network infrastructure, the network infrastructure capability and the scheduling constraints of the plurality of microservices, a service route conforming to the service demand and the scheduling strategy is generated. Wherein, the service route index is the microservice identifier (Service ID) and the microservice chain identifier (Application Function Chain ID, AFC ID), and the forwarding path can be expressed by, for example, SRv6 SID (Binding SID, computing power service SID), and the service route includes the computing network infrastructure corresponding to each microservice and the forwarding path.

[0046] In an implementation manner, before the service route conforming to the service demand and the scheduling strategy is generated according to the information of the computing network infrastructure, the network infrastructure capability and the scheduling constraints of the plurality of microservices, it further includes: determining the microservice mark of each microservice according to the level of each microservice in the microservice chain; and determining the microservice chain mark according to the information of the microservice chain.

[0047] Specifically, in the control plane, the service registration and management establish the mapping relationship between the service identifier and each microservice and the application or service composed of the microservice according to the service analysis and operation management result. Accordingly, the microservice mark of each microservice is determined according to the level of each microservice in the microservice chain, and the microservice chain mark is determined according to the information of the microservice chain. The microservice identifier (Service ID) and the microservice chain identifier (Application Function Chain ID, AFC ID) are recorded.

[0048] Service connection and scheduling injection: based on the generated service route, the control plane maps the service route entry into the corresponding configuration, and delivers it to the corresponding computing network infrastructure, and injects it into the control plane of the resource cluster, for example, by modifying the VirtualService, ServiceEntry and other network API configurations, and injects the scheduling result into the Istio service mesh.

[0049] Step 106: generating an application service chain routing table item according to the computing network infrastructure corresponding to each of the microservices and the forwarding path of each of the computing network infrastructures.

[0050] Specifically, the service application service chain routing table item includes a mapping relationship between a microservice chain and each of the microservices, the microservice chain includes a plurality of the microservices, and the microservice chain is used to provide the target service.

[0051] In an implementation manner, the generating of the application service chain routing table item according to the computing network infrastructure corresponding to each of the microservices and the forwarding path of each of the computing network infrastructures includes: generating the application service chain routing table item according to the service routing, and the mapping relationship between the microservice and the microservice chain is a mapping relationship between a microservice identifier and a microservice chain identifier.

[0052] In the data plane, service identifier management: according to the service registration and management result of the control plane, the service identifier management maintains the mapping relationship between the service identifier and each microservice and the application or service composed of the microservices. Similarly, denoted as a microservice identifier (Service ID) and a microservice chain identifier (Application Function Chain ID, AFC ID).

[0053] For example, a group of typical relationships is: (microservice chain identifier, microservice identifier 1, microservice identifier 2, microservice identifier 3, microservice identifier 4), and then the data plane can map the next microservice identifier according to the microservice chain identifier and the last microservice identifier, such as (microservice chain identifier, microservice identifier 1)-(microservice chain identifier, microservice identifier 2), that is, after passing through the microservice 1, the service identifier carried is updated to (microservice chain identifier, microservice identifier 2).

[0054] The data plane includes a service-aware forwarding function, and the application service chain routing table item is generated according to the service routing generated by the control plane, that is, the mapping relationship between the microservice and the microservice chain is a mapping relationship between a microservice identifier and a microservice chain identifier.

[0055] Step 108: issuing the application service chain routing table item to the computing network infrastructure.

[0056] Specifically, the application service chain routing table item can be issued to the computing network infrastructure, so that the computing network infrastructure schedules the service traffic of the plurality of microservices according to the application service chain routing table item.

[0057] In an implementation, the computing network infrastructure comprises target service gateways, and the step of distributing the application service chain routing table to the computing network infrastructure to enable the computing network infrastructure to schedule traffic of the plurality of microservices according to the application service chain routing table comprises:

[0058] The application service chain routing table is distributed to the target service gateway to enable the target service gateway to schedule traffic of the plurality of microservices according to the application service chain routing table.

[0059] Specifically, after the application service chain routing table indexed by the AFC ID and the Service ID is generated, the application service chain routing table can be distributed to the target service gateway of the service-aware network to enable the target service gateway to schedule traffic of the plurality of microservices according to the application service chain routing table.

[0060] In an implementation, the step of distributing the application service chain routing table to each of the target service gateways to enable the target service gateway to schedule the plurality of microservices according to the application service chain routing table comprises:

[0061] The application service chain routing table is distributed to the target service gateway to enable the target service gateway to, in a case where traffic is received, forward the traffic of the microservice according to the microservice identifier carried in the traffic and the mapping relationship between the microservice chain and each of the microservices in the application service chain routing table.

[0062] Specifically, after the application service chain routing table indexed by the AFC ID and the Service ID is distributed to the target service gateway, the data plane forwards traffic according to the application service chain routing table and implements and executes the traffic affinity function as needed. The target service gateway forwards traffic of the microservice according to the microservice identifier carried in the traffic and the mapping relationship between the microservice chain and each of the microservices in the application service chain routing table in a case where traffic is received.

[0063] In an implementation, the computing network infrastructure comprises sidecars or proxies of service endpoints, and the step of distributing the application service chain routing table to the computing network infrastructure to enable the computing network infrastructure to schedule traffic of the plurality of microservices according to the application service chain routing table comprises: distributing the application service chain routing table to the sidecars or proxies of the service endpoints to enable the sidecars or proxies to, in a case where traffic of the microservice is received, replace the microservice chain identifier and the microservice identifier carried in the traffic according to the application service chain routing table and then schedule the traffic.

[0064] Specifically, after the application service link routing table item indexed by the AFC ID and the Service ID is generated, the application service link routing table item can be distributed to the sidecar or proxy of the service endpoint, so that the sidecar or proxy replaces the microservice chain identifier and the microservice identifier in the business traffic according to the service routing when receiving the business traffic of the microservice, and then schedules the business traffic.

[0065] In an implementation manner, the application service link routing table item is distributed to the sidecar or proxy of the service endpoint, so that the sidecar or proxy replaces the microservice chain identifier and the microservice identifier in the business traffic according to the application service link routing table item when receiving the business traffic of the microservice, and then schedules the business traffic.

[0066] The application service link routing table item is distributed to the sidecar or proxy of the service endpoint, so that the sidecar or proxy determines the next microservice identifier according to the microservice chain identifier and the microservice identifier of the previous microservice carried in the received business traffic when receiving or intercepting the business traffic sent by the microservice, encapsulates the microservice identifier and the next microservice identifier in the network layer header of the business traffic packet, and forwards the received business traffic to the microservice corresponding to the next microservice identifier.

[0067] Specifically, after the application service link routing table item is distributed to the sidecar or proxy of the service endpoint, if the sidecar or proxy receives or intercepts the business traffic sent by the microservice, the next microservice identifier can be determined according to the microservice chain identifier and the microservice identifier of the previous microservice carried in the received business traffic, the microservice identifier and the next microservice identifier are encapsulated in the network layer header of the business traffic packet, and the received business traffic is forwarded to the microservice corresponding to the next microservice identifier.

[0068] The service scheduling method provided by the embodiments of the present application comprises the following steps: decomposing a target service into a plurality of microservices; determining the computing network infrastructure corresponding to each microservice and the forwarding path between the computing network infrastructures according to preset conditions, wherein the preset conditions include but are not limited to the scheduling strategy of the target service, the scheduling constraints of the plurality of microservices, the information of the computing network infrastructure and the network infrastructure capability; generating an application service chain routing table item according to the computing network infrastructure corresponding to each microservice and the forwarding path of the computing network infrastructure, wherein the application service chain routing table item comprises the mapping relationship between the microservice chain and each microservice, the microservice chain comprises a plurality of microservices, and the microservice chain is used to provide the target service; and delivering the application service chain routing table item to the computing network infrastructure, so that the computing network infrastructure schedules the service traffic of the plurality of microservices according to the application service chain routing table item. The service side no longer needs to maintain a large number of dynamic remote or global services and corresponding service instances, thereby reducing the huge burden of local registration service management. The microservice chain identifier and the microservice identifier penetrate a plurality of service endpoints and network infrastructures, become the service full life cycle index, and provide full-cycle service consistency guarantee. Dynamic computing network resource perception is realized through the computing network infrastructure. The computing network infrastructure and the wide-area service interconnection control plane dynamically select the optimal one according to the remote resource condition and the service capability, as well as the network condition connecting the remote service.

[0069] In an implementation manner, after the application service chain routing table item is delivered to the computing network infrastructure, the method further comprises the following steps: checking the full-cycle scheduling quality of the microservice chain; in the case that the full-cycle scheduling quality of the microservice chain does not meet the preset condition, locating the quality deterioration reason of the full-cycle scheduling of the microservice chain; in the case that the full-cycle scheduling quality of the microservice chain does not meet the preset condition, replacing the microservice in the microservice chain scheduling path with a backup microservice of the same type, or replacing the network forwarding path in the microservice chain scheduling path with a backup path of the path.

[0070] The data plane has service guarantee and observability functions: the data plane detects and checks the actual service capability of the service traffic in the whole cycle through technologies such as stream detection and application monitoring, and detects the planned resources, services, paths and the like, restores and feeds back whether the service quality during the service traffic in the whole cycle meets the expectation, and locates the possible faults and degradation. After the application service link routing table item is sent to the algorithm network infrastructure, the quality of the whole cycle scheduling of the micro service can be checked; in the case that the quality of the whole cycle scheduling of the micro service does not meet the preset condition, the quality degradation of the whole cycle scheduling of the micro service is located. And in the case that the quality of the whole cycle scheduling of the micro service chain does not meet the preset condition, the micro service in the micro service chain scheduling path can be replaced by a backup micro service of the same type, or the network forwarding path in the micro service chain scheduling path can be replaced by a backup path of the path. The preset condition can be set according to actual needs. In this way, the quality degradation of the whole cycle scheduling of the micro service can be located, and the forwarding plane can be quickly switched or path-level / instance-level protected when it is disabled and degraded.

[0071] The service scheduling method provided by the application is specifically described below through a specific example:

[0072] The management plane disassembles and models the application and service based on logical functions such as service analysis, modeling and policy management. As shown in FIG. 5, the target service is disassembled into a micro service chain of X-A-B-C, and the target micro service instance and the network transmission capability requirement and expectation connecting the target micro service instance are as shown in FIG. 5.

[0073] As shown in FIG. 6, the control plane calculates the service instances of the micro service chain and the forwarding paths between the service instances, for example, AFC X-A-B-C selects service instances A1, B1 and C1 respectively, and the forwarding paths (taking SRv6 Policy as an example) between them are represented by Binding SID A1, Binding SID B1 and Binding SID C1 respectively, and then sent to the service gateway of the corresponding service-aware network. Among them, AFC ID and Service ID are used as key values and indexes to identify a section of service interconnection logic in an application service chain. Therefore, as AFC X-A-B-C and X-A-D, as two kinds of application service chains, there is micro service interconnection and calling logic of X-A, but the service requirements of the two application service chains may be inconsistent, therefore, (X-A-B-C, A) and (X-A-D, A) are used as indexes to identify the micro service interconnection and calling logic of-A in X-A-B-C and X-A-D respectively.

[0074] Take Istio as an example, the service connection and scheduling injection function injects the corresponding configuration into the Istio network API, as shown in FIG. 7, and the ServiceEntry is configured with the access service-aware network service gateway address or identifier of the corresponding cluster for the endpoint of the remote service.

[0075] The data plane sends a service message, which is first intercepted by the service instance or the sidecar or proxy of the node where the service instance is located, and is converted into the access service gateway address or identifier defined by the network API according to the Cluster IP, i.e. Service IP, in the destination address field of the message, and the AFC ID and Service ID are attached to the application layer message header of the service message through technologies such as distributed tracing technology (sidecar and proxy intercept messages, process traceID and spanID carried in the application layer message header, corresponding to AFC ID and Service ID in this proposal), Raw Socket technology (sidecar and proxy can edit and send packets independently), eBPF technology, etc., and are carried in the network layer message header, such as IPv6 extension header (HBH, DOH and SRH, etc.). The service message reaches the access service gateway, which queries the application service link routing table item according to the AFC ID and Service ID in the network layer message header, and forwards it to the next cluster according to the corresponding forwarding path. The traffic to the next service instance will also be intercepted by the sidecar or proxy of the service instance or the node where the service instance is located, and the AFC ID and Service ID carried in the message are recorded. After the local service instance processes the business, the service message is reissued. At this time, the sidecar or proxy recognizes the corresponding application service chain traffic according to the previous AFC ID and Service ID record, replaces the Service ID with the service identifier of the next microservice (the Service ID of the predecessor service can be filled in the Parent ID field as needed) according to the application service chain routing table item indexed by the AFC ID and Service ID issued by the control plane, and continues the similar forwarding process, finally completing the whole cycle of business.

[0076] Taking FIG. 8 as an example, the ProductPage, ProductReviews and Ratings form a chained service interconnection relationship, each Pod of a service instance corresponds to a Proxy agent, the ProductPage service receives a service packet, and the Proxy records the current AFC ID and Service ID (for example, the AFC ID code is filled in the traceID field and the Service ID code is filled in the spanID field by using a distributed tracking technology), and then sends the service container for processing, the service container sends a new packet after processing, which also carries consistent AFC ID and Service ID, and is intercepted by the Proxy again, the Proxy identifies that the service traffic will access the microservice corresponding to 222222 next according to the prior knowledge (AFC ID: 111111, 111111-222222-333333), and then fills the new microservice identifier in the spanID field and the service identifier of the previous service in the parentID field.

[0077] It should be noted that the service scheduling method provided in the embodiments of the present application can be executed by a service scheduling device or a control module in the service scheduling device for executing the service scheduling method. In the embodiments of the present application, the service scheduling device executes the service scheduling method as an example to illustrate the service scheduling device provided in the embodiments of the present application.

[0078] FIG. 9 is a structural schematic diagram of a service scheduling device according to an embodiment of the present application. As shown in FIG. 9, the service scheduling device 900 includes a deconstruction module 910, a determination module 920, a generation module 930 and a scheduling module 940.

[0079] The deconstruction module 910 is configured to deconstruct a target service into a plurality of microservices. The determination module 920 is configured to determine, according to a preset condition, a network infrastructure corresponding to each microservice and a forwarding path between the network infrastructures, wherein the preset condition includes but is not limited to a scheduling policy of the target service, a scheduling constraint of the plurality of microservices, information of the network infrastructures and network infrastructure capability. The generation module 930 is configured to generate an application service chain routing table item according to the network infrastructure corresponding to each microservice and the forwarding path of each network infrastructure, wherein the application service chain routing table item includes a mapping relationship between a microservice chain and each microservice, the microservice chain includes a plurality of microservices, and the microservice chain is used to provide the target service. The scheduling module 940 is configured to issue the application service chain routing table item to the network infrastructures, so that the network infrastructures schedule service traffic of the plurality of microservices according to the application service chain routing table item.

[0080] In an implementation manner, the computing network infrastructure includes a target service gateway, and the scheduling module 940 is configured to distribute the application service chain routing table item to the target service gateway, so that the target service gateway schedules traffic of the plurality of microservices according to the forwarding table item.

[0081] In an implementation manner, the scheduling module 940 is configured to distribute the application service chain routing table item to the target service gateway, so that the target service gateway forwards traffic of the microservice according to the microservice identifier carried in the traffic and the mapping relationship between the microservice chain and each microservice in the application service chain routing table item when the traffic is received.

[0082] In an implementation manner, the scheduling module 940 is configured to distribute the application service chain routing table item to the sidecar or proxy of the service endpoint, so that the sidecar or proxy replaces the microservice chain identifier and the microservice identifier in the traffic and then schedules the traffic when the traffic of the microservice is received.

[0083] In an implementation manner, the scheduling module 940 is configured to distribute the application service chain routing table item to the sidecar or proxy of the service endpoint, so that the sidecar or proxy replaces the microservice chain identifier and the microservice identifier in the traffic and then schedules the traffic when the traffic of the microservice is received.

[0084] In an implementation manner, the generation module 930 is configured to obtain service requirements of each microservice, the service requirements including resource requirements and network requirements of each microservice, to formulate the scheduling strategy according to the service requirements of each microservice, or to obtain resource information of each computing network infrastructure, and to formulate the scheduling strategy according to the resource information of each computing network infrastructure.

[0085] In an implementation manner, the information of the computing network infrastructure includes but is not limited to resource distribution information, deployment information of service instances, network topology and network capability.

[0086] In an implementation manner, the determining module 920 is configured to generate a service route meeting the service requirement and the scheduling strategy according to the information of the network infrastructure, the network infrastructure capability and the scheduling constraint of the plurality of microservices, wherein an index of the service route is a microservice identifier of each microservice and a microservice chain identifier of a microservice chain, and the service route includes the network infrastructure and the forwarding path corresponding to each microservice.

[0087] In an implementation manner, the determining module 920 is configured to generate the application service chain routing table item according to the service route, and a mapping relationship between the microservices and the microservice chain is a mapping relationship between the microservice identifier and the microservice chain identifier.

[0088] In an implementation manner, the determining module 920 is configured to determine a microservice label of each microservice according to a hierarchy of each microservice in the microservice chain, and determine the microservice chain label according to the information of the microservice chain.

[0089] In an implementation manner, the scheduling module 940 is further configured to check a whole-cycle scheduling quality of a microservice chain, perform quality inferior factor positioning on the whole-cycle scheduling of the microservice chain in a case where the whole-cycle scheduling quality of the microservice chain does not meet a preset condition, and replace a microservice in a scheduling path of the microservice chain with a backup microservice of the microservice type or replace a network forwarding path in the scheduling path of the microservice chain with a backup path of the path in a case where the whole-cycle scheduling quality of the microservice chain does not meet the preset condition.

[0090] The service scheduling apparatus in the embodiments of the present application can be an apparatus, or a component, an integrated circuit or a chip in a terminal. The apparatus can be a mobile electronic device or a non-mobile electronic device. Exemplarily, the mobile electronic device can be a mobile phone, a tablet computer, a notebook computer, a palm computer, a vehicle-mounted electronic device, a wearable device, an ultra-mobile personal computer (UMPC), a netbook or a personal digital assistant (PDA), etc., and the non-mobile electronic device can be a server, a network attached storage (NAS), a personal computer (PC), a television (TV), a teller machine or a self-service machine, etc., and the embodiments of the present application are not limited in this regard.

[0091] The service scheduling apparatus in the embodiments of the present application can be an apparatus with an operating system. The operating system can be an Android operating system, an ios operating system, or other possible operating systems, which are not limited in the embodiments of the present application.

[0092] The service scheduling apparatus provided in the embodiments of the present application can implement various processes implemented by the method embodiments of FIG. 1 to FIG. 8, and thus details are not repeated here.

[0093] Optionally, as shown in FIG. 10, the embodiments of the present application further provide an electronic device 1000, which includes a processor 1001 and a memory 1002, and the memory 1002 stores programs or instructions executable on the processor 1001, and the programs or instructions are executed by the processor 1001 to implement: decomposing a target service into a plurality of microservices; determining, according to a preset condition, a computing network infrastructure corresponding to each of the microservices and a forwarding path between the computing network infrastructures, the preset condition including but not limited to a scheduling policy of the target service, a scheduling constraint of the plurality of microservices, information of the computing network infrastructures, and network infrastructure capability; generating an application service chain routing table item according to the computing network infrastructure corresponding to each of the microservices and the forwarding path between the computing network infrastructures, the application service chain routing table item including a mapping relationship between a microservice chain and each of the microservices, the microservice chain including a plurality of the microservices, and the microservice chain being used to provide the target service; and delivering the application service chain routing table item to the computing network infrastructure, so that the computing network infrastructure schedules service traffic of the plurality of microservices according to the application service chain routing table item.

[0094] In an implementation manner, the application service chain routing table item is delivered to the target service gateway, so that the target service gateway schedules service traffic of the plurality of microservices according to the forwarding table item.

[0095] In an implementation manner, the application service chain routing table item is delivered to the target service gateway, so that the target service gateway schedules service traffic of the plurality of microservices according to the forwarding table item.

[0096] In an implementation manner, the application service chain routing table item is delivered to the target service gateway, so that the target service gateway schedules service traffic of the plurality of microservices according to the forwarding table item.

[0097] In an implementation manner, the application service chain routing table item is delivered to the sidecar or proxy of the service endpoint, so that each sidecar or proxy determines a next microservice identifier according to the microservice chain identifier carried in the received service traffic and the microservice identifier of the last microservice when receiving / intercepting the service traffic sent by the microservice, encapsulates the microservice identifier and the next microservice identifier in the network layer header of the service traffic packet, and forwards the received service traffic to the microservice corresponding to the next microservice identifier.

[0098] In an implementation manner, before the information of the computing network infrastructure corresponding to each microservice and the forwarding path between the computing network infrastructures are determined according to the preset condition, the service requirement of each microservice is acquired, the service requirement includes the resource requirement and network requirement of each microservice, the scheduling strategy is formulated according to the service requirement of each microservice, or the resource information of each computing network infrastructure is acquired, and the scheduling strategy is formulated according to the resource information of each computing network infrastructure.

[0099] In an implementation manner, the information of the computing network infrastructure includes but is not limited to the resource distribution information, the deployment information of the service instance, the network topology and the network capability.

[0100] In an implementation manner, the service route meeting the service requirement and the scheduling strategy is generated according to the information of the computing network infrastructure, the network infrastructure capability and the scheduling constraint of the plurality of microservices, the index of the service route is the microservice identifier of each microservice and the microservice chain identifier of the microservice chain, and the service route includes the computing network infrastructure corresponding to each microservice and the forwarding path.

[0101] In an implementation manner, the application service chain routing table item is generated according to the service route, and the mapping relationship between the microservice and the microservice chain is the mapping relationship between the microservice identifier and the microservice chain identifier.

[0102] In an implementation manner, before the service route meeting the service requirement and the scheduling strategy is generated according to the information of the computing network infrastructure, the network infrastructure capability and the scheduling constraint of the plurality of microservices, the microservice identifier of each microservice is determined according to the level of each microservice in the microservice chain, and the microservice chain identifier is determined according to the information of the microservice chain.

[0103] In an implementation, after the application service link routing table item is delivered to the network infrastructure, the full-cycle scheduling quality of the microservice chain is checked; in the case that the full-cycle scheduling quality of the microservice chain does not meet preset conditions, quality inferior factor positioning is performed on the full-cycle scheduling of the microservice chain; in the case that the full-cycle scheduling quality of the microservice chain does not meet preset conditions, a microservice in the microservice chain scheduling path is replaced with a backup microservice of the microservice type, or a network forwarding path in the microservice chain scheduling path is replaced with a backup path of the path.

[0104] The specific implementation steps can refer to the steps of the service scheduling method embodiments described above, and the same technical effects can be achieved. To avoid repetition, they will not be described here.

[0105] It should be noted that the electronic device in the embodiments of the present application includes a server, a terminal or other devices in addition to the terminal.

[0106] The above electronic device structure does not constitute a limitation on the electronic device, and the electronic device can include more or fewer components than the illustration, or combine certain components, or different component arrangements. For example, the input unit can include a graphics processing unit (GPU) and a microphone, and the display unit can be configured with a display panel in the form of a liquid crystal display, an organic light-emitting diode, etc. The user input unit includes at least one of a touch panel and other input devices. The touch panel is also called a touch screen. Other input devices can include, but are not limited to, a physical keyboard, function keys (such as volume control buttons, on-off buttons, etc.), trackballs, mice, joysticks, and the like, which will not be described here.

[0107] The memory can be used to store software programs and various data. The memory can mainly include a first storage area storing programs or instructions and a second storage area storing data, wherein the first storage area can store an operating system, application programs or instructions required by at least one function (such as a sound playing function, an image playing function, etc.), and the like. In addition, the memory can include a volatile memory or a non-volatile memory, or the memory can include both volatile and non-volatile memories. The non-volatile memory can be a Read-Only Memory (ROM), a Programmable ROM (PROM), an Erasable PROM (EPROM), an Electrically EPROM (EEPROM), or a flash memory. The volatile memory can be a Random Access Memory (RAM), a Static RAM (SRAM), a Dynamic RAM (DRAM), a Synchronous DRAM (SDRAM), a Double Data Rate SDRAM (DDR SDRAM), an Enhanced SDRAM (ESDRAM), a Synch link DRAM (SLDRAM), and a Direct Rambus RAM (DRRAM).

[0108] The processor can include one or more processing units; optionally, the processor integrates an application processor and a modem processor, wherein the application processor mainly processes operations related to an operating system, a user interface, and an application program, and the modem processor mainly processes wireless communication signals, such as a baseband processor. It can be understood that the above-mentioned modem processor can also not be integrated into the processor.

[0109] The embodiment of the application further provides a readable storage medium, and the readable storage medium stores programs or instructions, the programs or instructions are executed by a processor to realize various processes of the above-mentioned service scheduling method embodiment, and the same technical effects can be achieved, and details are not repeated here.

[0110] The processor is the processor in the electronic device in the above-mentioned embodiment. The readable storage medium includes a computer readable storage medium, such as a ROM, a RAM, a magnetic disc, or an optical disc.

[0111] It should be noted that, in the present document, the terms "comprises", "comprising", or any other variations thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but can include other elements not expressly listed or inherent to such process, method, article, or apparatus. An element proceeded by "comprises... a" does not, without more constraints, exclude the presence of additional identical elements in the process, method, article, or apparatus that comprises the element. Furthermore, it is to be understood that the method and apparatus of the present application can be carried out by more than one process, method, article, or apparatus either simultaneously, concurrently, or with intervening action that are carried out at the same time, either in a simultaneous fashion or in a fashion that is interleaved in time. For example, the described methods can be performed in a different order from that described, and / or various steps can be combined or omitted, and / or additional steps can be added, without departing from the scope of the present application. Also, features described with respect to certain examples can be combined in other examples.

[0112] From the above description of the embodiments, it is apparent that the above-described method of the embodiments can be realized by means of software and general-purpose hardware platforms, and of course, can also be realized by hardware, but in many cases, the former is a better embodiment. Based on such an understanding, the technical solutions of the present application can be embodied in the form of a computer software product, which is stored in a storage medium (such as a ROM / RAM, a magnetic disk, or an optical disk), and includes a plurality of instructions for causing a terminal (which can be a mobile phone, a computer, a server, or a network device, etc.) to execute the method described in each embodiment of the present application.

[0113] The embodiments of the present application are described above in conjunction with the accompanying drawings, but the present application is not limited to the above-described specific embodiments, and the above-described specific embodiments are merely illustrative, rather than limiting, and those of ordinary skill in the art can make many forms under the inspiration of the present application without departing from the scope of the present application and the scope protected by the claims, which all belong to the protection of the present application.

Claims

1. A service scheduling method, wherein, include: Decompose the target service into multiple microservices; Based on preset conditions, determine the computing network infrastructure corresponding to each microservice and the forwarding path between each computing network infrastructure. The preset conditions include, but are not limited to, the scheduling policy of the target service, the scheduling constraints of the multiple microservices, the information of the computing network infrastructure and the network infrastructure capabilities. Application service routing table entries are generated based on the computing network infrastructure corresponding to each microservice and the forwarding path of each computing network infrastructure. Each application service routing table entry includes the mapping relationship between the microservice chain and each microservice. The microservice chain includes multiple microservices and is used to provide the target service. The application service links are distributed from the table entries to the computing network infrastructure, so that the computing network infrastructure can schedule the business traffic of the multiple microservices according to the application service links from the table entries.

2. The method according to claim 1, wherein, The computing network infrastructure includes a target service gateway. The step of distributing the application service links from the table entries to the computing network infrastructure, so that each computing network infrastructure can schedule the service traffic of the multiple microservices according to the application service links from the table entries, includes: The application service link is forwarded from the table entry to the target service gateway, so that the target service gateway can schedule the business traffic of the multiple microservices according to the forwarding table entry.

3. The method according to claim 2, wherein, The step of distributing the application service link from the table entry to each of the target service gateways, so that the target service gateways can perform service scheduling on the multiple microservices according to the application service link from the table entry, includes: The application service link is sent from the table entry to the target service gateway, so that when the target service gateway receives the service traffic, it forwards the service traffic of the microservice based on the microservice identifier carried in the service traffic and the mapping relationship between the microservice chain in the application service link table entry and each microservice.

4. The method according to claim 1, wherein, The computing network infrastructure includes sidecars or proxies for service endpoints. The step of distributing the application service links from the table entries to the computing network infrastructure, so that the computing network infrastructure can schedule the business traffic of the multiple microservices based on the application service links from the table entries, includes: The application service link is distributed from the table entry to the sidecar or proxy of the service endpoint, so that when the sidecar or proxy receives the business traffic of the microservice, it can replace the microservice chain identifier and microservice identifier carried in the business traffic according to the application service link table entry and then schedule the business traffic.

5. The method according to claim 4, wherein, The step of sending the application service link from the table entry to the sidecar or proxy of the service endpoint, so that when the sidecar or proxy receives the microservice's business traffic, it replaces the microservice chain identifier and microservice identifier carried in the business traffic according to the application service link from the table entry before scheduling the business traffic, includes: The application service link is distributed from the table entry to the sidecar or proxy of the service endpoint, so that when the sidecar or proxy receives / intercepts the service traffic sent by the microservice, it determines the next microservice identifier based on the microservice chain identifier and the microservice identifier of the previous microservice carried in the received service traffic, and encapsulates the microservice identifier and the next microservice identifier in the network layer header of the service traffic packet, and forwards the received service traffic to the microservice corresponding to the next microservice identifier.

6. The method according to claim 1, wherein, Before determining the computing network infrastructure corresponding to each microservice and the forwarding path between each computing network infrastructure according to preset conditions, the method further includes: Obtain the service requirements of each microservice, including: the resource requirements and network requirements of each microservice; The scheduling strategy is formulated based on the service requirements of each microservice; or Obtain resource information for each of the aforementioned computing network infrastructures; The scheduling strategy is formulated based on the resource information of each computing network infrastructure.

7. The method according to claim 1, wherein, Information about computing network infrastructure includes, but is not limited to: resource distribution information, service instance deployment information, network topology, and network capabilities.

8. The method according to claim 1, wherein, The step of determining the computing network infrastructure corresponding to each microservice and the forwarding path between each computing network infrastructure according to preset conditions includes: Based on the information of the computing network infrastructure, the capabilities of the network infrastructure, and the scheduling constraints of the multiple microservices, a service route that meets the service requirements and the scheduling strategy is generated. The index of the service route is the microservice identifier of each microservice and the microservice chain identifier of the microservice chain. The service route includes the computing network infrastructure corresponding to each microservice and the forwarding path.

9. The method according to claim 8, wherein, The step of generating application service routing table entries based on the computing network infrastructure corresponding to each microservice and the forwarding paths of each computing network infrastructure includes: The application service chain routing table entry is generated based on the service route, and the mapping relationship between the microservice and the microservice chain is the mapping relationship between the microservice identifier and the microservice chain identifier.

10. The method according to claim 8, wherein, Before generating service routes that meet the service requirements and the scheduling strategy based on the information of the computing network infrastructure, the network infrastructure capabilities, and the scheduling constraints of the multiple microservices, the method further includes: The microservice tag of each microservice is determined according to its level in the microservice chain; The microservice chain identifier is determined based on the information of the microservice chain.

11. The method according to claim 1, wherein, After the application service link is distributed from the table entry to the computing network infrastructure, the following is also included: Check the scheduling quality of the entire lifecycle of the microservice chain; If the lifecycle scheduling quality of the microservice chain does not meet the preset conditions, the cause of the quality failure in the lifecycle scheduling of the microservice chain is located. If the full-cycle scheduling quality of the microservice chain does not meet the preset conditions, the microservice in the microservice chain scheduling path will be replaced with a backup microservice of the same type, or the network forwarding path in the microservice chain scheduling path will be replaced with a backup path of the same path.

12. An electronic device, wherein, It includes a processor, a memory, and a program or instructions stored in the memory and executable on the processor, wherein the program or instructions, when executed by the processor, implement the steps of the service scheduling method as described in any one of claims 1-11.

13. A readable storage medium, wherein, The readable storage medium stores a program or instructions that, when executed by a processor, implement the steps of the service scheduling method as described in any one of claims 1-11.

Citation Information

Patent Citations

  • Micro-service management system, deployment method and related equipment

    CN111522661A

  • SRv6-based computing power routing system and method

    CN114980250A

  • Intelligent fusion identification network-oriented computing power service chain management and control system architecture

    CN116032767A

  • Management and scheduling method and apparatus, node, and storage medium

    WO2023284830A1