Method, apparatus, program, device and medium for determining maximum available copy number

By analyzing replica group information and compute priority queues in a multi-cluster resource environment, the problem of too many workload replica groups in the cloud server cluster is solved, and more efficient resource scheduling and computing speed and reliability are achieved.

CN114721815BActive Publication Date: 2025-07-04TENCENT TECHNOLOGY (SHENZHEN) CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202210146254.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-02-17
Publication Date
2025-07-04
Estimated Expiration
2042-02-17

AI Technical Summary

Technical Problem

In multi-cluster resource scheduling, the existing technology only relies on existing resource usage information for scheduling, resulting in cloud server clusters being unable to run when there are too many workload replica groups, affecting computing speed and reliability.

Method used

By obtaining the maximum number of available replicas in a multi-cluster resource environment, compute the replica group information of the target cluster, calculate the priority queue of the workload, and assign workloads through the priority queue set, determine the maximum number of available replicas in a multi-cluster resource environment.

Benefits of technology

Improve the accuracy and reliability of determining the maximum number of available replicas, preventing too many workload replica groups from running, improving the accuracy of multi-cluster resource scheduling and the computing speed and reliability of cloud servers, and improving user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114721815B_ABST
    Figure CN114721815B_ABST
Patent Text Reader

Abstract

The present invention provides a method, apparatus, software program, electronic device, and storage medium for determining the maximum available number of replicas. The method includes: parsing a request for calculating the maximum available number of replicas to obtain replica group information of a target cluster; combining the priority queues corresponding to each workload to obtain a set of priority queues corresponding to all workloads in the replica group; allocating the workloads through the set of priority queues to obtain an allocation result of the workloads; and determining the maximum available number of replicas in a multi-cluster resource environment according to the allocation result of the workloads. Thus, the accuracy and reliability of determining the maximum available number of replicas can be improved, preventing the replica group of the workload from being too large to run, and ensuring the speed and reliability of cloud server computing. The embodiments of the present invention can be applied to various scenarios such as cloud technology, artificial intelligence, intelligent transportation, and assisted driving.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technology for determining the maximum available number of replicas in a cloud network, and particularly to a method, device, software program, electronic device, and storage medium for determining the maximum available number of replicas. Background Art

[0002] With the continuous development of computer technology, cloud virtual machines (CVMs) can provide secure and reliable elastic computing services and different instance types to meet specific usage scenarios of users. These instance types consist of different combinations of CPUs, memory, storage, and networks. When determining the maximum available number of replicas during the operation of a cloud server, the speed of determining the maximum available number of replicas directly affects the resource utilization rate and user experience of the cloud data center. Scheduling first ensures that users can be allocated resources, and then focuses on how to optimally allocate resources, that is, improve resource utilization. However, in related technologies, when processing tasks with multi-cluster resources, the maximum available number of replicas is required to assist in decision-making to prevent excessive replica groups of workloads from causing failures, improve the accuracy of multi-cluster resource scheduling, and ensure the speed and reliability of cloud server computing. Summary of the Invention

[0003] In view of this, embodiments of the present invention provide a method, device, software program, electronic device, and storage medium for determining the maximum available number of replicas, which can allocate workloads through a priority queue set to obtain the allocation result of the workloads; determine the maximum available number of replicas in a multi-cluster resource environment according to the allocation result of the workloads, improve the accuracy and reliability of determining the maximum available number of replicas, improve the utilization efficiency of cluster resources, and at the same time prevent excessive replica groups of workloads from causing failures, improve the accuracy of multi-cluster resource scheduling, ensure the speed and reliability of cloud server computing, and improve the user experience.

[0004] The technical solution of the embodiments of the present invention is implemented as follows:

[0005] Embodiments of the present invention provide a method for determining the maximum available number of replicas, the method comprising:

[0006] Obtaining a calculation request for the maximum available number of replicas in a multi-cluster resource environment,

[0007] Parsing the calculation request for the maximum available number of replicas to obtain replica group information of a target cluster;

[0008] Calculating a priority queue corresponding to each workload according to the information of each workload in the replica group;

[0009] Combine the priority queues corresponding to each workload to obtain the set of priority queues corresponding to all workloads in the replica group;

[0010] Allocate the workloads through the set of priority queues to obtain the allocation result of the workloads;

[0011] Determine the maximum available replica number in the multi-cluster resource environment according to the allocation result of the workloads.

[0012] An embodiment of the present invention further provides a device for determining the maximum available replica number, including:

[0013] An information transmission device, configured to obtain a calculation request for the maximum available replica number in a multi-cluster resource environment;

[0014] An information processing device, configured to parse the calculation request for the maximum available replica number to obtain the replica group information of the target cluster;

[0015] The information processing device is configured to calculate the priority queue corresponding to the workload according to the information of each workload in the replica group;

[0016] The information processing device is configured to combine the priority queues corresponding to each workload to obtain the set of priority queues corresponding to all workloads in the replica group;

[0017] The information processing device is configured to allocate the workloads through the set of priority queues to obtain the allocation result of the workloads;

[0018] The information processing device is configured to determine the maximum available replica number in the multi-cluster resource environment according to the allocation result of the workloads.

[0019] In the above solution, the information processing device is configured to parse the identifier of the calculation request for the maximum available replica number to obtain the name of the target cluster and the replica number information;

[0020] The information processing device is configured to parse the content of the calculation request for the maximum available replica number to obtain the node requirement information of each replica in the replica group, where the node requirement information includes at least one of the following:

[0021] The requirement information for the selector component of the target cluster node, the affinity requirement information for the target cluster node, and the taint and tolerance requirement information for the target cluster node;

[0022] The information processing device is configured to parse the content of the maximum available replica quantity calculation request to obtain the resource requirement information of each replica in the replica group, where the resource requirement information includes at least one of the following:

[0023] CPU core quantity requirement information, memory requirement information, and scalable resource requirement information.

[0024] In the above solution, the information processing device is configured to stop determining the maximum available replica quantity when the name of the target cluster is inconsistent with the cluster resources in the multi-cluster resource environment; or

[0025] send a notification message to obtain a new maximum available replica quantity calculation request.

[0026] In the above solution, the information processing device is configured to determine a target node that matches the workload;

[0027] The information processing device is configured to determine the maximum number of replicas that each target node can generate;

