Service scheduling methods, devices, equipment and storage media
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-06-08
- Publication Date
- 2026-08-14
AI Technical Summary
[0004]本申请的主要目的在于提供一种服务调度方法、装置、设备及存储介质,旨在解决现有的服务调度方案依赖算力网络中计算指标的归一化,导致服务与用户需求难以精准匹配的技术问题
[0015]本申请提供了一种服务调度方法,本申请公开了接收算力网络消费用户发送的目标服务需求,目标服务需求中包含基于预设服务注册表确定的目标服务标识和目标服务资源需求,预设服务注册表用于将服务标识与执行服务所需的服务资源进行绑定;基于目标服务标识和目标服务资源需求确定与目标服务需求匹配的目标服务实例;向目标服务实例对应的目标算力提供节点发送服务调度指令,以使目标算力提供节点向算力网络消费用户提供目标服务实例;相较于现有的服务调度方案容易因不同的算力网络提供商采用不同的计算指标归一化方法和度量标准,导致调度决策难以精准匹配用户需求,由于本申请可以通过预设服务注册表将服务标识与执行服务所需的服务资源进行绑定,使得可以基于用户的服务需求中定义的服务标识和服务资源需求确定与用户需求匹配的目标服务实例,而无需基于归一化后的计算指标确定,从而解决了现有的服务调度方案依赖算力网络中计算指标的归一化,导致服务与用户需求难以精准匹配的技术问题。
Smart Images