[0028] The information processing device is configured to sort a target node according to the maximum number of replicas to form a priority queue corresponding to the workload;

[0029] The information processing device is configured to associate the same target nodes in the priority queues corresponding to different workloads through a linked list to obtain partner nodes.

[0030] In the above solution, the information processing device is configured to traverse each target node corresponding to the workload according to the node requirement information of each replica in the replica group and the resource requirement information of each replica in the replica group to determine a target node that matches the workload.

[0031] In the above solution, the information processing device is configured to determine the container groups in the running state in each target node;

[0032] The information processing device is configured to obtain the available resource amount of each target node based on the difference between the total resource amount of each target node and the total resource amount occupied by the container group;

[0033] The information processing device is configured to calculate the maximum number of replicas that each target node can generate according to the available resource amount of each target node.

[0034] In the above solution, the information processing device is configured to determine the replica expected value of the workload;

[0035] The information processing device is used to extract a processing node in any priority queue from the set of priority queues;

[0036] The information processing device is used to calculate the maximum available copy number of the workload in the processing node;

[0037] When the maximum available copy number is greater than or equal to the expected copy value, the information processing device is used to allocate the workload to the processing node and adjust the positions of the partner nodes in the set of priority queues;

[0038] When the maximum available copy number is less than the expected copy value, the information processing device is used to allocate the workload to the processing node, allocate the workload to the processing node, and traverse the set of priority queues until all the workload is allocated to the set of priority queues.

[0039] An embodiment of the present invention further provides an electronic device, which includes:

[0040] A memory for storing executable instructions;

[0041] A processor, when running the executable instructions stored in the memory, implements the foregoing method for determining the maximum available copy number.

[0042] An embodiment of the present invention further provides a computer-readable storage medium storing executable instructions, and when the executable instructions are executed by a processor, the foregoing method for determining the maximum available copy number is implemented.

[0043] An embodiment of the present application provides a computer program product or a computer program, which includes computer instructions, and the computer instructions are stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the computer device executes the method for determining the maximum available copy number provided by the embodiment of the present application.

[0044] The embodiment of the present invention has the following beneficial effects:

[0045] In an embodiment of the present invention, by obtaining a maximum available replica number calculation request in a multi-cluster resource environment, parsing the maximum available replica number calculation request to obtain replica group information of a target cluster; calculating a priority queue corresponding to each workload in the replica group according to the information of each workload in the replica group; combining the priority queues corresponding to each workload to obtain a priority queue set corresponding to all workloads in the replica group; allocating the workloads through the priority queue set to obtain an allocation result of the workloads; and determining the maximum available replica number in the multi-cluster resource environment according to the allocation result of the workloads. Thereby, the accuracy and reliability of determining the maximum available replica number can be improved, the utilization efficiency of cluster resources can be enhanced, at the same time, it can prevent too many replica groups of workloads from causing inability to run, improve the accuracy of multi-cluster resource scheduling, ensure the speed and reliability of cloud server computing, and improve the user experience. BRIEF DESCRIPTION OF THE DRAWINGS

[0046] Figure 1 FIG. is a schematic diagram of a usage scenario of a method for determining the maximum available replica number provided by an embodiment of the present invention;

[0047] Figure 2 FIG. is a schematic diagram of the composition structure of an electronic device provided by an embodiment of the present invention;

[0048] Figure 3 FIG. is an optional flowchart of a method for determining the maximum available replica number provided by an embodiment of the present invention;

[0049] Figure 4 FIG. is a schematic diagram of the architecture of a device for determining the maximum available replica number in an embodiment of the present invention;

[0050] Figure 5 FIG. is an optional flowchart of a method for determining the maximum available replica number provided by an embodiment of the present invention;

[0051] Figure 6 FIG. is a schematic diagram of the composition of partner nodes in an embodiment of the present invention;

[0052] Figure 7 FIG. is an optional flowchart of a method for determining the maximum available replica number provided by an embodiment of the present invention;

[0053] Figure 8 FIG. is an optional flowchart of a method for determining the maximum available replica number provided by an embodiment of the present invention. DETAILED DESCRIPTION OF THE EMBODIMENTS

[0054] To make the objectives, technical solutions and advantages of the present invention clearer, the present invention will be further described in detail below with reference to the accompanying drawings. The described embodiments should not be construed as limitations on the present invention. All other embodiments obtained by those of ordinary skill in the art without creative efforts shall fall within the scope of protection of the present invention.

[0055] In the following description, reference is made to "some embodiments", which describe a subset of all possible embodiments. However, it can be understood that "some embodiments" can be the same subset or different subsets of all possible embodiments and can be combined with each other without conflict.

[0056] Before further elaborating on the embodiments of the present invention, the nouns and terms involved in the embodiments of the present invention are explained. The nouns and terms involved in the embodiments of the present invention are subject to the following explanations.

[0057] 1) Responsive to, used to indicate the conditions or states on which the executed operations depend. When the dependent conditions or states are met, one or more of the executed operations can be real-time or can have a set delay; without special instructions, there is no restriction on the execution order of the multiple executed operations.

[0058] 2) Terminal, including but not limited to: ordinary terminal, dedicated terminal, where the ordinary terminal maintains a long connection and / or a short connection with the sending channel, and the dedicated terminal maintains a long connection with the sending channel.

[0059] 3) Client, the carrier for implementing specific functions in the terminal. For example, a mobile client (APP) is the carrier for specific functions in a mobile terminal, such as performing the function of report generation or presenting reports.

[0060] 4) Component, a functional module of the view of a mini-program, also known as a front-end component. Buttons, titles, tables, sidebars, content, and footers in a page, etc. Components include modular code for easy reuse in different pages of the mini-program.

[0061] 5) Server cluster refers to gathering many servers together to provide the same service. To the client, it seems like there is only one server. A server cluster can utilize multiple computers for parallel computing to achieve high computing speed, or use multiple computers for backup so that the entire system can still operate normally even if any one machine breaks down. In the server cluster hard disk failure handling method provided in this application, it can be applied to cloud server usage scenarios and distributed server usage scenarios to achieve status detection and fault repair of server hard disks in different usage scenarios. Specifically, a cloud virtual machine (CVM) is a simple, efficient, secure, and reliable computing service with elastic scalability in processing power. Its management method is simpler and more efficient than that of traditional single physical servers. Users do not need to purchase hardware in advance and can quickly create or release any number of cloud servers for their business processes and store the data of cloud server users. In the distributed server usage environment, users' data and programs can be located on multiple servers instead of a single server. Similarly, a large number of hard disks also need to be configured in the distributed server usage environment, and the status detection and fault repair of server hard disks also need to be achieved through the server cluster hard disk failure handling method provided in this application.

[0062] 6) The container cluster management system Kubernetes, also known as K8S, is an open-source container operation platform that can combine several containers into a service and dynamically allocate the hosts on which the containers run, providing great convenience for users to use containers. Through Kubernetes, applications can be quickly deployed, scaled, seamlessly connected to new application functions, and the use of hardware resources can be optimized.

[0063] A node is the basic element that makes up a container cluster. Nodes depend on the business and can be either virtual machines or physical machines. Each node contains the basic components required to run a container group Pod, including Kubelet (container management component), Kubeproxy (network proxy component), etc.

[0064] The Master node refers to the cluster control node that manages and controls the entire cluster. All control commands of Kubernetes are sent to it, and it is responsible for the specific execution process. The kube-apiserver (resource access component), kube-controller-manager (operation management controller component), and kube-scheduler (scheduling component) running on the Master node maintain the healthy working state of the entire cluster by continuously communicating with the kubelet and kube-proxy on the worker nodes (Node). If the services on the Master node cannot access a certain Node, the Node will be marked as unavailable, and new Pods (container groups) will no longer be scheduled to it. However, additional detection is required for the Master itself to prevent it from becoming a single point of failure in the cluster. Therefore, high-availability deployment is also required for the Master services.

[0065] Nodes other than the Master are called Node or Worker nodes. You can use the node viewing command (kubectl get nodes) in the Master to view the Node nodes in the cluster. Each Node node will be assigned some workloads (Docker containers) by the Master node. When a certain Node fails, the workloads on that node will be automatically transferred to other nodes by the Master node.

[0066] Pod (container group): The smallest / simplest basic unit created or deployed by Kubernetes - the container group. A Pod represents a microservice process running on the cluster, and a microservice process encapsulates an edge container (or multiple edge containers) that provides the microservice application, storage resources, an independent network IP, and policy options for managing and controlling the running mode of the container.

[0067] 7) Workload: A type of application that can contain multiple replica instances.

[0068] 8) Replica: The instance unit of the workload, and each replica instance is an independent container.

[0069] 9) Replica set: The combination formed by the workload instance units. A replica set represents the smallest unit of multi-cluster affinity scheduling.

[0070] 10) Node: A cluster node, generally corresponding to a physical machine or virtual machine, which is the basic unit for running containers (replicas).

[0071] Before introducing the method for determining the maximum available number of replicas provided by this application, the defects in the related art will be briefly described first. In the related art, when performing multi-cluster resource scheduling for a cloud network, the following method is usually used:

[0072] 1). In a multi-cluster scenario, before a workload is scheduled, the replicas are scheduled once by sensing the resource usage information uploaded by the federated cluster. The defect of this method is that only the existing resource usage information is used for scheduling. When the number of replica groups of the workload is too large, the cloud server cluster cannot run, and the speed and reliability of cloud server computing cannot be guaranteed.

[0073] To overcome the above defects, this application provides a method, device, software program, electronic device, and storage medium for determining the maximum available number of replicas. Figure 1 For the schematic diagram of the usage scenario of the method for determining the maximum available number of replicas provided by the embodiments of the present invention, see Figure 1 , with the continuous development of computer technology, cloud virtual machines (CVMs) can provide secure and reliable elastic computing services and can also provide different instance types to meet specific usage scenarios of users. Terminals (including Terminal 10-1 and Terminal 10-2) are provided with corresponding clients capable of performing different functions. Among them, the respective clients are terminals (including Terminal 10-1 and Terminal 10-2) that obtain different information from the corresponding cloud server cluster 200 through the network 300 and can deploy different services in the cloud server. The terminal is connected to the cloud server cluster 200 through the network 300. The network 300 can be a wide area network or a local area network, or a combination of the two, and uses a wireless link to achieve data transmission. These instance types provided by the cloud server are composed of different combinations of CPU, memory, storage, and network, and the user's service data is stored in the hard disk of the cloud server. However, during the operation of the cloud server, a large amount of resource fragmentation will be generated during the task processing process, resulting in resource redundancy, reducing the processing speed of the cloud server network, affecting the task processing speed, and affecting the usage effect of the cloud server network. In the embodiments provided by the present invention, the cloud server applications running in the cloud server cluster 200 can be written in software code environments of different programming languages, and the code objects can be different types of code entities. For example, in the software code of the C language, a code object can be a function. In the software code of the JAVA language, a code object can be a class. In the OC language of the IOS side, it can be a piece of target code. In the software code of the C++ language, a code object can be a class or a function to execute processing instructions from different terminals. Among them, the source of the compilation environment of the cloud server is not distinguished in this application.

[0074] The following details the structure of the maximum available replica number determination device according to the embodiments of the present invention. The maximum available replica number determination device can be implemented in various forms, such as a dedicated terminal with the processing function of the maximum available replica number determination device, or a server provided with the processing function of the maximum available replica number determination device. For example, the cloud server cluster 200 in the preamble Figure 1 as mentioned above. Figure 2 FIG. is a schematic diagram of the composition structure of the maximum available replica number determination device provided by the embodiments of the present invention. It can be understood that Figure 2 only the exemplary structure of the maximum available replica number determination device is shown, rather than all structures. According to needs, Figure 2 part of the structures shown or all structures can be implemented.

[0075] The maximum available replica number determination device provided by the embodiments of the present invention includes: at least one processor 201, a memory 202, a user interface 203, and at least one network interface 204. Each component in the maximum available replica number determination device is coupled together through a bus system 205. It can be understood that the bus system 205 is used to realize the connection and communication between these components. In addition to the data bus, the bus system 205 also includes a power bus, a control bus, and a status signal bus. However, for the sake of clear illustration, in Figure 2 all kinds of buses are labeled as the bus system 205.

[0076] Among them, the user interface 203 may include a display, a keyboard, a mouse, a trackball, a click wheel, a button, a touchpad, or a touch screen, etc.