Figure CN122578472A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of network service technology, and in particular to service scheduling methods, apparatus, devices and storage media. Background Technology
[0002] A Computing Power Network (CPN) is a novel network architecture that distributes computing, storage, and network resource information of service nodes through a network control plane, thereby achieving optimized allocation of computing and network resources. In the actual deployment and operation of CPNs, different types of chips (such as CPUs, GPUs, FPGAs, and ASICs) vary significantly in instruction set architecture, parallel processing capabilities, memory bandwidth, and energy efficiency. Traditional resource measurement methods (such as coarse-grained indicators like the number of virtual machines and containers) often fail to accurately reflect the actual computing power of heterogeneous resources, resulting in a lack of granularity and accuracy in resource allocation.
[0003] Currently, existing solutions can use computational metric normalization to convert different types of computing resources (such as CPU core count, GPU floating-point performance, memory size, etc.) into a unified unit of computing power, thus standardizing resource measurement. This allows the scheduling system to compare and select based on the normalized values, allocating appropriate service resources to users. However, because different computing network providers may use different normalization methods and metric standards, service scheduling decisions may struggle to accurately match user needs. Summary of the Invention
[0004] The main objective of this application is to provide a service scheduling method, apparatus, device, and storage medium, which aims to solve the technical problem that existing service scheduling schemes rely on the normalization of computing indicators in computing power networks, resulting in difficulties in accurately matching services with user needs.
[0005] To achieve the above objectives, this application proposes a service scheduling method, which includes: The system receives target service requests sent by computing power network consumers. The target service requests include a target service identifier and a target service resource requirement determined based on a preset service registry. The preset service registry is used to bind the service identifier with the service resources required to perform the service. Based on the target service identifier and the target service resource requirements, determine the target service instance that matches the target service requirements; A service scheduling instruction is sent to the target computing power providing node corresponding to the target service instance, so that the target computing power providing node provides the target service instance to the computing power network consumer.
[0006] In one embodiment, before the step of receiving the target service request sent by the computing power network consumer, the method further includes: Receive a service deployment request sent by a computing power provider node, and determine the first service identifier corresponding to the service to be deployed in the computing power provider node based on the service deployment request; The computing power providing node is authenticated, and if the authentication is successful, the available computing capacity and available storage capacity of the computing power providing node are determined. Query the computing and storage resource requirements corresponding to the first service identifier from the preset service registry; The system detects whether the available computing capacity meets the computing resource requirements and whether the available storage capacity meets the storage resource requirements. If the conditions are met, the computing power providing node is determined to be the node that provides the service capability corresponding to the first service identifier.
[0007] In one embodiment, the step of determining the computing power providing node as the node providing the service capability corresponding to the first service identifier if the condition is met includes: If the conditions are met, the service code corresponding to the first service identifier is issued to the computing power providing node, so that the computing power providing node allocates computing resources and storage resources to the first service instance corresponding to the first service identifier based on the computing resource requirements and the storage resource requirements. Once the allocation is complete, the first service instance is deployed to obtain a deployed service instance; The deployed service instance is verified, and if the verification is successful, the computing power providing node is determined as the node that provides the service capability corresponding to the first service identifier.
[0008] In one embodiment, the step of verifying the deployed service instance includes: Determine the access address of the service instance that has been deployed; Based on the access address, a preset data sample is sent to the deployed service instance, and the sample calculation result returned by the deployed service instance based on the preset data sample is received. The sample calculation results are compared with the preset benchmark results to obtain the result comparison error; If the error in the result comparison is within a preset error threshold, the service instance that has been deployed is deemed to have passed verification.
[0009] In one embodiment, the step of determining a target service instance matching the target service requirement based on the target service identifier and the target service resource requirement includes: Detect whether there is a second service instance in the preset resource view where the computing power providing node has a service identifier that matches the target service identifier. The preset resource view records the service resources provided by the computing power providing node for different service identifiers. If it exists, the second service instance is determined as a candidate service instance, and the service resource information of the candidate service instance is obtained; Based on the service resource information and the target service resource requirements, a target service instance matching the target service requirements is determined from the candidate service instances.
[0010] In one embodiment, the step of determining a target service instance matching the target service requirement from the candidate service instances based on the service resource information and the target service resource requirement includes: Determine the instance quantity requirement, cost constraints, and latency constraints based on the target service resource requirements; Based on the service resource information, determine the number of available service instances among the candidate service instances, and determine the candidate service instances whose number of available service instances meets the instance quantity requirement as the first candidate service instances; From the first candidate service instance, determine a second candidate service instance whose unit cost satisfies the cost constraint; The actual latency of the second candidate service instance is determined based on the target computation time and target network latency of the second candidate service instance. The second candidate service instance whose actual latency satisfies the latency constraint is determined as the target service instance that matches the target service requirement.
[0011] In one embodiment, before the step of receiving the target service request sent by the computing power network consumer, the method further includes: Receive service capability information sent by the computing power providing node; Extract from the service capability information the number of available service instances provided by the computing power providing node for different service identifiers, as well as the computing time, unit cost and network latency of the service instances corresponding to each service identifier; The service identifiers, computation time, unit cost, and network latency are associated to generate a preset resource view.
[0012] Furthermore, to achieve the above objectives, this application also proposes a service scheduling apparatus, the apparatus comprising: The service requirement generation module is used to receive target service requirements sent by computing power network consumers. The target service requirements include a target service identifier and a target service resource requirement determined based on a preset service registry. The preset service registry is used to bind the service identifier with the service resources required to perform the service. The service instance matching module is used to determine the target service instance that matches the target service requirement based on the target service identifier and the target service resource requirement. The service scheduling module is used to send service scheduling instructions to the target computing power providing node corresponding to the target service instance, so that the target computing power providing node provides the target service instance to the computing power network consumer user.
[0013] In addition, to achieve the above objectives, this application also proposes a service scheduling device, the device comprising: a memory, a processor, and a computer program stored in the memory and executable on the processor, the computer program being configured to implement the steps of the service scheduling method as described above.
[0014] In addition, to achieve the above objectives, this application also proposes a storage medium, which is a computer-readable storage medium, on which a computer program is stored, and which, when executed by a processor, implements the steps of the service scheduling method described above.
[0015] This application provides a service scheduling method. It discloses receiving target service requests sent by computing power network consumers. The target service requests include a target service identifier and target service resource requirements determined based on a preset service registry. The preset service registry is used to bind the service identifier with the service resources required to execute the service. The method involves determining a target service instance matching the target service request based on the target service identifier and target service resource requirements; and sending a service scheduling instruction to the target computing power providing node corresponding to the target service instance, so that the target computing power providing node provides the target service instance to the computing power network consumer. Compared to existing service scheduling schemes, which are prone to errors due to different computing power network providers using different normalization methods and measurement standards for computing indicators, making it difficult to accurately match user needs, this application can bind the service identifier with the service resources required to execute the service through a preset service registry. This allows for the determination of a target service instance matching the user's needs based on the service identifier and service resource requirements defined in the user's service request, without relying on normalized computing indicators. This solves the technical problem of existing service scheduling schemes relying on the normalization of computing indicators in the computing power network, leading to difficulties in accurately matching services with user needs. Attached Figure Description
[0016] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with this application and, together with the description, serve to explain the principles of this application.
[0017] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, for those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0018] Figure 1 This is a flowchart illustrating an embodiment of the service scheduling method of this application. Figure 2 This is a diagram of the computing network framework in the service scheduling method of this application; Figure 3 This is a flowchart illustrating Embodiment 2 of the service scheduling method of this application; Figure 4 This is a flowchart illustrating the service registration process in the service scheduling method of this application; Figure 5 This is a flowchart illustrating the service deployment process in the service scheduling method of this application. Figure 6 This is a flowchart illustrating Embodiment 3 of the service scheduling method of this application; Figure 7 This is a schematic diagram of the module structure of the service scheduling device in an embodiment of this application; Figure 8 This is a schematic diagram of the device structure of the hardware operating environment involved in the service scheduling method in this application embodiment.
[0019] The purpose, features, and advantages of this application will be further explained in conjunction with the embodiments and with reference to the accompanying drawings. Detailed Implementation
[0020] It should be understood that the specific embodiments described herein are merely illustrative of the technical solutions of this application and are not intended to limit this application.
[0021] To better understand the technical solution of this application, a detailed description will be provided below in conjunction with the accompanying drawings and specific implementation methods.
[0022] The main solution of this application embodiment is as follows: receiving a target service request sent by a computing power network consumer, the target service request including a target service identifier and a target service resource requirement determined based on a preset service registry, the preset service registry being used to bind the service identifier with the service resources required to perform the service; determining a target service instance matching the target service request based on the target service identifier and the target service resource requirement; and sending a service scheduling instruction to the target computing power providing node corresponding to the target service instance, so that the target computing power providing node provides the target service instance to the computing power network consumer.
[0023] Because existing service scheduling schemes rely on normalization methods to standardize and measure different types of computing resources, they are prone to errors due to different computing network providers using different computing metric normalization methods and measurement standards, making it difficult to accurately match scheduling decisions with user needs.
[0024] This application provides a solution that binds service identifiers to service resources required for service execution through a pre-defined service registry. This allows the determination of target service instances that match user needs based on the service identifiers and service resource requirements defined in the user's service requirements, without relying on normalized computational metrics. This solves the technical problem that existing service scheduling schemes rely on the normalization of computational metrics in the computing power network, making it difficult to accurately match services with user needs.
[0025] It should be noted that the executing entity in this embodiment can be a computing service device with data processing, network communication, and program execution functions, such as a tablet computer, personal computer, or mobile phone, or an electronic device, service scheduling device, or artificial intelligence (AI) empowerment platform capable of realizing the above functions. The following description uses an AI empowerment platform as an example to illustrate this embodiment and the subsequent embodiments.
[0026] Based on this, embodiments of this application provide a service scheduling method, referring to... Figure 1 , Figure 1 This is a flowchart illustrating the service scheduling method of this application in Implementation Example 1.
[0027] In this embodiment, the service scheduling method includes steps S10 to S30: Step S10: Receive the target service request sent by the computing power network consumer. The target service request includes a target service identifier and a target service resource requirement determined based on a preset service registry. The preset service registry is used to bind the service identifier with the service resources required to perform the service.
[0028] It should be noted that, referring to Figure 2 , Figure 2This is a diagram of the computing network framework in the service scheduling method of this application. Figure 2 As shown, the computing power network framework can include computing power network consumers, computing power network providers, computing power network trading platforms, computing power network control planes, and network operators. Furthermore, AI-enabled platforms can be integrated into the computing power network based on service development needs.
[0029] It should also be noted that computing network consumers can be entities or individuals consuming computing and network resources, who can make various demands regarding cost, performance, and security based on their own service needs. Computing network providers can be entities or individuals capable of providing computing resources, such as telecommunications operators, large cloud service providers, small and medium-sized enterprises, and supercomputing centers. A computing network trading platform can be a platform for transactions between computing network providers and consumers. These transactions can be public, where the computing network consumer knows exactly who is providing the computing resources; or they can be anonymous, where the computing network consumer does not need to know who is providing the computing resources, and the computing network trading platform is responsible for the reliability and computational security of the transactions. On the computing network trading platform, not only computing resource transactions need to be completed, but network resource transactions also need to be completed simultaneously based on location and service requirements. The computing network control plane can be used to collect information (including computing power information, network information, etc.) and send the collected information to the computing network trading platform so that computing network consumers can select suitable computing and network resources, and then provide the optimal computing resource allocation and network connection scheme for the computing network consumers. Network operators can provide connectivity services that connect users to computing resources, and can offer different levels of connectivity services based on user needs. AI-enabled platforms can serve as an additional module in the computing network framework, providing computing applications for computing network consumers, while also providing AI-based assisted operations for computing network providers.
[0030] It should be noted that the AI-enabled platform in this embodiment can serve as a bridge between computing power network consumers and computing power network providers within the computing power network framework. Furthermore, the AI-enabled platform can support public services of the computing power network, including service registration, service deployment verification, and service scheduling functions. This allows computing power network providers to download and deploy service products through the platform, while computing power network consumers can formulate and submit their service requests through the platform.
[0031] It should also be noted that in the AI-enabled platform of this embodiment, services and computational metrics are bound together. Therefore, when deploying specific services, CPN providers can allocate resources based on the computational metric units bound to the services. In this way, each CPN provider only needs to propagate service-related information, including the service ID, the quantity of various services, service costs, and the network address of the corresponding service instance. This embodiment replaces the propagation of CPN provider computational metrics with this concise information associated with services, enabling CPNs to be widely deployed on the Internet.
[0032] It should be understood that computing power network consumers can be any user who needs to consume computing and network resources, such as user terminals using AR / VR applications, operating platforms for autonomous vehicles, content providers for live streaming services, or any business system that requires computing power. This embodiment does not impose any restrictions on this. In this embodiment, computing power network consumers can initiate service call requests by interacting with the computing power network control plane, either through the computing power network trading platform or directly, based on their own service requirements in terms of cost, performance, and security.
[0033] It should also be understood that the terminal devices of computing power network consumers can run computing power network client software. This software provides a human-computer interaction interface, allowing computing power network consumers to browse the service catalog in the preset service registry, select the required services, and configure service resource requirement parameters. Subsequently, the client software can encapsulate the consumer's selection and configuration into a target service requirement message and send it to the computing power network control plane through a secure channel.
[0034] It should be noted that the target service requirement can be a complete request message generated and sent by a computing network consumer in order to obtain a specific computing service. In this embodiment, the target service requirement may include the type of service the user expects to obtain and the corresponding resource specifications, which can be specifically represented as a data structure containing a service identifier and resource requirement parameters.
[0035] It should be noted that the preset service registry can be a searchable and browsable service directory maintained by the AI-enabled platform and open to consumer users and computing power providing nodes. It can be used to store the definition information of all standardized services in the computing power network, enabling comparable capability benchmarks for the same service provided by different computing power providing nodes. In this embodiment, the preset service registry can record information such as the service identifier, service name, input description, service description, service code, computing requirements, storage requirements, computing time benchmark value, concurrent user capacity, and software dependency environment for each registered service. The input description specifies the details and format of the service input data; the service description describes the specific functions of the service; the service code contains the storage location of the service code; the computing requirements describe the basic computing resource requirements of the service, such as detailed information on CPU, GPU, and NPU; the storage requirements describe the basic storage requirements of the service, such as detailed information on memory and disk; the computing time describes the computing latency when the service processes benchmark data samples; the concurrent user capacity indicates the number of concurrent users supported by the service (e.g., "min" indicates the resource allocation when running the service according to the basic computing and storage requirements, and "max" indicates the upper limit when the resources allocated to run the service exceed the basic computing and storage requirements); and the software dependencies describe the software environment required to deploy the service.
[0036] It should also be noted that, since there is a binding relationship between the service identifier in the preset service registry and the service resources required to execute the service, the client software can extract the corresponding service resource indicators from the preset service registry based on the service identifier selected by the consumer user, and use this as a reference for the consumer user to configure the target service resource requirements.
[0037] It should be understood that the target service identifier can be a service identifier specified by the computing power network consumer in the target service request, used to uniquely identify the required service. In this embodiment, the target service identifier can be selected by the computing power network consumer from a preset service registry, used to distinguish different service capabilities in the computing power network. For example, the target service identifier can be "AR1", "TP1", "LB1", "ST1", etc., where "AR1" represents AR / VR rendering service, "TP1" represents intelligent transportation service, "LB1" represents live streaming service, and "ST1" represents simultaneous interpretation service.
[0038] It should also be understood that the target service resource requirement can be the resource specification requirements explicitly stated by the computing power network consumer in the target service requirement. This can include the number of service instances the user expects to obtain, the acceptable cost ceiling, and the maximum allowable service response latency. For example, a target service resource requirement can be expressed as "requiring 2 service instances, cost budget not exceeding 10 units, and latency requirement not exceeding 100 milliseconds".
[0039] Understandably, a service identifier can be a code recorded in a pre-defined service registry, used to uniquely identify a type of service capability. In this embodiment, there is a predefined binding relationship between the service identifier and the service resources required to execute that type of service, and the same service identifier represents the same service capability benchmark at different computing power providing nodes, enabling the computing power network to establish a unified resource view.
[0040] It is also understood that service resources can be a combination of computing and storage resources required to execute a specific service, which may include, but are not limited to, the number of CPU cores, GPU model and quantity, memory capacity, disk space, and software dependency environment. In this embodiment, service resources can be bound to corresponding service identifiers and stored in a preset service registry. In the preset service registry, each service identifier can correspond to a set of standardized service resource requirements. For example, the "AR1" service requires "multi-threaded CPU ≥ 2.0GHz, GPU ≥ RTX4060, 16GB DRAM, and 256GB SSD".
[0041] In practical implementation, before initiating a service call, a computing power network consumer can first query a preset service registry, select the required service identifier from the registry, and determine the target service resource requirements based on their own business needs. Then, the selected service identifier and the determined service resource requirements are assembled into a target service request and sent to the AI-enabled platform. Upon receiving the target service request, the AI-enabled platform can parse out the target service identifier and target service resource requirements. The target service identifier specifies the type of service the user needs to invoke; the target service resource requirements specify the user's specific requirements regarding the number of service instances, cost, and latency.
[0042] Step S20: Determine the target service instance that matches the target service requirements based on the target service identifier and the target service resource requirements.
[0043] It should be noted that the target service instance can be a service instance used to provide services to consumer users. It can be a specific service process, container, or virtual machine that has been successfully deployed on a computing power providing node, is in a running state, and is able to provide services to the outside world.
[0044] In practical applications, after parsing the target service identifier and target service resource requirements, the AI-enabled platform can search for all candidate service instances with the same identifier in a preset resource view. This preset resource view records information about service instances deployed on each computing power providing node, including the service identifier, number of available instances, unit cost, computation time, network latency, and access address for each instance. Then, the AI-enabled platform can obtain the service resource information of each candidate service instance and, combined with the instance quantity requirement, cost constraints, and latency constraints in the target service resource requirements, select service instances that meet all constraints as the target service instances. If multiple service instances meet the constraints, one or more optimal service instances can be selected as the target service instances according to preset strategies (such as lowest cost priority, lowest latency priority, load balancing priority, etc.).
[0045] Step S30: Send a service scheduling instruction to the target computing power providing node corresponding to the target service instance, so that the target computing power providing node provides the target service instance to the computing power network consumer user.
[0046] It should be understood that the target computing power provider node can be a computing power network provider that actually owns computing resources and provides a running environment for the target service instance. Specifically, it can be a small-scale edge computing node, a large or medium-sized cloud computing node, a metropolitan area computing node, or a supercomputing center, etc. This embodiment does not limit this.
[0047] Understandably, a service scheduling instruction can be a control message used to trigger a target computing power provider node to allocate a specified target service instance to a computing power network consumer user. This message may contain parameters such as user identity information, service instance identifier, and session identifier, so that the target computing power provider node can establish a data plane connection with the user based on this information.
[0048] In practical applications, the AI-enabled platform can obtain the address information of the target computing power provider node where the target service instance resides, as well as the access address of the target service instance, from a preset resource view. Based on this information, it generates service scheduling instructions and sends them to the target computing power provider node. Upon receiving the service scheduling instructions, the target computing power provider node can allocate the target service instance to the computing power network consumer user according to the instructions and return the connection information of the target service instance (such as IP address and port number) to the computing power network consumer user. Subsequently, the computing power network consumer user can establish a data plane connection with the target service instance based on the received connection information, thereby enabling them to begin using the corresponding service.
[0049] This embodiment provides a service scheduling method. The method discloses receiving target service requests sent by computing power network consumers. The target service requests include a target service identifier and target service resource requirements determined based on a preset service registry. The preset service registry is used to bind the service identifier with the service resources required to execute the service. The method then determines a target service instance matching the target service request based on the target service identifier and target service resource requirements. Finally, it sends a service scheduling instruction to the target computing power providing node corresponding to the target service instance, so that the target computing power providing node provides the target service instance to the computing power network consumer. Compared to existing service scheduling schemes, which are prone to errors due to different computing power network providers using different normalization methods and measurement standards for computational indicators, making it difficult to accurately match user needs, this embodiment can bind the service identifier with the service resources required to execute the service through a preset service registry. This allows the determination of a target service instance matching the user's needs based on the service identifier and service resource requirements defined in the user's service request, without relying on normalized computational indicators. This solves the technical problem of existing service scheduling schemes relying on the normalization of computational indicators in the computing power network, leading to difficulties in accurately matching services with user needs.
[0050] Based on the first embodiment of this application, in the second embodiment of this application, the content that is the same as or similar to that in Embodiment 1 above can be referred to the above description, and will not be repeated hereafter. Based on this, please refer to... Figure 3 , Figure 3 This is a flowchart illustrating the second embodiment of the service scheduling method of this application.
[0051] In this embodiment, before step S10, the method further includes steps S01 to S05: Step S01: Receive a service deployment request sent by the computing power provider node, and determine the first service identifier corresponding to the service to be deployed in the computing power provider node according to the service deployment request.
[0052] It should be understood that a computing power provider node can be a physical node in a computing power network capable of providing computing power resources. This can be a small-scale edge computing node, a large or medium-sized cloud computing node, a metropolitan area computing node, or a supercomputing center, etc. In practical applications, each computing power provider node in a computing power network typically possesses certain computing and storage resources, on which service instances can be deployed to provide services to computing power network consumers.
[0053] It should also be understood that a service deployment request can be a request message sent by a computing power provider node to the AI-enabled platform to request the deployment of a specific service, which at least includes the service identifier information of the service to be deployed. In practical applications, the computing power provider node can select the service to be hosted by browsing the preset service registry (service catalog) provided by the AI-enabled platform, extract the service identifier corresponding to the service, generate a service deployment request, and send it to the AI-enabled platform to obtain deployment authorization and service code.
[0054] Understandably, the service to be deployed can be a specific service type that the computing power providing node plans to deploy on its computing resources. In this embodiment, the service to be deployed typically corresponds to a service entry in a preset service registry, such as AR / VR rendering service, intelligent transportation service, live streaming service, or simultaneous interpretation service.
[0055] It is also understandable that the first service identifier can be a service identifier declared by the computing power provider node in the service deployment request, used to uniquely identify the service to be deployed. In practical applications, when sending a service deployment request, the computing power provider node needs to specify the first service identifier corresponding to the service to be deployed in the request, so that the AI-enabled platform can subsequently use the first service identifier as an index to query the preset service registry and obtain the computing resource requirements and storage resource requirements corresponding to the service. For example, the first service identifier could be "AR1" to represent AR / VR rendering service, or "TP1" to represent intelligent transportation service.
[0056] Step S02: Authenticate the computing power providing node, and if the authentication is successful, determine the available computing capacity and available storage capacity of the computing power providing node.
[0057] It should be understood that available computing capacity can be the total amount of computing resources that the computing power providing node is currently not occupied and can be used to deploy new service instances. It can include the number of available CPU cores, GPU computing power (such as floating-point operation power TOPS), CPU clock speed resources, etc.
[0058] It should also be understood that available storage capacity can be the total amount of storage resources that the computing power providing nodes are not currently occupied and can be used to deploy new service instances, which may include available memory capacity (e.g., DRAM capacity) and available disk capacity (e.g., SSD capacity).
[0059] In practical applications, after extracting the first service identifier corresponding to the service to be deployed from the service deployment request, the AI-enabled platform can authenticate the computing power provider node making the service deployment request using digital certificate authentication, username and password authentication, or token-based authentication methods. This verifies the legitimate identity of the computing power provider node and prevents unauthorized nodes from accessing the computing power network. Once authentication is successful, the AI-enabled platform can send a resource query command to the computing power provider node, requesting it to report the total amount of currently available computing and storage resources, thereby obtaining the available computing and storage capacity of the computing power provider node.
[0060] Step S03: Query the computing resource requirements and storage resource requirements corresponding to the first service identifier from the preset service registry.
[0061] Understandably, the computing resource requirements can be the minimum computing resource specifications predefined for the first service identifier in the preset service registry, required to deploy a standard service instance. In this embodiment, the computing resource requirements may include CPU core count requirements, CPU clock speed requirements, GPU model and quantity requirements, GPU computing power requirements, etc. For example, for service identifier "AR1", its computing resource requirements may be "multi-threaded CPU ≥ 2.0 GHz, GPU ≥ RTX4060"; for service identifier "TP1", its computing resource requirements may be "CPU ≥ 4.0 GHz, GPU ≥ 200 TOPS", etc.
[0062] It is also understood that the storage resource requirements can be the minimum storage resource specifications predefined for the first service identifier in the preset service registry, which are required to deploy a standard service instance. In this embodiment, the storage resource requirements may include memory capacity requirements and disk capacity requirements. For example, for service identifier "AR1", its storage resource requirements may be "16GB DRAM, 256GB SSD"; for service identifier "TP1", its storage resource requirements may be "64GB DDR5 DRAM, ≥1TB NVMe SSD", etc.
[0063] In practical applications, since the default service registry stores the binding relationship between each service identifier and the minimum resource specifications required to execute the service, the AI-enabled platform can use the first service identifier as a query key to match and search in the default service registry to obtain the computing resource requirements and storage resource requirements associated with the first service identifier.
[0064] Step S04: Detect whether the available computing capacity meets the computing resource requirements, and detect whether the available storage capacity meets the storage resource requirements.
[0065] In this embodiment, after querying the computing resource requirements and storage resource requirements associated with the first service identifier, the AI-enabled platform can compare the available computing capacity with each computing resource requirement. For example, if the computing resource requirement demands a CPU clock speed of at least 2.0GHz, it can check whether the CPU clock speed in the available computing capacity is greater than or equal to 2.0GHz; if the computing resource requirement demands a GPU model of at least RTX4060, it can check whether the GPU model in the available computing capacity meets this performance level requirement. Simultaneously, the AI-enabled platform can compare the available storage capacity with each storage resource requirement. For example, if the storage resource requirement demands a memory capacity of at least 16GB, it can check whether the memory capacity in the available storage capacity is greater than or equal to 16GB; if the storage resource requirement demands a disk capacity of at least 256GB, it can check whether the disk capacity in the available storage capacity is greater than or equal to 256GB.
[0066] Step S05: If satisfied, the computing power providing node is determined as the node that provides the service capability corresponding to the first service identifier.
[0067] In practical applications, if the AI-enabled platform detects that the available computing capacity and available storage capacity of the computing power provider node meet the computing resource requirements, then the computing power provider node can be identified as a node capable of providing the service corresponding to the first service identifier. At this point, the computing power provider node possesses the basic conditions for deploying and running the service instance, and the AI-enabled platform can continue to execute subsequent processes such as service code distribution, service instance deployment, and verification. Furthermore, if either the available computing capacity or available storage capacity does not meet the corresponding resource requirements, the service deployment request can be rejected, and a resource insufficiency warning message can be returned to the computing power provider node.
[0068] In the specific implementation, refer to Figure 4 , Figure 4 This is a flowchart illustrating the service registration process in the service scheduling method of this application. For example... Figure 4As shown, when a computing power provider needs to deploy a service, it can browse the service catalog in the AI-enabled platform beforehand, select the specific service it plans to host, and send the service identifier corresponding to that service in the service deployment request to the AI-enabled platform. Upon receiving the service deployment request, the AI-enabled platform can send an authentication query to the computing power provider, such as asking "Who are you?", requesting the computing power provider to provide identity credentials. At this time, the computing power provider can submit corresponding identity authentication information according to the requirements of the AI-enabled platform, such as digital certificates, API keys, or other information that can prove its legitimate identity, so that the AI-enabled platform can verify the identity credentials submitted by the computing power provider and confirm its legitimate identity. If the identity authentication is successful, the computing power provider can return an authentication response, which may include IP address, domain name, host identifier, port number, and other necessary connection parameters. Subsequently, the AI-enabled platform can query the service table to obtain the complete definition information of the service based on the service identifier requested by the computing power provider node, and return a request response to the computing power provider node. This response may include information such as the service identifier, service code, computing requirements, storage requirements, computing latency, concurrent user capacity, software dependencies, and data samples. Upon receiving the request response, the computing power provider node can allocate computing and storage resources from its available computing and storage capacity based on the computing and storage resource requirements carried in the response, and construct a service instance after resource allocation. After the service instance is constructed, the computing power provider node can send a verification request to the AI-enabled platform, containing the service identifier and relevant information about the deployed service instance, to request the AI-enabled platform to perform functional verification of the deployed service instance, thereby confirming whether the service instance can correctly process input data and produce expected output results. Upon receiving the verification request, the AI-enabled platform can verify the deployed service instance and return a verification response to the computing power provider node. This verification response may include the service identifier and the result of the verification operation (success or failure). During the service deployment process, the AI-enabled platform can continuously maintain the service table (i.e., the preset service registry) and the sample result table.
[0069] Refer to Table 1, which is a sample result table in the embodiments of this application.
[0070] Table 1
[0071] As shown in Table 1, in this embodiment, the sample result table may include data samples corresponding to different service identifiers and the calculation results corresponding to those data samples. This can be used to verify the correctness of service instances deployed by the computing power providing node. Specifically, after the computing power providing node completes the deployment of a service instance, the AI-enabled platform can query the data samples of that service instance from the sample result table based on the service identifier of the service instance, send the queried data samples to the service instance, and then compare the returned calculation results with the corresponding sample results stored in the sample result table to verify the functional correctness of the service instance.
[0072] Furthermore, to ensure that only correctly deployed and functionally accurate service instances are included in the computing network's resource pool, and to guarantee the quality and reliability of service scheduling, step S05 includes: Step S051: If satisfied, the service code corresponding to the first service identifier is sent to the computing power providing node, so that the computing power providing node allocates computing resources and storage resources to the first service instance corresponding to the first service identifier based on the computing resource requirements and the storage resource requirements.
[0073] It should be noted that the service code can be an executable program or package used to implement the functionality of the service corresponding to the first service identifier. This code may contain the instruction sequence, binary files, configuration files, dependency libraries, and other information required for service operation. In practical applications, the service code can be stored in a code repository specified by the AI-enabled platform, such as the code storage location pointed to by a GitHub link. After obtaining authorization, the computing power providing node can download the service code corresponding to the first service identifier from the AI-enabled platform or the specified code repository and execute the code in its local environment to start the service instance.
[0074] It should also be noted that the first service instance can be a container or virtual machine instance created and run on the computing resources of the computing power providing node according to the service code and resource requirements corresponding to the first service identifier. In practical applications, the first service instance is the concrete carrier of service capabilities, capable of receiving service requests sent by computing power network consumers to execute corresponding computing tasks and return processing results.
[0075] Understandably, computing resources can be processor resources allocated by the computing power providing node for running service instances, which may include the number of CPU cores, CPU clock speed, number of GPUs, GPU model, GPU memory, NPU computing power, etc. In this embodiment, the computing power providing node can allocate computing resources of the corresponding specifications from its available computing capacity to the first service instance according to the computing resource requirements corresponding to the first service identifier defined in the preset service registry.
[0076] It is also understood that storage resources can be storage resources allocated by the computing power providing node for running service instances, which may include memory capacity (e.g., DRAM, DDR5, etc.) and disk capacity (e.g., SSD, NVMe SSD, etc.). In this embodiment, the computing power providing node can allocate storage resources of the corresponding specifications from its available storage capacity to the first service instance according to the storage resource requirements corresponding to the first service identifier defined in the preset service registry.
[0077] In its implementation, the AI-enabled platform can query a pre-defined service registry based on the first service identifier to obtain the storage location information of the corresponding service code (e.g., a GitHub link or internal code repository address). It then sends the download address of the service code to the computing power provider node, or directly sends the service code package to the computing power provider node via a data channel. Upon receiving the service code, the computing power provider node can allocate processor resources from its available computing capacity to meet the computing resource requirements and memory and disk space from its available storage capacity to meet the storage resource requirements, based on the computing and storage resource requirements corresponding to the first service identifier. After resource allocation, these resources will be dedicated to the operation of the first service instance.
[0078] Step S052: If the allocation is complete, deploy the first service instance to obtain a deployed service instance.
[0079] In practical applications, once resource allocation is complete, deployment of the first service instance can begin to obtain a fully deployed service instance. This deployed service instance is already running and capable of receiving external requests and returning processing results.
[0080] Step S053: Verify the deployed service instance, and if the verification is successful, determine the computing power providing node as the node that provides the service capability corresponding to the first service identifier.
[0081] In this embodiment, to confirm that the service instances deployed on the computing power providing node can correctly execute service functions and produce expected computation results, the AI-enabled platform can perform verification operations on the deployed service instances. If the verification passes, the AI-enabled platform can identify the computing power providing node as the node providing the service capabilities corresponding to the first service identifier. At this time, the service instances deployed on the computing power providing node can be formally included in the resource view of the computing power network for subsequent service scheduling. Furthermore, if the verification fails, the AI-enabled platform can refuse to identify the computing power providing node as a service capability providing node and require the computing power providing node to redeploy or conduct troubleshooting.
[0082] Furthermore, to ensure that only correctly functioning and accurately calculated service instances can provide services to computing power network consumers, thereby improving the service reliability and scheduling decision reliability of the entire computing power network, the step of verifying the deployed service instance includes: determining the access address of the deployed service instance; sending a preset data sample to the deployed service instance based on the access address, and receiving the sample calculation result returned by the deployed service instance based on the preset data sample; comparing the sample calculation result with a preset benchmark result to obtain the result comparison error; and determining that the deployed service instance has passed verification if the result comparison error is within a preset error threshold.
[0083] Understandably, the access address can be a unique identifier for the deployed service instance on the network, which may include an IP address and a port number. For example, the access address of a service instance could be "188.25.23.3.1:67". In this embodiment, the access address can be used to establish a communication connection between the AI-enabled platform and the deployed service instance, enabling the AI-enabled platform to send data to the service instance and receive return results through the access address.
[0084] It should be noted that the preset data samples can be standard input data used to test the correctness of service instance functionality. In this embodiment, the preset data samples can correspond one-to-one with service identifiers, that is, each service identifier is associated with one or more sets of preset data samples. In addition, the content of the preset data samples usually conforms to the input format requirements corresponding to the service identifier. For example, for the service identifier "AR1", the preset data sample can be a standard test dataset containing motion capture data, voice tracking data, eye tracking data, and environmental perception data.
[0085] It should also be noted that the sample calculation result can be the output data returned by the deployed service instance after receiving the preset data sample and performing calculations within the service instance. For example, for AR / VR rendering services, the sample calculation result can be a rendered scene image; for intelligent transportation services, the sample calculation result can be descriptive data of the autonomous driving perception environment.
[0086] It should be noted that the preset benchmark result can be the correct output that should be generated after the preset data sample has been processed by a correctly implemented service instance. It can be uploaded to the AI-enabled platform by the service provider when registering the service and stored in the service sample result table. For example, for a preset data sample with service identifier "AR1", its corresponding preset benchmark result can be a known correct rendered scene image data.
[0087] Understandably, the result comparison error can be a measure of the difference between the sample calculation result and the preset benchmark result, reflecting the degree of deviation between the actual output of the service instance and the expected correct output. In practical applications, the result comparison error can be calculated in various ways. For example, for numerical output, absolute error or relative error can be calculated; for image output, pixel difference or structural similarity index can be calculated; and for categorical output, the consistency of classification results can be compared.
[0088] It is also understandable that the preset error threshold can be the maximum threshold used to determine whether the difference between the sample calculation result and the preset benchmark result is acceptable. Specifically, when the result comparison error is less than or equal to the preset error threshold, the output result of the service instance is considered consistent with the expected result, and the service instance is considered to be functioning correctly; when the result comparison error is greater than the preset error threshold, the output result of the service instance is considered to be abnormal, and the service instance fails the verification. In practical applications, the preset error threshold can be flexibly configured according to the service type and accuracy requirements. For example, for services with high accuracy requirements, a smaller error threshold (such as 1%) can be set; for services with relatively relaxed accuracy requirements, a larger error threshold (such as 5% or 10%) can be set.
[0089] In practical applications, after completing the deployment of the first service instance, the computing power providing node can assign a network access address to the service instance and report the access address to the AI-enabled platform. Upon receiving the access address reported by the computing power providing node, the AI-enabled platform can associate and store the access address with the corresponding service identifier. Subsequently, the AI-enabled platform can retrieve a preset data sample associated with the service identifier from its internal storage, encapsulate the preset data sample according to the input format required by the service instance, and then send it to the service instance's access address via the network connection. After receiving the preset data sample, the service instance can process it, generate a sample calculation result, and return the result to the AI-enabled platform. Upon receiving the sample calculation result from the deployed service instance, the AI-enabled platform can compare the received result with a preset benchmark result to obtain the comparison error. Simultaneously, it can retrieve the preset benchmark result corresponding to the service identifier and the currently used preset data sample by querying its internal service sample result table. Then, the AI-enabled platform can compare the sample calculation results with the preset benchmark results item by item or as a whole, calculate the degree of difference between the two, obtain the result comparison error, and compare the calculated result comparison error with a preset error threshold. When the result comparison error is less than or equal to the preset error threshold, it can be determined that the deployed service instance has passed verification. At this time, the service instance can correctly process input data and produce output results that meet expectations, and is qualified to provide services externally. In addition, when the result comparison error is greater than the preset error threshold, it can be determined that the deployed service instance has failed verification, and a verification failure message is returned to the computing power providing node, requiring the computing power providing node to check the deployment configuration of the service instance or redeploy it.
[0090] It should be noted that before deploying the service, the computing power provider node needs to register the service in the preset service registry and add the registered service to the preset service registry.
[0091] In the specific implementation, refer to Figure 5 , Figure 5 This is a schematic diagram illustrating the service deployment process in the service scheduling method of this application. For example... Figure 5As shown, if a computing power provider node needs to register a service on the AI-enabled platform, it can send a registration request to the platform. This request may include the service name, input data format, service description, service code storage location, computing resource requirements, storage resource requirements, computing time, concurrent user capacity, software dependencies, data samples (used as input data for subsequent service instance verification), and sample results (used as a reference benchmark for subsequent service instance verification). Upon receiving the registration request, the AI-enabled platform can send an authentication query to the computing power provider node, such as asking "Who are you?", requesting the node to provide identity credentials. The computing power provider node can then submit corresponding identity authentication information, such as digital certificates, API keys, or other information that can prove its legitimate identity, according to the platform's requirements. The AI-enabled platform can then verify the identity credentials submitted by the computing power provider node to confirm its legitimate identity. If the identity authentication is successful, the computing power provider node can return an authentication response, which may include connection information used for subsequent deployment and service access, such as IP address, domain name, host identifier, port number, and other necessary connection parameters, to facilitate service registration. After service registration is completed, the AI-enabled platform can return a registration response to the computing power providing node, which may include the service identifier assigned by the AI-enabled platform to the registered service, as well as the result of the registration operation (success or failure).
[0092] In addition, upon successful registration, the AI-enabled platform can store the service information submitted by the computing power providing nodes in the service table (i.e., the preset service registry), and at the same time store the data samples and corresponding sample results submitted by the computing power providing nodes in the sample result table.
[0093] This embodiment discloses a process for determining the first service identifier corresponding to the service to be deployed among the computing power providing nodes based on the service deployment request; verifying the identity of the computing power providing nodes, and determining the available computing capacity and available storage capacity of the computing power providing nodes if the identity verification is successful; querying the computing resource requirements and storage resource requirements corresponding to the first service identifier from a preset service registry; detecting whether the available computing capacity meets the computing resource requirements, and detecting whether the available storage capacity meets the storage resource requirements; if they meet the requirements, then the computing power providing node is determined as the node that provides the service capability corresponding to the first service identifier. Since this embodiment can verify the identity of the computing power providing nodes before deploying services, it can ensure that only legally authorized nodes can access the computing power network and provide services, thereby helping to ensure the service reliability and security of the computing power network. Simultaneously, by pre-detecting whether the available computing capacity and available storage capacity of the computing power providing nodes meet the standard resource requirements defined in the service registry, this embodiment ensures that only nodes with sufficient resources can be determined as service providing nodes, thereby avoiding deployment failures or substandard runtime performance caused by nodes blindly deploying service instances when they do not meet resource conditions, thus improving the success rate of service deployment and operational stability.
[0094] Based on the first and / or second embodiments of this application, in the third embodiment of this application, the content that is the same as or similar to the above embodiments can be referred to the above description, and will not be repeated hereafter. Based on this, please refer to... Figure 6 , Figure 6 This is a flowchart illustrating the third embodiment of the service scheduling method of this application.
[0095] In this embodiment, step S20 includes steps S21 to S23: Step S21: Detect whether there is a second service instance in the preset resource view where the computing power providing node has a service identifier that matches the target service identifier. The preset resource view records the service resources provided by the computing power providing node for different service identifiers.
[0096] It should be noted that the preset resource view can be a unified resource information table used to record the service instance information provided by each computing power providing node for different service identifiers. In practical applications, the computing power network control plane in the computing power network can generate the preset resource view by collecting the service model tables reported by each computing power providing node and combining them with the computing time information provided by the AI-enabled platform.
[0097] Referring to Table 2, which is an example table of preset resource views in the embodiments of this application.
[0098] Table 2
[0099] As shown in Table 2, in this embodiment, the preset resource view stores the following associated information: service identifier, number of available service instances of the computing power provider node (i.e., globally available slots Gas), unit cost of each service instance, base value of computing time for each service instance, network latency information of the computing power provider node, and access address (i.e., contact information) of the service instance. In this table, each row of records corresponds to the complete service resource information that a computing power provider node can provide for a specific service identifier. For example, the first row of records indicates that the central cloud computing power provider node (contact address 188.25.23.3.1:(67-69)) provides 3 service instances for service identifier AR1 (each instance has a concurrent capacity of 500, 500, and 800 respectively), with a unit cost of 4 for each service instance, a computing time of 1ms, and a network latency of 1ms.
[0100] It should be understood that the second service instance can be any service instance recorded in the preset resource view whose service identifier matches the target service identifier. In this embodiment, the second service instance can be a service instance initially selected in the preset resource view, which has not yet undergone detailed evaluation of service resource information. For example, when the target service identifier is "AR1", all service instances in the preset resource view with the service identifier "AR1" can be used as the second service instance.
[0101] In practical applications, after the AI-enabled platform extracts the target service identifier from the target service request sent by the computing power network consumer, it can use the target service identifier as a query key to search and match in the preset resource view. It can then check whether there is a service instance in the computing power providing node in the preset resource view whose service identifier matches the target service identifier. If so, the service instance can be identified as the second service instance.
[0102] Step S22: If it exists, the second service instance is determined as a candidate service instance, and the service resource information of the candidate service instance is obtained.
[0103] Understandably, a candidate service instance can be a set of instances consisting of a second service instance. Correspondingly, service resource information can be various parameters recorded in a preset resource view to describe the service capabilities of the candidate service instances, including but not limited to: the number of available service instances (globally available slots, Gas), unit cost, computation time, network latency, and the access address of the service instance. Specifically, the number of available service instances can be the total number of identical service instances that the computing power provider node is willing to run simultaneously; for example, 3(500, 500, 800) indicates that the three instances support 500, 500, and 800 concurrent users respectively. Unit cost can be the price of a single service instance declared by the computing power provider node. Computation time can be the computation latency when the service instance processes benchmark data samples. Network latency can be the network transmission latency between the computing power provider node and the computing power network consumer users. The network address can be the specific access point of the candidate service instance.
[0104] Step S23: Based on the service resource information and the target service resource requirements, determine the target service instance that matches the target service requirements from the candidate service instances.
[0105] In its implementation, when a second service instance exists in the preset resource view whose service identifier matches the target service identifier, the AI-enabled platform can identify all matching second service instances as candidate service instances. After identifying candidate service instances, the AI-enabled platform can read various parameters corresponding to the candidate service instances from the preset resource view, including the number of available service instances (specifically, the concurrent user capacity of each instance), unit cost, computation time baseline value, network latency information, and access address, to obtain the service resource information of the candidate service instances. Subsequently, the AI-enabled platform can compare the service resource information of each candidate service instance with each constraint in the target service resource requirements, and select the candidate service instances that meet all constraints as the target service instances.
[0106] Furthermore, to avoid the problem that a single computing power value in traditional normalization schemes cannot meet the diverse needs of users, and to achieve refined matching of users' multi-dimensional service needs, step S23 includes: Step S231: Determine the instance quantity requirement, cost constraints, and latency constraints based on the target service resource requirements.
[0107] It should be understood that the instance quantity requirement can be the number of service instances that a computing power network consumer explicitly states in their target service resource requirements, reflecting the user's scale requirements for service processing capacity. For example, a user may need to handle AR / VR rendering requests from 500 concurrent users simultaneously. In this case, the instance quantity requirement can be set to one service instance that can support 500 concurrent users, or a combination of multiple service instances that support lower concurrency.
[0108] Understandably, cost constraints can be upper limits on the unit cost or total cost of service instances, explicitly stated by users consuming computing power networks in their target service resource requirements. These constraints reflect users' considerations regarding the economics of the service. For example, a cost constraint could be expressed as "cost per instance not exceeding 4 units" or "total cost not exceeding 10 units." Subsequently, when selecting service instances, computing power network trading platforms will prioritize instances that meet these cost constraints.
[0109] It is also understandable that latency constraints can be the upper limit of service response latency explicitly stated by users consuming computing power networks in their target service resource requirements, which can reflect users' needs for real-time service performance. For example, an AR / VR rendering service may require an end-to-end latency of no more than 2 milliseconds, while a live streaming service may allow a latency range of 0.5 to 3 seconds.
[0110] Step S232: Determine the number of available service instances among the candidate service instances based on the service resource information, and determine the candidate service instances whose number of available service instances meets the instance quantity requirement as the first candidate service instances.
[0111] It should be understood that the number of available service instances can be the number of currently available service instances among the candidate service instances, corresponding to the Gas (globally available slots) field in the service model table built by the computing power providing nodes. In practical applications, the number of available service instances can be an integer value, for example, "3" indicates that there are 3 identical service instances in a running state. In addition, the number of available service instances can also be a structure containing detailed concurrent user capacity, for example, "3(500,500,800)" indicates that the three service instances support 500, 500, and 800 concurrent users respectively.
[0112] Understandably, the first candidate service instance can be an intermediate set of service instances selected from the candidate service instances, where the number of available service instances meets the instance quantity requirement. In this embodiment, the first candidate service instance is the result generated in the first stage (capacity screening) of the matching process. This service instance only considers the instance quantity dimension and has not yet been evaluated in terms of cost and latency.
[0113] Step S233: Determine a second candidate service instance from the first candidate service instance whose unit cost satisfies the cost constraint.
[0114] It should be understood that the unit cost can be the price set by the computing power provider node for each service instance, which corresponds to the Cost field in the service model table built by the computing power provider node.
[0115] It should also be understood that the second candidate service instance can be an intermediate set of results selected from the first candidate service instances that meet the cost constraints per unit cost. In this embodiment, the second candidate service instance is the result of the second stage (cost screening) of the matching process. This service instance has been evaluated in terms of the number of instances and cost, but has not yet been evaluated in terms of latency.
[0116] Step S234: Determine the actual latency of the second candidate service instance based on the target computation time and target network latency of the second candidate service instance.
[0117] Understandably, the target computation time can be the standard computation delay recorded by the second candidate service instance in the preset service registry when processing the benchmark data sample. It corresponds to the "computation time" field in the service registry. For example, "≤1ms" means that the standard computation delay of the service instance in processing the benchmark data sample does not exceed 1 millisecond.
[0118] It is also understandable that target network latency can be the network transmission delay between the computing power providing node and the computing power network consumer. In practical applications, target network latency can be provided by the network operator to reflect the time required for data to be transmitted from the user end to the node where the service instance is located in the network.
[0119] It should be understood that actual latency can be the total time required for a service instance to return a processing result from receiving a user request. In this embodiment, actual latency can be equal to the sum of the target computation time and the target network latency, that is, actual latency = computation time + network latency.
[0120] Step S235: Determine the second candidate service instance whose actual latency satisfies the latency constraint as the target service instance that matches the target service requirement.
[0121] In practical applications, when users of computing power networks initiate a target service request, they need to explicitly express their specific requirements for the number of service instances, cost, and latency in the target service resource request. After receiving the target service resource request, the AI-enabled platform can parse the instance quantity requirement, cost constraint, and latency constraint from it. Subsequently, the AI-enabled platform can determine the available number of service instances among the candidate service instances based on the service resource information, and identify the candidate service instances whose available number of service instances meets the instance quantity requirement as the first candidate service instances. Then, it iterates through the set of first candidate service instances, reads the unit cost field from the service resource information of each first candidate service instance, and compares the unit cost with the cost constraint to determine whether the unit cost is less than or equal to the upper limit of the cost constraint, thereby identifying the first candidate service instance whose unit cost meets the cost constraint as the second candidate service instance. Next, for each service instance in the second candidate service instance set, the AI-enabled platform can obtain the target computation time from the service resource information and the target network latency between the computing power providing node and the user from the preset resource view. It then calculates the sum of the target computation time and the target network latency to obtain the actual latency of the service instance. The second candidate service instance whose actual latency meets the latency constraint is then determined as the target service instance matching the target service requirement. After completing three rounds of screening, the AI-enabled platform can obtain one or more target service instances that meet all constraints. When multiple target service instances meet the conditions, the AI-enabled platform can make a final selection based on preset strategies (such as selecting the instance with the lowest cost, the instance with the lowest latency, or the instance with the most balanced load) to determine the target service instance.
[0122] In its implementation, computing power network consumers first query the AI-enabled platform, construct their service requirements based on the pre-defined service registry within the platform, and inject these requirements into the computing power network trading platform. A service requirement can be represented as a four-tuple: (Service ID, Gas, Cost, Latency). Subsequently, the computing power network trading platform generates a resource view based on the user's requirements and the resource table received from the CPN control layer. This resource view can contain available resources and their prices. Then, the CPN-TP selects the service that best matches this four-tuple by comparing the following factors: Gas ≥ requested Gas; Cost closest to the requested Cost; Actual Latency ≤ requested Latency, where Actual Latency = Computation Time + Network Latency. Afterward, the computing power network consumer can sign a transaction contract with the computing power provider node through the CPN-TP. At this point, the CPN-TP sends the transaction information to the CPN control layer and, after allocating the corresponding resources and establishing a data plane connection between the computing power network consumer and the computing power provider node, updates the relevant resource information. Next, computing power network consumers can pay costs to assemble input data according to the input pattern in the preset service registry, and send (service ID, data) to the selected service instance through the data plane connection to execute the transaction contract.
[0123] Furthermore, in order to establish a unified and standardized resource view in the computing power network and solve the problem of inconsistent resource views caused by different service providers due to inconsistent normalization standards, before the step of receiving the target service request sent by the computing power network consumer, the method further includes: receiving service capability information sent by the computing power provider node; extracting from the service capability information the number of available service instances provided by the computing power provider node for different service identifiers, as well as the computation time, unit cost, and network latency of the service instances corresponding to each service identifier; associating each service identifier, the computation time, the unit cost, and the network latency to generate a preset resource view.
[0124] It should be noted that the service capability information can be structured information describing the service capabilities that the computing power providing node can provide. This information can be generated by the agent software on the computing power providing node and periodically reported to the computing power network control plane. In this embodiment, the service capability information can be a service model table generated by the computing power providing node based on its actual deliverable service capabilities after the service instance deployment is completed and verified.
[0125] It should also be noted that this embodiment can transform traditional raw calculation metrics into a lightweight service model table. Since this table only contains the number of services, instance costs, and contact information, the data volume is significantly reduced, and it can be understood by the CPN control plane in real time. When actually allocating resources to service instances, the provider only needs to increment its GAS counter by one, or decrement the GAS counter by one when releasing resources, without the need for normalization and complex telemetry.
[0126] Referring to Table 3, which is a service model table for the construction of computing power providing nodes in the embodiments of this application.
[0127] Table 3
[0128] As shown in Table 3, in this embodiment, the service capability information records the details of the service resources that the computing power providing node can provide for different service identifiers, including the service identifier, globally available slots (i.e., the number of available service instances), cost per instance, and contact information of the service instances (including IP address and port). For example, in Table 3, GAS=3 for service identifier AR1 indicates that the provider will keep three AR1 virtual machines running. (500, 500, 800) indicates that the first two instances each support 500 concurrent users, and the last instance supports 800 concurrent users, so it can serve 1800 consumers simultaneously.
[0129] In its implementation, after deploying and verifying service instances, the computing power provider node can generate a service model table based on its actual deliverable service capabilities and send this table as service capability information to the AI-enabled platform. Upon receiving the service capability information, the AI-enabled platform can extract the number of available service instances provided by the computing power provider node for different service identifiers, as well as the unit cost and network latency information for each service instance corresponding to each service identifier. It also obtains the computation time information for each service identifier, which can be retrieved from the AI-enabled platform's preset service registry. Subsequently, the AI-enabled platform can associate and combine the service identifier and Gas fields from the service capability information of the computing power provider node with the computation time obtained from the preset service registry, the unit cost extracted from the service capability information, and the network latency obtained from the network operator. This allows for the generation of a complete preset resource view record for each service identifier reported by each computing power provider node, including the service identifier, Gas (number of available service instances), Cost (unit cost), computation time, network latency, contact information, and other network information (such as bandwidth and packet loss rate).
[0130] In this embodiment, a method is disclosed to detect whether a second service instance exists in the computing power providing node in the preset resource view, where the service identifier matches the target service identifier. The preset resource view records the service resources provided by the computing power providing node for different service identifiers. If such a second service instance exists, it is identified as a candidate service instance, and the service resource information of the candidate service instance is obtained. Based on the service resource information and the target service resource requirements, the target service instance matching the target service requirements is determined from the candidate service instances. Since this embodiment performs preliminary screening in the preset resource view through the service identifier, only the second service instance with the matching service identifier is identified as a candidate service instance, and the target service instance is determined by matching the service resource information of the candidate service instance with the target service resource requirements, this method is beneficial to improving the matching efficiency of service scheduling. At the same time, it can accurately match the service quality requirements of users in different scenarios, thereby improving the accuracy of scheduling decisions.
[0131] It should be noted that the above examples are only for understanding this application and do not constitute a limitation on the service scheduling method of this application. Any simple modifications based on this technical concept are within the protection scope of this application.
[0132] This application also provides a service scheduling device, please refer to... Figure 7 The service scheduling device includes: The service requirement generation module 10 is used to receive target service requirements sent by computing power network consumers. The target service requirements include a target service identifier and a target service resource requirement determined based on a preset service registry. The preset service registry is used to bind the service identifier with the service resources required to perform the service. Service instance matching module 20 is used to determine a target service instance that matches the target service requirements based on the target service identifier and the target service resource requirements; The service scheduling module 30 is used to send a service scheduling instruction to the target computing power providing node corresponding to the target service instance, so that the target computing power providing node provides the target service instance to the computing power network consumer user.
[0133] The service scheduling apparatus provided in this application, employing the service scheduling method described in the above embodiments, can solve the technical problem that existing service scheduling schemes rely on the normalization of computational indicators in the computing power network, leading to difficulties in accurately matching services with user needs. Compared with the prior art, the beneficial effects of the service scheduling apparatus provided in this application are the same as those of the service scheduling method provided in the above embodiments, and other technical features in the service scheduling apparatus are the same as those disclosed in the methods of the above embodiments, and will not be repeated here.
[0134] This application provides a service scheduling device, which includes: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, which are executed by the at least one processor to enable the at least one processor to perform the service scheduling method in Embodiment 1 above.
[0135] The following is for reference. Figure 8 The diagram illustrates a structural schematic of a service scheduling device suitable for implementing embodiments of this application. The service scheduling device in these embodiments may include, but is not limited to, mobile terminals such as mobile phones, laptops, digital broadcast receivers, personal digital assistants (PDAs), tablet computers (PADs), portable media players (PMPs), and in-vehicle terminals (e.g., in-vehicle navigation terminals), as well as fixed terminals such as digital TVs and desktop computers. Figure 8 The service scheduling device shown is merely an example and should not impose any limitations on the functionality and scope of use of the embodiments of this application.
[0136] like Figure 8 As shown, the service scheduling device may include a processing unit 1001 (e.g., a central processing unit, a graphics processing unit, etc.), which can perform various appropriate actions and processes according to a program stored in the read-only memory 1002 or a program loaded from the storage device 1003 into the random access memory 1004. The random access memory 1004 also stores various programs and data required for the operation of the service scheduling device. The processing unit 1001, the read-only memory 1002, and the random access memory 1004 are interconnected via a bus 1005. An input / output interface 1006 is also connected to the bus. Typically, the following systems can be connected to the input / output interface 1006: input devices 1007 including, for example, touchscreens, touchpads, keyboards, mice, image sensors, microphones, accelerometers, gyroscopes, etc.; output devices 1008 including, for example, liquid crystal displays (LCDs), speakers, vibrators, etc.; storage devices 1003 including, for example, magnetic tapes, hard disks, etc.; and communication devices 1009. Communication device 1009 allows the service scheduling device to communicate wirelessly or wiredly with other devices to exchange data. Although the figure shows service scheduling devices with various systems, it should be understood that implementation or possession of all the systems shown is not required. More or fewer systems may be implemented alternatively.
[0137] Specifically, according to the embodiments disclosed in this application, the processes described above with reference to the flowcharts can be implemented as computer software programs. For example, embodiments disclosed in this application include a computer program product comprising a computer program carried on a computer-readable medium, the computer program containing program code for performing the methods shown in the flowcharts. In such embodiments, the computer program can be downloaded and installed from a network via a communication device, or installed from storage device 1003, or installed from read-only memory 1002. When the computer program is executed by processing device 1001, it performs the functions defined in the methods of the embodiments disclosed in this application.
[0138] The service scheduling device provided in this application, employing the service scheduling method described in the above embodiments, can solve the technical problem of service scheduling. Compared with the prior art, the beneficial effects of the service scheduling device provided in this application are the same as those of the service scheduling method described in the above embodiments, and other technical features of the service scheduling device are the same as those disclosed in the method of the previous embodiment, and will not be repeated here.
[0139] It should be understood that the various parts disclosed in this application can be implemented using hardware, software, firmware, or a combination thereof. In the description of the above embodiments, specific features, structures, materials, or characteristics can be combined in any suitable manner in one or more embodiments or examples.
[0140] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.
[0141] This application provides a computer-readable storage medium having computer-readable program instructions (i.e., a computer program) stored thereon, the computer-readable program instructions being used to execute the service scheduling method described in the above embodiments.
[0142] The computer-readable storage medium provided in this application may be, for example, a USB flash drive, but is not limited to, electrical, magnetic, optical, electromagnetic, infrared, or semiconductor systems or devices, or any combination thereof. More specific examples of computer-readable storage media may include, but are not limited to: electrical connections having one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fibers, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination thereof. In this embodiment, the computer-readable storage medium may be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system or device. The program code contained on the computer-readable storage medium may be transmitted using any suitable medium, including but not limited to: wires, optical cables, radio frequency (RF), etc., or any suitable combination thereof.
[0143] The aforementioned computer-readable storage medium may be included in the service scheduling device; or it may exist independently and not assembled into the service scheduling device.
[0144] The aforementioned computer-readable storage medium carries one or more programs. When these programs are executed by a service scheduling device, the service scheduling device: receives a target service request sent by a computing power network consumer. The target service request includes a target service identifier and a target service resource requirement determined based on a preset service registry. The preset service registry is used to bind the service identifier with the service resources required to perform the service. The service scheduling device then determines a target service instance that matches the target service request based on the target service identifier and the target service resource requirement. Finally, the service scheduling device sends a service scheduling instruction to the target computing power providing node corresponding to the target service instance, so that the target computing power providing node provides the target service instance to the computing power network consumer.
[0145] Computer program code for performing the operations of this application can be written in one or more programming languages or a combination thereof, including object-oriented programming languages such as Java, Smalltalk, and C++, as well as conventional procedural programming languages such as "C" or similar programming languages. The program code can be executed entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving remote computers, the remote computer can be connected to the user's computer via any type of network—including a Local Area Network (LAN) or a Wide Area Network (WAN)—or can be connected to an external computer (e.g., via the Internet using an Internet service provider).
[0146] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of this application. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutively indicated blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, can be implemented using a dedicated hardware-based system that performs the specified function or operation, or using a combination of dedicated hardware and computer instructions.
[0147] The modules described in the embodiments of this application can be implemented in software or hardware. The names of the modules do not necessarily limit the functionality of the unit itself.
[0148] The readable storage medium provided in this application is a computer-readable storage medium that stores computer-readable program instructions (i.e., a computer program) for executing the above-described service scheduling method. This solves the technical problem that existing service scheduling schemes rely on the normalization of computational indicators in the computing power network, leading to difficulties in accurately matching services with user needs. Compared with the prior art, the beneficial effects of the computer-readable storage medium provided in this application are the same as those of the service scheduling method provided in the above embodiments, and will not be repeated here.
[0149] The above description is only a part of the embodiments of this application and does not limit the patent scope of this application. All equivalent structural transformations made under the technical concept of this application and using the contents of the specification and drawings of this application, or direct / indirect applications in other related technical fields, are included in the patent protection scope of this application.
Claims
1. A service scheduling method, characterized in that, The method includes: The system receives target service requests sent by computing power network consumers. The target service requests include a target service identifier and a target service resource requirement determined based on a preset service registry. The preset service registry is used to bind the service identifier with the service resources required to perform the service. Based on the target service identifier and the target service resource requirements, determine the target service instance that matches the target service requirements; A service scheduling instruction is sent to the target computing power providing node corresponding to the target service instance, so that the target computing power providing node provides the target service instance to the computing power network consumer.
2. The method as described in claim 1, characterized in that, Before the step of receiving the target service request sent by the computing power network consumer, the method further includes: Receive a service deployment request sent by a computing power provider node, and determine the first service identifier corresponding to the service to be deployed in the computing power provider node based on the service deployment request; The computing power providing node is authenticated, and if the authentication is successful, the available computing capacity and available storage capacity of the computing power providing node are determined. Query the computing and storage resource requirements corresponding to the first service identifier from the preset service registry; The system detects whether the available computing capacity meets the computing resource requirements and whether the available storage capacity meets the storage resource requirements. If the conditions are met, the computing power providing node is determined to be the node that provides the service capability corresponding to the first service identifier.
3. The method as described in claim 2, characterized in that, The step of determining the computing power providing node as the node providing the service capability corresponding to the first service identifier if the condition is met includes: If the conditions are met, the service code corresponding to the first service identifier is issued to the computing power providing node, so that the computing power providing node allocates computing resources and storage resources to the first service instance corresponding to the first service identifier based on the computing resource requirements and the storage resource requirements. Once the allocation is complete, the first service instance is deployed to obtain a deployed service instance; The deployed service instance is verified, and if the verification is successful, the computing power providing node is determined as the node that provides the service capability corresponding to the first service identifier.
4. The method as described in claim 3, characterized in that, The step of verifying the deployed service instance includes: Determine the access address of the service instance that has been deployed; Based on the access address, a preset data sample is sent to the deployed service instance, and the sample calculation result returned by the deployed service instance based on the preset data sample is received. The sample calculation results are compared with the preset benchmark results to obtain the result comparison error; If the error in the result comparison is within a preset error threshold, the service instance that has been deployed is deemed to have passed verification.
5. The method according to any one of claims 1 to 4, characterized in that, The step of determining the target service instance matching the target service requirements based on the target service identifier and the target service resource requirements includes: Detect whether there is a second service instance in the preset resource view where the computing power providing node has a service identifier that matches the target service identifier. The preset resource view records the service resources provided by the computing power providing node for different service identifiers. If it exists, the second service instance is determined as a candidate service instance, and the service resource information of the candidate service instance is obtained; Based on the service resource information and the target service resource requirements, a target service instance matching the target service requirements is determined from the candidate service instances.
6. The method as described in claim 5, characterized in that, The step of determining the target service instance matching the target service requirement from the candidate service instances based on the service resource information and the target service resource requirement includes: Determine the instance quantity requirement, cost constraints, and latency constraints based on the target service resource requirements; Based on the service resource information, determine the number of available service instances among the candidate service instances, and determine the candidate service instances whose number of available service instances meets the instance quantity requirement as the first candidate service instances; From the first candidate service instance, determine a second candidate service instance whose unit cost satisfies the cost constraint; The actual latency of the second candidate service instance is determined based on the target computation time and target network latency of the second candidate service instance. The second candidate service instance whose actual latency satisfies the latency constraint is determined as the target service instance that matches the target service requirement.
7. The method as described in claim 6, characterized in that, Before the step of receiving the target service request sent by the computing power network consumer, the method further includes: Receive service capability information sent by the computing power providing node; Extract from the service capability information the number of available service instances provided by the computing power providing node for different service identifiers, as well as the computing time, unit cost and network latency of the service instances corresponding to each service identifier; The service identifiers, computation time, unit cost, and network latency are associated to generate a preset resource view.
8. A service scheduling device, characterized in that, The device includes: The service requirement generation module is used to receive target service requirements sent by computing power network consumers. The target service requirements include a target service identifier and a target service resource requirement determined based on a preset service registry. The preset service registry is used to bind the service identifier with the service resources required to perform the service. The service instance matching module is used to determine the target service instance that matches the target service requirement based on the target service identifier and the target service resource requirement. The service scheduling module is used to send service scheduling instructions to the target computing power providing node corresponding to the target service instance, so that the target computing power providing node provides the target service instance to the computing power network consumer user.
9. A service scheduling device, characterized in that, The device includes: a memory, a processor, and a computer program stored in the memory and executable on the processor, the computer program being configured to implement the steps of the service scheduling method as described in any one of claims 1 to 7.
10. A storage medium, characterized in that, The storage medium is a computer-readable storage medium, and a computer program is stored on the storage medium. When the computer program is executed by a processor, it implements the steps of the service scheduling method as described in any one of claims 1 to 7.