[0077] It can be understood that the memory 202 can be a volatile memory or a non-volatile memory, or may include both volatile and non-volatile memories. The memory 202 in the embodiments of the present invention can store data to support the operation of the terminal (such as 10-1). Examples of these data include: any computer programs for operating on the terminal (such as 10-1), such as an operating system and application programs. Among them, the operating system contains various system programs, such as a framework layer, a core library layer, a driver layer, etc., for implementing various basic services and processing hardware-based tasks. The application programs can include various application programs. Among them, the terminals in the embodiments of the present invention include, but are not limited to, mobile phones, computers, intelligent voice interaction devices, intelligent home appliances, in-vehicle terminals, etc. The embodiments of the present invention can be applied to various scenarios, including but not limited to cloud technology, artificial intelligence, intelligent transportation, assisted driving, etc. When the maximum available replica number determination method provided by the present invention is executed by different terminals, the specific usage scenarios are not limited by the present invention.

[0078] In some embodiments, the maximum available replica number determination device provided by the embodiments of the present invention can be implemented in a combination of software and hardware. As an example, the maximum available replica number determination device provided by the embodiments of the present invention can be a processor in the form of a hardware decoding processor, which is programmed to execute the maximum available replica number determination method provided by the embodiments of the present invention. For example, a processor in the form of a hardware decoding processor can adopt one or more application specific integrated circuits (ASICs), DSPs, programmable logic devices (PLDs), complex programmable logic devices (CPLDs), field-programmable gate arrays (FPGAs), or other electronic components.

[0079] As an example of the implementation of the maximum available replica number determination device provided by the embodiments of the present invention in a combination of software and hardware, the maximum available replica number determination device provided by the embodiments of the present invention can be directly embodied as a combination of software modules executed by the processor 201. The software modules can be located in a storage medium, and the storage medium is located in the memory 202. The processor 201 reads the executable instructions included in the software modules in the memory 202 and combines the necessary hardware (for example, including the processor 201 and other components connected to the bus 205) to complete the maximum available replica number determination method provided by the embodiments of the present invention.

[0080] As an example, the processor 201 can be an integrated circuit chip with signal processing capabilities, such as a general-purpose processor, a digital signal processor (DSP), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. Among them, the general-purpose processor can be a microprocessor or any conventional processor, etc.

[0081] As an example of the maximum available copy number determination device provided by the embodiments of the present invention implemented in hardware, the device provided by the embodiments of the present invention can be directly implemented by a processor 201 in the form of a hardware decoding processor. For example, it can be implemented by one or more application specific integrated circuits (ASICs), DSPs, programmable logic devices (PLDs), complex programmable logic devices (CPLDs), field-programmable gate arrays (FPGAs) or other electronic components to implement the maximum available copy number determination method provided by the embodiments of the present invention.

[0082] The memory 202 in the embodiments of the present invention is used to store various types of data to support the operation of the maximum available copy number determination device. Examples of such data include: any executable instructions for operating on the maximum available copy number determination device, such as executable instructions. The program for implementing the maximum available copy number determination method of the embodiments of the present invention can be included in the executable instructions.

[0083] In some other embodiments, the maximum available copy number determination device provided by the embodiments of the present invention can be implemented in software. Figure 2 The maximum available copy number determination device stored in the memory 202 is shown, which can be software in the form of programs and plugins, etc., and includes a series of modules. As an example of the program stored in the memory 202, it can include the maximum available copy number determination device. The maximum available copy number determination device includes the following software module information transmission module 2081 and information processing module 2082. When the software modules in the maximum available copy number determination device are read into the RAM by the processor 201 and executed, the maximum available copy number determination method provided by the embodiments of the present invention will be implemented. Among them, the functions of each software module in the maximum available copy number determination device include:

[0084] The information transmission device 2081 is used to obtain the maximum available copy number calculation request in the multi-cluster resource environment.

[0085] The information processing device 2082 is used to parse the maximum available copy number calculation request to obtain the replica group information of the target cluster.

[0086] The information processing device 2082 is used to calculate the priority queue corresponding to the workload according to the information of each workload in the replica group.

[0087] The information processing device 2082 is configured to combine the priority queues corresponding to each workload to obtain a set of priority queues corresponding to all workloads in the replica group.

[0088] The information processing device 2082 is configured to allocate the workloads through the set of priority queues to obtain the allocation result of the workloads.

[0089] The information processing device 2082 is configured to determine the maximum available replica number in the multi-cluster resource environment according to the allocation result of the workloads.

[0090] According to Figure 2 In one aspect of the present application, the present application further provides a computer program product or a computer program. The computer program product or the computer program includes computer instructions, and the computer instructions are stored in a computer-readable storage medium. The processor of the computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the computer device executes the methods provided in various alternative implementations of the maximum available replica number determination method provided in the present application.

[0091] Reference Figure 3 , Figure 3 FIG. is an alternative flowchart of the maximum available replica number determination method provided by an embodiment of the present invention. It can be understood that Figure 3 the steps shown can be executed by various electronic devices running the maximum available replica number determination device, such as a dedicated terminal with the maximum available replica number determination function, a server, or a server cluster controller, a control terminal of a cloud network server. Among them, the dedicated terminal with the maximum available replica number determination device can be encapsulated in Figure 1 the cloud server cluster 200 shown to execute the corresponding software module in the maximum available replica number determination device shown in the previous Figure 2 The following describes the steps shown in Figure 3 FIG.

[0092] Step 301: The maximum available replica number determination device obtains a maximum available replica number calculation request in the multi-cluster resource environment.

[0093] In some embodiments of the present invention, for the environment of the cloud server cluster, the maximum available replica number determination device may include different types of components, such as: a controller component, a scheduler component, and an estimator component. Specifically, reference Figure 4 , Figure 4This is a schematic architecture diagram of the maximum available replica number determination device in an embodiment of the present invention. Among them, the controller component is used to detect all workloads, the scheduler component is used to continuously detect all workloads, and the estimator component is used to detect the cluster replicas and nodes of a sub-cluster to count the cluster resource usage. The controller component, the scheduler component, the estimator component, and the workloads created by users together constitute the control plane.

[0094] In a multi-cluster resource environment, in the affinity scheduling scenario, before the multi-cluster scheduler schedules, the maximum available replica number determination method provided by this application can calculate the maximum available replica group number of the cluster, and use this result as an auxiliary decision for scheduling. The scheduler can accurately perceive the maximum number of replica groups that each cluster can produce, thus preventing the situation where too many replicas are created, resulting in insufficient replica resources and inability to produce. At the same time, the scheduler can use the maximum available replica group numbers calculated for each cluster as the weight ratio to dynamically allocate replicas to different clusters, thereby realizing the function of multi-cluster replica load balancing.

[0095] Among them, the embodiments of the present invention can be implemented in combination with cloud technology. Cloud technology refers to a hosting technology that unifies a series of resources such as hardware, software, and networks within a wide area network or a local area network to achieve data calculation, storage, processing, and sharing. It can also be understood as the general term for network technology, information technology, integration technology, management platform technology, application technology, etc. based on the cloud computing business model. The background services of the technical network system require a large amount of computing and storage resources, such as video websites, picture websites, and more portal websites. Therefore, cloud technology needs to be supported by cloud computing.

[0096] It should be noted that cloud computing is a computing model that distributes computing tasks on a resource pool composed of a large number of computing devices, enabling various application systems to obtain computing power, storage space, and information services as needed. The network that provides resources is called the "cloud". The resources in the "cloud" seem to be infinitely expandable to users, and can be obtained at any time, used on demand, expanded at any time, and paid according to usage. As a basic capability provider of cloud computing, a cloud computing resource pool platform will be established, abbreviated as the cloud platform, generally referred to as Infrastructure as a Service (IaaS). Various types of virtual resources are deployed in the resource pool for external customers to choose and use. The cloud computing resource pool mainly includes: computing devices (which can be virtualized machines, including operating systems), storage devices, and network devices. When a user uses a cloud server to store data or deploy different application processes, detecting the operating parameters of the server cluster hard disk can timely discover possible server cluster hard disk failures, and avoid user data loss caused by server cluster hard disk failures with failure warnings.

[0097] Cloud storage is a new concept extended and developed from the concept of cloud computing. A distributed cloud storage system (hereinafter referred to as the storage system) refers to a storage system that combines a large number of different types of storage devices (storage devices are also called storage nodes) in the network through functions such as cluster applications, grid technology, and distributed storage file systems, and works together through application software or application interfaces to jointly provide data storage and business access functions to the outside world. Currently, the storage method of the storage system is as follows: create a logical volume. When creating a logical volume, physical storage space is allocated for each logical volume. This physical storage space may be composed of the disks of a certain storage device or several storage devices. The client stores data on a certain logical volume, that is, stores the data on the file system. The file system divides the data into many parts, and each part is an object. The object not only contains data but also contains additional information such as data identification (ID, ID entity). The file system writes each object into the physical storage space of the logical volume respectively, and the file system will record the storage location information of each object. Thus, when the client requests to access the data, the file system can enable the client to access the data according to the storage location information of each object. The process of the storage system allocating physical storage space for the logical volume is specifically as follows: according to the capacity estimation of the objects stored in the logical volume (this estimation often has a large margin relative to the capacity of the objects to be actually stored) and the group of redundant array of independent disks (RAID), the physical storage space is pre-divided into stripes. A logical volume can be understood as a stripe, thus allocating physical storage space for the logical volume.

[0098] Taking the method for determining the maximum available copy number provided by this application implemented through the cloud server network as an example, the workload is allocated through the priority queue set to obtain the allocation result of the workload; according to the allocation result of the workload, the maximum available copy number in the multi-cluster resource environment is determined. Thus, the availability of the workload is guaranteed, and at the same time, the accuracy of determining the maximum available copy number is improved, and the utilization efficiency of the cluster resources is improved.

[0099] Among them, when applied to cloud products, the front end of the cloud product can be a Web UI component, which is used to receive Spark-related parameters filled in by users and generate job data according to the Spark-related parameters. Among them, the ClusterManager can be an open-source platform such as YARN, Mesos, or Kubernetes to determine the maximum number of available replicas. Spark itself already supports these open-source platforms, that is, the protocols between the Spark component and the ClusterManager component are compatible. The Driver is the job driver, the Work Node is the working node, the Executor is the task execution component, and the task is the smallest execution unit. Further, the package of structured data (spark SQL) is a package used by Spark to operate on structured data. Through this Spark SQL, the SQL language can be used to query data, and this Spark SQL supports multiple data sources, such as data warehouse tool (Hive) tables, etc. The component for streaming computing is a component provided by Spark for streaming computing of real-time data, and provides an application programming interface (API Application Programming Interface) for operating on data streams.

[0100] Step 302: The maximum available replica number determining device parses the maximum available replica number calculation request to obtain the replica group information of the target cluster.

[0101] In some embodiments of the present invention, parsing the maximum available replica number calculation request to obtain the replica group information of the target cluster can be implemented in the following manner:

[0102] Parse the identifier of the maximum available replica number calculation request to obtain the name of the target cluster and the replica number information; parse the content of the maximum available replica number calculation request to obtain the node requirement information of each replica in the replica group, where the node requirement information includes at least one of the following: the requirement information for the selector component of the target cluster node, the affinity requirement information for the target cluster node, and the taint and tolerance requirement information for the target cluster node; parse the content of the maximum available replica number calculation request to obtain the resource requirement information of each replica in the replica group, where the resource requirement information includes at least one of the following: the CPU core number requirement information, the memory requirement information, and the scalable resource requirement information. Among them, the affinity requirement information refers to the affinity rule between application instances and other application instances; for application instances with affinity, they can be deployed on the same computing node; for application instances without affinity, they cannot be deployed on the same computing node. Tags are used to indicate the affinity between application instances and other application instances.

[0103] The tolerance is key-value property data on an application instance (such as a pod), used to configure the taints of the compute nodes it can tolerate, and the scheduler can only schedule the application instance to the compute nodes where the application instance can tolerate the node taints.

[0104] In some embodiments of the present invention, the replica group information of the target cluster may further include: label information, taint information, workload information, persistent volume claim (PVC), and persistent volume (PV) information, etc.

[0105] Among them, the label information is used to identify whether the server cluster 200 has an affinity for the application instance (pod). The compute server cluster 200 with labels added has an affinity for the application instance, and the application instance can be deployed on the server cluster 200 with labels added. The taint is key-value property data defined on the compute node, used to make the compute node reject scheduling and running the application instance on it, unless the application instance has a tolerance for accepting the compute node taint. The workload information may include: resources such as StatefulSet, Deployment, ReplicaSet, Daemonset, etc. These resource information includes the number of application instances and the affinity rules of the application instances, etc. Only the application instances that match the affinity rules of the Workload can be deployed on this compute node. The persistent volume (PV) information, including the node affinity information, directly affects the scheduling result, that is, if the application instance to be deployed needs to use the persistent volume resource, its node affinity needs to match the node affinity included in the PV information, and the application instance can be deployed on this compute node. The above-mentioned persistent volume claim (PVC) refers to the claim information for the PV, which may include: selected-node information, directly affecting the scheduling result.

[0106] For example, the number of workloads in the replica group is 1, the number of replica node requirements is C1, the number of replica resource requirements is R1, and the number of replica counts is N1; the number of workloads is 2, the number of replica node requirements is C2, the number of replica resource requirements is R2, and the number of replica counts is N2. Then the two workloads together form a replica group, which is the smallest unit of multi-cluster affinity scheduling.

[0107] In some embodiments of the present invention, when the name of the target cluster is inconsistent with the cluster resources in the multi-cluster resource environment, the determination of the maximum available replica number is stopped; or a notification message is issued to obtain a new calculation request for the maximum available replica number. Thereby, it can ensure that the multi-cluster resources give priority to processing workloads that meet the requirements, and reduce the processing waiting time of cloud server data.

[0108] Step 303: The maximum available replica number determination device calculates the priority queue corresponding to the workload according to the information of each workload in the replica group.

[0109] Among them, the information of the workload may include resources such as StatefulSet, Deployment, ReplicaSet, Daemonset, etc. These resource information include the number of application instances and the affinity rules of the application instances, etc. Only the application instances that match the affinity rules of the Workload can be deployed on this computing node. The resource objects in the Kubernetes cluster can be applications (APPs) in the Kubernetes cluster, for example, one or more of resources such as Deployment, StatefulSet, Ingress, pod, container, Service, ReplicationController (RC), etc.

[0110] The following is through Figure 5 to further illustrate the working process of calculating the priority queue corresponding to the workload.

[0111] In some embodiments of the present invention, refer to Figure 5 , Figure 5 is an optional flowchart of the maximum available replica number determination method provided by the embodiments of the present invention. It can be understood that Figure 5 the steps shown can be executed by various electronic devices running the maximum available replica number determination device, such as a dedicated terminal with the function of determining the maximum available replica number, a server, or a server cluster controller, a control terminal of a cloud network server. Among them, the dedicated terminal with the maximum available replica number determination device can be encapsulated in Figure 1 the cloud server cluster 200 shown in Figure 2 to execute the corresponding software module in the maximum available replica number determination device shown in the previous Figure 5 The following describes the steps shown in

[0112] Step 501: The maximum available replica number determination device determines the target node that matches the workload.

[0113] In some embodiments of the present invention, to determine target nodes matching the workload, the following method can be adopted:

[0114] Traverse each target node corresponding to the workload according to the node requirement information of each replica in the replica group and the resource requirement information of each replica in the replica group, and determine the target nodes matching the workload. Specifically, the steps are as follows: 1): Nodes whose labels meet the selector requirements can be found from all nodes in the cluster according to the selector requirements of the replica for nodes. 2): Nodes whose labels meet the affinity set expression can be found from the candidate nodes in 1) according to the affinity requirements of the replica for nodes. 3): Nodes whose taints meet the replica tolerances can be found from the candidate nodes in 2) according to the replica taint and tolerance requirements. 4): Nodes that are running normally and can be scheduled are found from the candidate nodes in 3) as target nodes.

[0115] Step 502: The maximum available replica number determination device determines the maximum number of replicas that each target node can generate.

[0116] In some embodiments of the present invention, to determine the maximum number of replicas that each target node can generate, the following method can be adopted:

[0117] Determine the container groups in the running state in each target node; based on the difference between the total resources of each target node and the total resources occupied by the container groups, obtain the available resource amount of each target node; calculate the maximum number of replicas that each target node can generate according to the available resource amount of each target node.

[0118] Step 503: The maximum available replica number determination device sorts a target node according to the maximum replica number to form a priority queue corresponding to the workload.

[0119] Step 504: The maximum available replica number determination device associates the same target nodes in the priority queues corresponding to different workloads through a linked list to obtain buddy nodes.

[0120] In some embodiments of the present invention, refer to Figure 6 , Figure 6 is a schematic diagram of the composition of buddy nodes in the embodiments of the present invention. First, all nodes can be queued to form a target priority queue in descending order according to the number of replicas that each node can generate at most as the sorting condition. Then, in the target priority queue, for all the nodes therein, nodes with the same name in the remaining priority queues are found and associated with a linked list to form multiple buddies, as shown in Figure 6As shown in the figure, if a replica group contains workloads A, B, and C, corresponding priority queues A, B, and C need to be generated. The rule for sorting nodes in each priority queue is to sort them from smallest to largest according to the maximum number of available replicas that the nodes can run. For example, the rule for sorting nodes in priority queue A is to sort them from smallest to largest according to the maximum number of replicas of workload A that can run on the nodes. Figure 6 Nodes with the same label (labels are 1, 2, and 3 respectively) represent the same node, and they are linked together with a linked list to form multiple buddy linked lists.

[0121] Step 304: The maximum available replica quantity determination device combines the priority queues corresponding to each workload to obtain a set of priority queues corresponding to all workloads in the replica group.

[0122] Step 305: The maximum available replica quantity determination device distributes the workloads through the set of priority queues to obtain the distribution result of the workloads.

[0123] Step 306: The maximum available replica quantity determination device determines the maximum available replica quantity in the multi-cluster resource environment according to the distribution result of the workloads.

[0124] Among them, taking K8S as an example, a Kubernetes cluster generally includes a master node (Master), and multiple computing nodes (Nodes) respectively communicating with the master node. Among them, the master node is used to manage and control multiple computing nodes. The computing nodes are used as workload nodes, which contain the original application programs directly deployed on the nodes and multiple container groups (Pods). Each container group encapsulates one or more containers (Containers) for carrying application programs. A Pod is the basic operation unit of Kubernetes and the smallest deployable, debuggable, and manageable deployment unit. The type of working replica is a resource type (Deployment type), and type tasks can be deployed. Deployment integrates functions such as online deployment, rolling upgrade, creating replicas, pausing online tasks, resuming online tasks, and rolling back to a previous version (successful / stable) of Deployment. To some extent, Deployment can achieve unattended online deployment, greatly reducing the complex communication and operation risks during the online process. For a working replica of the Deployment type, the list of ReplicaSet objects associated with the Deployment type can be determined first, and then the associated Pod list can be found from the cache through the replica controller ReplicaSet. Among them, ReplicaSet is a type of replica controller in kubernetes, and its main function is to control the pods managed by the ReplicaSet to keep the number of pod replicas always maintained at a preset number.

[0125] In some embodiments of the present invention, when allocating workloads through the priority queue set, reference is made to Figure 7 , Figure 7 FIG. 7 is an alternative flowchart of the method for determining the maximum available replica number provided by the embodiments of the present invention. It can be understood that Figure 7 the steps shown can be executed by various electronic devices running the maximum available replica number determination device. For example, it can be a dedicated terminal with the maximum available replica number determination function, a server, or a server cluster controller, or a control terminal of a cloud network server. Among them, the dedicated terminal with the maximum available replica number determination device can be encapsulated in Figure 1 the cloud server cluster 200 shown in FIG. 8 to execute the corresponding software modules in the maximum available replica number determination device shown in FIG. 7. The following will describe the steps shown in Figure 2 FIG. 7. Figure 7 will be described below.

[0126] Step 701: The maximum available replica number determination device determines the expected replica number of the workload.

[0127] Step 702: The maximum available replica number extracts a processing node from any one of the priority queues in the priority queue set.

[0128] Step 703: The maximum available replica number calculates the maximum available replica number of the workload on the processing node.

[0129] Step 704: When the maximum available replica number is greater than or equal to the expected replica number, the workload is allocated to the processing node, and the position of the partner node in the priority queue set is adjusted.

[0130] Step 705: When the maximum available replica number is less than the expected replica number, the workload is allocated to the processing node, and the priority queue set is traversed until all the workloads are allocated to the priority queue set.

[0131] In some embodiments of the present invention, the maximum available replica number of the workload on the extracted node is denoted as r m , and the expected replica number of the workload is r.

[0132] When r m is greater than or equal to r, then r workloads are allocated to this node, and it is re-added to the target priority queue. At the same time, according to the partner linked list, the positions of all other partner nodes on the linked list in their corresponding priority queues are adjusted. When r m is less than r, then r mAllocate a workload to the node, and at the same time, adjust the positions of all other partner nodes on the linked list in their corresponding priority queues according to the partner linked list, and set r = r - r m Then traverse the set of priority queues until all the workloads are allocated to the set of priority queues.

[0133] In this way, it is possible to preferentially fill the nodes with fewer maximum available replicas from the queue each time, and then allocate the workload to the corresponding nodes. When the workload cannot be allocated through the set of priority queues, it can be determined that the maximum available replica number has been reached, and the available replica number at this time is the maximum available replica number in the multi-cluster resource environment.

[0134] In some embodiments of the present invention, since the cluster resources include multiple different server clusters, the maximum available replica group weight ratio can be used to distribute replica groups to different clusters to achieve load balancing of multiple clusters and ensure that users obtain stable cloud server cluster computing services.

[0135] To better illustrate the working process of the method for determining the maximum available replica number provided by this application, the following takes the cluster resource manager as the resource manager of an instant messaging software server as an example to illustrate the method for determining the maximum available replica number involved in the present invention. Among them, in combination with Figure 1 the schematic diagram of the usage environment of the method for determining the maximum available replica number according to the embodiment of the present invention shown; terminals (including terminal 11-1 and terminal 11-2) are provided with corresponding clients that can perform different functions. Among them, the corresponding clients are terminals (including terminal 11-1 and terminal 11-2) that obtain different information through the instant messaging software application from the corresponding cloud server cluster 200 for browsing. The terminal is connected to the cloud server cluster 200 through the network 300. The network 300 can be a wide area network or a local area network, or a combination of the two, and uses a wireless link to implement data transmission. Among them, the cloud server cluster 200 runs a cluster resource manager that matches the instant messaging software application to achieve resource scheduling. Terminals (such as Figure 1 terminal 10-1 and terminal 10-2) can also be provided with clients that can display software for corresponding financial lending, such as clients or plugins for conducting financial activities through virtual resources or physical resources or lending through virtual resources. Users can obtain loans from financial institutions or platforms through the corresponding clients (such as the Tenpay payment of the instant messaging client or the process of borrowing funds to purchase items in the instant messaging client); the terminal is connected to the cloud server cluster 200 through the network 300. The network 300 can be a wide area network or a local area network, or a combination of the two, and uses a wireless link to implement data transmission. Servers (such as Figure 1Servers of enterprises in the banking, securities, Internet finance, etc. industries that provide financial services such as payment, lending, and wealth management. When a user needs to use a client device to access the services provided by the enterprise's customer server for relevant financial services, the customer server can issue a payment task by triggering a small program in the instant messaging client of the user terminal. Due to a large number of tasks, the server cluster 200 can be a multi-cluster environment. Refer to Figure 8 , Figure 8 FIG. Figure 4 is an optional flowchart of the method for determining the maximum available replica number provided by an embodiment of the present invention. The architecture for determining the maximum available replica number is as shown in Figure 4 shown. The following will describe the steps shown in Figure 8 .

[0136] Step 801: Obtain a calculation request for the maximum available replica group.

[0137] Step 802: Determine whether the cluster name in the request is the same as the cluster name. If it is the same, go to step 803; otherwise, return an error prompt.

[0138] Step 803: Generate a corresponding priority queue for each workload in the replica group, and all the priority queues form a priority queue set.

[0139] Step 804: Set the maximum available replica group number group = 0.

[0140] Step 805: Set the index k = 1.

[0141] Step 806: Allocate the kth workload from the kth priority queue. If successful, go to step 807; otherwise, go to step 809.

[0142] Step 807: k = k + 1.

[0143] Step 808: Determine whether k is greater than the length of the priority queue. If so, set group = group + 1 and go to step 805; otherwise, go to step 806.

[0144] Step 809: Finally, obtain the maximum available replica group number group of the cluster.

[0145] Since the server cluster resources of the instant messaging software include multiple different server clusters, the maximum available replica group number group can be distributed to different clusters according to the weight ratio of each server cluster, realizing load balancing of multiple clusters, ensuring that users obtain stable cloud server cluster computing services, avoiding problems such as overly long operation waiting times and crashes when a large number of users perform payment operations through the instant messaging software, and improving the accuracy of multi-cluster resource scheduling.

[0146] The present invention has the following beneficial technical effects:

[0147] The present invention obtains a maximum available replica quantity calculation request in a multi-cluster resource environment, parses the maximum available replica quantity calculation request to obtain replica group information of a target cluster; calculates a priority queue corresponding to each workload according to the information of each workload in the replica group; combines the priority queues corresponding to each workload to obtain a priority queue set corresponding to all workloads in the replica group; allocates the workloads through the priority queue set to obtain an allocation result of the workloads; determines the maximum available replica quantity in the multi-cluster resource environment according to the allocation result of the workloads. Thus, the accuracy and reliability of determining the maximum available replica quantity can be improved, the utilization efficiency of cluster resources can be improved, at the same time, it can prevent the replica groups of workloads from being too many to run, improve the accuracy of multi-cluster resource scheduling, ensure the speed and reliability of cloud server computing, and improve the user experience.

[0148] The above is only an embodiment of the present invention and is not intended to limit the protection scope of the present invention. Any modifications, equivalent replacements, improvements, etc. made within the spirit and principle of the present invention shall be included in the protection scope of the present invention.

Claims

1. A method for determining the maximum available number of replicas, characterized in that, The method includes: Obtaining a maximum available replica quantity calculation request in a multi-cluster resource environment; Parsing the maximum available replica quantity calculation request to obtain information about the replica group of the target cluster, where the replica group includes at least one workload, and the information about the replica group includes information about each of the workloads; Determining target nodes that match each of the workloads according to the information about the workloads; Determining the maximum replica quantity generated by each of the target nodes; Sorting the target nodes according to the maximum replica quantity to form a priority queue corresponding to each of the workloads; Combining the priority queues corresponding to each of the workloads to obtain a set of priority queues corresponding to all the workloads in the replica group; Allocating the workloads through the set of priority queues to obtain an allocation result of the workloads; Determining the maximum available replica quantity in the multi-cluster resource environment according to the allocation result of the workloads.

2. The method according to claim 1, wherein Parsing the maximum available replica quantity calculation request to obtain information about the replica group of the target cluster, including: Parsing the identifier of the maximum available replica quantity calculation request to obtain the name of the target cluster and replica quantity information; Parsing the content of the maximum available replica quantity calculation request to obtain the node requirement information of each replica in the replica group, where the replica is an instance unit of the workload, and the node requirement information includes at least one of the following: Requirement information for the selector component of the target cluster nodes, affinity requirement information for the target cluster nodes, and taint and tolerance requirement information for the target cluster nodes; Parsing the content of the maximum available replica quantity calculation request to obtain the resource requirement information of each replica in the replica group, where the resource requirement information includes at least one of the following: CPU core quantity requirement information, memory requirement information, and scalable resource requirement information.

3. The method according to claim 2, wherein The method further includes: When the name of the target cluster is inconsistent with the cluster resources in the multi-cluster resource environment, stopping the determination of the maximum available replica quantity; or Sending a notification message to obtain a new maximum available replica quantity calculation request.

4. The method according to claim 1, wherein After forming the priority queue corresponding to each of the workloads, the method further includes: Associating the same target nodes in the priority queues corresponding to different workloads through a linked list to obtain partner nodes.

5. The method according to claim 1, wherein The determining of the target nodes that match each of the workloads includes: Traversing each target node corresponding to the workload according to the node requirement information of each replica in the replica group and the resource requirement information of each replica in the replica group, and determining the target nodes that match the workload.

6. The method according to claim 1, wherein The determining of the maximum replica quantity generated by each of the target nodes includes: Determining the container groups in the running state in each of the target nodes; Obtain the available resource amount of each of the target nodes based on the difference between the total resource amount of each of the target nodes and the total resource amount occupied by the container group; Calculate the maximum number of replicas generated by each of the target nodes according to the available resource amount of each of the target nodes.

7. The method according to claim 1, characterized in that The allocating the workload through the priority queue set to obtain the allocation result of the workload includes: Determine the expected number of replicas of the workload; Extract a processing node from any one of the priority queues in the priority queue set; Calculate the maximum available number of replicas of the workload in the processing node; When the maximum available number of replicas is greater than or equal to the expected number of replicas, allocate the workload to the processing node and adjust the position of the partner node in the priority queue set; When the maximum available number of replicas is less than the expected number of replicas, allocate the workload to the processing node and traverse the priority queue set until the workload is fully allocated to the priority queue set.

8. A maximum available copy number determination device, characterized in that The device includes: An information transmission device, configured to obtain a request for calculating the maximum available number of replicas in a multi-cluster resource environment; An information processing device, configured to parse the request for calculating the maximum available number of replicas to obtain information about the replica group of the target cluster, where the replica group includes at least one workload, and the information about the replica group includes the information of each of the workloads; The information processing device is configured to determine, according to the information of the workload, a target node matching each of the workloads; determine the maximum number of replicas generated by each of the target nodes; sort the target nodes according to the maximum number of replicas to form a priority queue corresponding to each of the workloads; The information processing device is configured to combine the priority queues corresponding to each of the workloads to obtain a priority queue set corresponding to all the workloads in the replica group; The information processing device is configured to allocate the workload through the priority queue set to obtain the allocation result of the workload; The information processing device is configured to determine the maximum available number of replicas in the multi-cluster resource environment according to the allocation result of the workload.

9. A computer program product comprising a computer program or instructions, characterized in that, When the computer program or instruction is executed by a processor, the method for determining the maximum available number of replicas according to any one of claims 1 to 7 is implemented.

10. An electronic device, characterized in that, The electronic device includes: A memory, configured to store executable instructions; A processor, configured to implement the method for determining the maximum available number of replicas according to any one of claims 1 to 7 when running the executable instructions stored in the memory.

11. A computer-readable storage medium storing executable instructions, characterized in that, When the executable instruction is executed by a processor, the method for determining the maximum available number of replicas according to any one of claims 1 to 7 is implemented.

Citation Information

Patent Citations

  • Real-time copy scheduling method considering load balancing

    CN103139302A

  • Mobile terminal cloud resource scheduling method based on Hadoop framework

    CN103414761A