CN114706596A - Container deployment method, resource scheduling method, device, medium and electronic equipment - Google Patents
Container deployment method, resource scheduling method, device, medium and electronic equipment Download PDFInfo
- Publication number
- CN114706596A CN114706596A CN202210376957.0A CN202210376957A CN114706596A CN 114706596 A CN114706596 A CN 114706596A CN 202210376957 A CN202210376957 A CN 202210376957A CN 114706596 A CN114706596 A CN 114706596A
- Authority
- CN
- China
- Prior art keywords
- container
- resource information
- working node
- sets
- deployed
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 94
- 238000004364 calculation method Methods 0.000 claims description 3
- 238000004590 computer program Methods 0.000 claims description 3
- 238000004891 communication Methods 0.000 abstract description 5
- 238000010586 diagram Methods 0.000 description 20
- 230000008569 process Effects 0.000 description 17
- 238000012545 processing Methods 0.000 description 13
- 241001026509 Kata Species 0.000 description 12
- 238000005516 engineering process Methods 0.000 description 9
- 238000002955 isolation Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000013468 resource allocation Methods 0.000 description 3
- 239000002699 waste material Substances 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 238000011176 pooling Methods 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5022—Mechanisms to release resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
The disclosure provides a container deployment method, a container deployment device, a resource scheduling method, a resource scheduling device, a storage medium and an electronic device, and relates to the technical field of wireless communication. The container deployment method comprises the following steps: acquiring resource information required by each container to be deployed and available resource information of each working node, grouping the containers to be deployed according to the special resource information category required by each container to be deployed to obtain a plurality of container sets and acquiring the resource information required by each container set; grouping the working nodes based on the types of the available special resource information of the working nodes to obtain a plurality of working node sets and obtain the available resource information of the working node sets; determining a target working node set respectively matched with each container set from a plurality of working node sets; and deploying each container to be deployed in the matched container set on each working node in the target working node set. The method and the device can improve the container deployment efficiency and the cluster resource utilization rate.
Description
Technical Field
The present disclosure relates to the field of wireless communication technologies, and in particular, to a container deployment method, a container deployment apparatus, a resource scheduling method, a resource scheduling apparatus, a storage medium, and an electronic device.
Background
With the rapid development of wireless communication technology, base stations are also gradually developed to clouding and virtualization technologies, and a container technology is a lightweight virtualization technology based on a kernel. The Docker application container engine can provide virtual machine isolation at a container level, each container is started as a lightweight virtual machine and has a unique kernel, and therefore resource isolation, configuration and data security among applications can be achieved. When the application program is run by using the container technology, a corresponding container needs to be deployed on a working node of the cluster, and the container can use the resources of the working node to realize the running of the application program. And different working nodes operate different containers, and the resource utilization rate of the containers is different.
At present, when a container is deployed on a working node of a cluster, resource information needed by the container to be deployed and resource information available for the working node are generally needed to be compared one by one. When the available resource information of the working node is larger than the resource information required by the container to be deployed, the container can be deployed on the working node.
However, in the above prior art method, on one hand, comparing the resource information needed by the container to be deployed and the resource information available for the working node one by one takes a long time, which results in low container deployment efficiency. On the other hand, the difference between the resource information required by the container to be deployed and the available resource information of the working node is large, and when the resource information of the working node is occupied by a certain container for a long time, other containers are difficult to be deployed on the working node due to insufficient resources, so that the resource utilization rate is low.
It is to be noted that the information disclosed in the above background section is only for enhancement of understanding of the background of the present disclosure, and thus may include information that does not constitute prior art known to those of ordinary skill in the art.
Disclosure of Invention
The present disclosure is directed to a container deployment method, a container deployment apparatus, a resource scheduling method, a resource scheduling apparatus, a storage medium, and an electronic device, so as to overcome, at least to some extent, the problems of low container deployment efficiency and low resource utilization rate due to limitations and defects of related technologies.
According to a first aspect of the present disclosure, there is provided a container deployment method comprising: acquiring resource information required by each container to be deployed and available resource information of each working node of the cluster, wherein the resource information comprises general resource information and special resource information; grouping containers to be deployed according to the type of special resource information required by the containers to be deployed to obtain a plurality of container sets, and acquiring resource information required by the container sets; grouping the working nodes based on the types of the special resource information available for the working nodes to obtain a plurality of working node sets, and acquiring the resource information available for the working node sets; determining target working node sets respectively matched with the container sets from the plurality of working node sets according to the resource information required by the container sets and the available resource information of the working node sets; and deploying each container to be deployed in the matched container set on each working node in the target working node set.
Optionally, determining, according to the resource information required by each container set and the resource information available to each working node set, a target working node set respectively matched with each container set from the plurality of working node sets includes: calculating the weight value of each container set according to the total resource information required by each container set; and determining target working node sets respectively matched with the container sets from the plurality of working node sets based on the weight values of the container sets.
Optionally, determining, based on the weight value of each container set, a target working node set respectively matched with each container set from the plurality of working node sets includes: calculating the weight value of each working node set according to the available total resource information of each working node set; and according to the sequence of the weight values of the container sets from large to small, determining the working node set with the largest weight value as a matched target working node set from the plurality of working node sets aiming at each container set.
Optionally, deploying each container to be deployed in the matched container set on each working node in the target working node set includes: configuring the operating environment of the kata container in the cluster; and deploying each container to be deployed in the container set on a working node in the target working node set based on the running environment.
Optionally, before the application program is run in the container to be deployed and the resource information required by each container to be deployed and the resource information available to each working node of the cluster are acquired, the container deployment method further includes: acquiring application data generated by a user terminal continuously sending an application program, and generating a container deployment instruction according to the application data; and acquiring resource information required by each container to be deployed based on the container deployment instruction.
Optionally, before acquiring application data generated by an application program continuously sent by a user terminal, the container deployment method further includes: acquiring user state data of a user terminal; allocating corresponding radio resources to the user terminal based on the user state data; and acquiring application data of the application program transmitted by the user terminal according to the wireless resource.
Optionally, the container deployment method further includes: and if the user terminal stops sending the application data generated by the application program, releasing the resource information of the container to be deployed occupied by the application program and the wireless resources allocated to the user terminal.
According to a second aspect of the present disclosure, there is provided a container deployment apparatus comprising: the information acquisition module is used for acquiring resource information required by each container to be deployed and available resource information of each working node of the cluster, wherein the resource information comprises general resource information and special resource information; the first grouping module is used for grouping the containers to be deployed according to the types of the special resource information required by the containers to be deployed to obtain a plurality of container sets and acquiring the resource information required by the container sets; the second grouping module is used for grouping the working nodes based on the types of the special resource information available for the working nodes to obtain a plurality of working node sets and acquiring the resource information available for the working node sets; the determining module is used for determining target working node sets respectively matched with the container sets from the plurality of working node sets according to the resource information required by the container sets and the available resource information of the working node sets; and the container deployment module is used for deploying each container to be deployed in the matched container set on each working node in the target working node set.
Optionally, the determining module is configured to calculate a weight value of each container set according to total resource information required by each container set; and determining target working node sets respectively matched with the container sets from the plurality of working node sets based on the weight values of the container sets.
Optionally, the determining module is configured to calculate a weight value of each working node set according to available total resource information of each working node set; and according to the sequence of the weight values of the container sets from large to small, determining the working node set with the largest weight value as a matched target working node set from the plurality of working node sets aiming at each container set.
Optionally, the container deployment module is configured to configure a runtime environment of the kata container in the cluster; and based on the operating environment, deploying containers to be deployed in the container set on the working nodes in the target working node set.
Optionally, the information obtaining module is configured to obtain application data generated by continuously sending the application program by the user terminal, and generate a container deployment instruction according to the application data; the information acquisition module is further used for acquiring resource information required by each container to be deployed based on the container deployment instruction.
Optionally, the information obtaining module is configured to obtain user status data of the user terminal; a resource allocation module for allocating corresponding radio resources to the user terminal based on the user status data; and the information acquisition module is used for acquiring the application data of the application program sent by the user terminal according to the wireless resources.
Optionally, the resource releasing module is configured to release the resource information of the container to be deployed occupied by the application program and the radio resource allocated to the user terminal if the user terminal stops sending the application data generated by the application program.
According to a third aspect of the present disclosure, there is provided a resource scheduling method, including: obtaining each container to be deployed in a container set deployed on a working node in a target working node set by using the container deployment method; acquiring resource information occupied by a container set and all resource information of all working nodes of a cluster, wherein the resource information comprises general resource information and special resource information; calculating the occupancy rate of the resource information of the container set on the resource information of the working nodes according to the resource information occupied by the container set and the resource information of all the working nodes of the cluster, wherein the occupancy rate is the ratio of the occupied resource information of the container set to the resource information of all the working nodes; and scheduling the container set deployed on each working node of the cluster based on the occupancy rate.
Optionally, the container set deployed on each working node of the scheduling cluster based on the occupancy rate includes: respectively calculating the special resource information occupancy rate and the general resource information occupancy rate of each working node; and scheduling container sets deployed on all the working nodes of the cluster according to the special resource information occupancy rate and the general resource information occupancy rate.
Optionally, the dispatching a container set deployed on each working node of a cluster according to the special resource information occupancy rate and the general resource information occupancy rate includes: if the special resource information occupancy rate of each working node is greater than a first threshold value, the number of container sets deployed on each working node of the dispatching cluster is determined; and if the universal resource information occupancy rate of each working node is greater than a second threshold value, and the container set comprises a target container set, wherein the target container set is the container set which occupies the universal resource information of the working node for more than the preset time, the target container set is dispatched to the working node with the minimum universal resource information occupancy rate.
According to a fourth aspect of the present disclosure, there is provided a resource scheduling apparatus, including: the information acquisition module is used for acquiring resource information occupied by the container set and all resource information of all working nodes of the cluster, wherein the resource information comprises general resource information and special resource information; the data calculation module is used for calculating the occupancy rate of the resource information of the container set on the resource information of the working nodes according to the resource information occupied by the container set and the resource information of all the working nodes of the cluster, wherein the occupancy rate is the ratio of the occupied resource information of the container set to the resource information of all the working nodes; and the resource scheduling module is used for scheduling the container set deployed on each working node of the cluster based on the occupancy rate.
Optionally, the resource scheduling module is configured to calculate a special resource information occupancy rate and a general resource information occupancy rate of each working node respectively; and scheduling container sets deployed on all the working nodes of the cluster according to the special resource information occupancy rate and the general resource information occupancy rate.
Optionally, the resource scheduling module is configured to, when the occupancy rate of the special resource information of each working node is greater than a first threshold, schedule the number of container sets deployed on each working node of the cluster; and if the universal resource information occupancy rate of each working node is greater than a second threshold value, and the container set comprises a target container set, wherein the target container set is the container set which occupies the universal resource information of the working node for more than the preset time, the target container set is dispatched to the working node with the minimum universal resource information occupancy rate.
According to a fifth aspect of the present disclosure, there is provided a storage medium having stored thereon a computer program which, when executed by a processor, implements the container deployment method of any of the above or implements the resource scheduling method of any of the above.
According to a sixth aspect of the present disclosure, there is provided an electronic device comprising: a processor; and a memory for storing executable instructions for the processor; wherein the processor is configured to perform any of the container deployment methods or implement any of the resource scheduling methods described above via execution of the executable instructions.
In the technical solutions provided by some embodiments of the present disclosure, resource information required by each container to be deployed and resource information available to each working node of a cluster are obtained, where the resource information includes general resource information and special resource information; grouping the containers to be deployed according to the special resource information required by the containers to be deployed to obtain a plurality of container sets, and acquiring the resource information required by the container sets; grouping the working nodes based on the available special resource information of the working nodes to obtain a plurality of working node sets, and acquiring the available resource information of the working node sets; determining target working node sets respectively matched with the container sets from the plurality of working node sets according to the resource information required by the container sets and the available resource information of the working node sets; and deploying each container to be deployed in the matched container set on each working node in the target working node set. According to the method, containers to be deployed and working nodes are grouped respectively according to special resource information required by the containers to be deployed and special resource information available for the working nodes to obtain a plurality of container sets and working node sets. And then matching the working node set with the most suitable available resources in the plurality of working node sets according to the resource information required by the container set, so that the working node sets with the available resources are distributed correspondingly according to the resources required by the container set on each working node in the working node sets in batch. Therefore, on one hand, the problem that resources required by a single container are compared with available resources of each working node one by one in the prior art is avoided, and the method greatly improves the container deployment efficiency. On the other hand, the method avoids the waste of the available resources of each working node caused by the mismatching of the resources required by the container and the available resources of each working node in the prior art, and improves the resource utilization rate.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the disclosure.
Drawings
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present disclosure and together with the description, serve to explain the principles of the disclosure. It is to be understood that the drawings in the following description are merely exemplary of the disclosure, and that other drawings may be derived from those drawings by one of ordinary skill in the art without the exercise of inventive faculty. In the drawings:
fig. 1 schematically illustrates an architecture diagram of a clouded base station according to an exemplary embodiment of the present disclosure;
FIG. 2 schematically illustrates a system architecture diagram of a container scheduling method according to an exemplary embodiment of the present disclosure;
FIG. 3 schematically illustrates a flow chart of a container deployment method according to an exemplary embodiment of the present disclosure;
FIG. 4 illustrates a kata container architecture diagram provided for exemplary embodiments of the present disclosure, according to an exemplary embodiment of the present disclosure;
FIG. 5 schematically illustrates a process diagram for grouping containers to be deployed, according to an exemplary embodiment of the present disclosure;
FIG. 6 schematically illustrates a process diagram of a grouping of operational nodes according to an exemplary embodiment of the present disclosure;
FIG. 7 schematically illustrates a process diagram for determining a target set of worker nodes, according to an exemplary embodiment of the present disclosure;
FIG. 8 schematically illustrates a flow chart of a resource scheduling method according to an exemplary embodiment of the present disclosure;
FIG. 9 schematically illustrates a flowchart of an overall resource scheduling method according to an exemplary embodiment of the present disclosure;
FIG. 10 schematically illustrates a block diagram of a container deployment apparatus, according to an exemplary embodiment of the present disclosure;
FIG. 11 schematically illustrates a block diagram of another container deployment apparatus, according to an exemplary embodiment of the present disclosure;
fig. 12 schematically shows a block diagram of a resource scheduling apparatus according to an exemplary embodiment of the present disclosure; and
fig. 13 schematically illustrates a block diagram of an electronic device according to an exemplary embodiment of the present disclosure.
Detailed Description
Example embodiments will now be described more fully with reference to the accompanying drawings. Example embodiments may, however, be embodied in many different forms and should not be construed as limited to the examples set forth herein; rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the concept of example embodiments to those skilled in the art. The described features, structures, or characteristics may be combined in any suitable manner in one or more embodiments. In the following description, numerous specific details are provided to give a thorough understanding of embodiments of the disclosure. One skilled in the relevant art will recognize, however, that the subject matter of the present disclosure can be practiced without one or more of the specific details, or with other methods, components, devices, steps, and the like. In other instances, well-known technical solutions have not been shown or described in detail to avoid obscuring aspects of the present disclosure.
Furthermore, the drawings are merely schematic illustrations of the present disclosure and are not necessarily drawn to scale. The same reference numerals in the drawings denote the same or similar parts, and thus their repetitive description will be omitted. Some of the block diagrams shown in the figures are functional entities and do not necessarily correspond to physically or logically separate entities. These functional entities may be implemented in the form of software, or in one or more hardware modules or integrated circuits, or in different networks and/or processor devices and/or microcontroller devices.
The flow charts shown in the drawings are merely illustrative and do not necessarily include all of the steps. For example, some steps may be decomposed, and some steps may be combined or partially combined, so that the actual execution sequence may be changed according to the actual situation.
The container deployment method provided by the exemplary embodiment of the present disclosure may be applied to an application scenario in which a container is deployed on each node of a cluster, and in particular, to an application scenario in which a containerization technology is used in a cloud base station to receive application data sent by a user terminal, so as to deploy the container in the cluster to implement application program operation. For example: when the user terminal operates a certain application program, the cloud base station can acquire application data sent by the user terminal in real time through the wireless network. The container can be deployed in the cluster working node of the cloud base station according to the application data, so that the application program can run in the container.
Fig. 1 is a schematic diagram schematically illustrating a 3-layer architecture of a 5G clouded base station according to an exemplary embodiment of the present disclosure, which includes a three-level architecture of a Baseband processing Unit (BBU) or a combination of a Centralized Unit (CU) and a Distributed Unit (DU), a switch, and a Radio frequency processing Unit (RRU). The BBU includes a cluster composed of work nodes, each work node has resource information such as a Central Processing Unit (CPU), a memory, a hard disk, and others, and the container can be disposed on each work node to run an application program using the resource information. The cloud base station can realize pooling sharing of wireless network resources, can support common platform deployment with edge application, meets flexible requirements of various user services of the wireless network, meets elastic expansion requirements of various services on wireless bottom layer basic resources, and realizes pooling gain. Meanwhile, the cloud base station can well realize software and hardware decoupling, so that various service scenes do not depend on bottom hardware drive, and containers can be quickly deployed when a user requests.
For the cloud network resource cooperative scheduling of the cloud base station, a traditional virtual machine occupies a large amount of software and hardware resources, and at present, a portable container technology for packaging application programs in a lightweight manner is often used, so that resource isolation and configuration of the application programs can be realized. Kata containers provide inter-container isolation by using hardware virtualization. In the case of the Docker engine, each container is started as a lightweight virtual machine with its own unique kernel. Since each container is now running with its own virtual machine, they are not able to access the host kernel and can gain all the security advantages of the virtual machine.
At present, in a cloud base station, when a container is deployed on each working node of a cluster, resource information needed by the container to be deployed and resource information available to the working node are generally needed to be compared one by one. When the available resource information of the working node is larger than the resource information required by the container to be deployed, the container can be deployed on the working node. However, in the currently used container deployment method, on one hand, the resource information required by the container to be deployed and the resource information available for the working nodes are compared one by one, which takes long time and causes low container deployment efficiency. On the other hand, the difference between the resource information needed by the container to be deployed and the available resource information of the working node is large, and when the resource information of the working node is occupied by a certain container for a long time, other containers are difficult to be deployed on the working node due to insufficient resources, so that the resource utilization rate is low.
In view of the above problems, the exemplary embodiments of the present disclosure provide a container deployment method, which first groups a plurality of containers to be deployed and a plurality of working nodes, respectively, to obtain a plurality of container sets and working node sets. And then matching the available resource information of each working node set according to the resource information required by each container set. On the one hand, the process reduces the time for comparing the resource information needed by the container to be deployed and the available resource information of the working nodes one by one, and improves the efficiency of container deployment. On the other hand, the process matches the working nodes with the corresponding available resource information according to the resource information required by the container set, so that the problem that the resource utilization rate is low because the difference between the resource information required by the container to be deployed and the available resource information of the working nodes is large and other containers are difficult to deploy to the working nodes without sufficient resources is solved, and the resource utilization rate is improved well.
Fig. 2 is a system architecture diagram of a container deployment method provided in the embodiment of the present disclosure, as shown in fig. 2, the system includes a user terminal 21, a base station/BBU 23, a work node 25, and a cluster database 27.
Wherein, the user terminal 21 continuously sends the application data generated by the application program to the base station/BBU 23, and after the base station/BBU 23 receives the application data, the container starts to be deployed on the working node 25, so that the application program runs in the container. First, the base station/BBU 23 obtains resource information required for each container to be deployed and resource information available to the worker node 25 in the cluster database 27. Then, according to the type of the special resource information needed by the containers to be deployed, grouping the containers to be deployed to obtain a plurality of container sets, and obtaining the resource information needed by the container sets; based on the type of the available special resource information of each working node 25, grouping the working nodes 25 in the cluster to obtain a plurality of working node sets, and acquiring the available resource information of each working node set; and finally, searching a target working node set matched with available resource information in the working node set according to the resource information required by the container set, and deploying the container to be deployed on each working node 25 in the target working node set.
It should be understood that the number of user equipment 21, base station/BBU 23 and worker nodes 25, cluster database 27 in the system architecture shown in fig. 2 is merely exemplary, and that greater or lesser numbers are within the scope of the present disclosure. Also, in the above example operational scenario, the user terminal 25 may be, for example, a Personal computer, a server, a Personal Digital Assistant (PDA), a notebook, or any other computing device with networking functionality. The network communicating between the user equipment 21, the base station/BBU 23 and the worker node 25, the cluster database 27, may include various types of wired and wireless networks, such as, but not limited to: the internet, Local Area Networks, Wireless Fidelity (WIFI), Wireless Local Area Networks (WLAN), cellular communication Networks (General Packet Radio Service (GPRS)), Code Division Multiple Access (CDMA), 2G/3G/4G/5G cellular Networks, satellite communication Networks, and so on.
With the system architecture of the present disclosure in mind, fig. 3 schematically illustrates a flow chart of a container deployment method of an exemplary embodiment of the present disclosure. The method may be performed by any apparatus performing the container deployment method, which may be implemented by software and/or hardware. In this embodiment, the apparatus may be integrated in a base station as shown in fig. 2. Referring to fig. 3, a container deployment method may include the steps of:
and S30, acquiring resource information required by each container to be deployed and available resource information of each working node of the cluster, wherein the resource information comprises general resource information and special resource information.
The general resource information is specifically a CPU, a memory, and a hard disk. The special resource information at least includes one resource except for the CPU, the memory, and the hard disk, for example: the system comprises hardware resources such as a camera, audio equipment, a sensor, a coding and decoding chip, an encryption chip and the like. The resource information required by each container to be deployed is the resource information required when the container is operated, the resource information of each working node comprises occupied resource information and available resource information, and the available resource information is idle and unoccupied resource information.
In the exemplary embodiment of the present disclosure, before deploying containers on the working nodes, a kata container operating environment needs to be arranged in the cluster in the BBU side of the base station to ensure that the containers deployed on the respective working nodes are in isolation from each other.
FIG. 4 is a schematic diagram of a kata container architecture provided in accordance with an exemplary embodiment of the present disclosure. As shown in FIG. 4, Kata containers provide inter-container isolation by using hardware virtualization, i.e., each container is started as a lightweight virtual machine, has its own unique kernel, and the hardware is isolated from each other. By arranging the kata container operation environment on the BBU side of the cloud base station, each container or container set operates on an independent virtual machine, the containers cannot access each other, and all corresponding authorities are not acquired from a host kernel, so that the data security among application programs is guaranteed.
In the exemplary embodiment of the present disclosure, after the kata container operating environment is arranged on the BBU side of the base station, each working node of the base station cluster may obtain user state data of the user terminal; allocating corresponding radio resources to the user terminal based on the user state data; and acquiring application data of the application program transmitted by the user terminal according to the wireless resources.
The user state data of the user terminal may also be referred to as a user service characteristic parameter. The user state data includes buffer state data and channel state data of the user terminal. For example, the time when the ue is connected to the working node or container of the base station cluster, the duration of the application data transmission from the ue to the base station, the number of times the ue applies for radio resources from the base station in a unit time, the number of times the application data is retransmitted in a unit time, the average rate and the peak rate in a unit time, the data transmission amount in a unit time, and the Quality of Service (QoS) requirement of the ue for radio resources of the access network device. Radio resources are a general term for network resources, such as: the radio resource includes frequency, time, space, power, code word, bandwidth and other information.
Specifically, the user terminal may upload user status data to each working node of the base station cluster through a Physical Uplink Control Channel (PUCCH) to apply for a radio resource from the base station, and the base station may send a result of radio resource allocation to the user terminal through a Physical Downlink Control Channel (PDCCH).
Specifically, the base station may allocate radio resources to the ue through the scheduler. First, the base station may receive user status data transmitted by the user terminal through the PUCCH. Then, at the moment of a certain scheduling period, a scheduler of the base station judges whether a task cache queue is empty, and when the task cache queue is empty, no available wireless resource or no enough available wireless resource can be allocated currently, and the next scheduling period is continuously waited; and when the task cache queue is not empty, the scheduler of the base station allocates the corresponding wireless resources to different network slices according to the user state data sent by the user terminal. Finally, the base station sends the result of the radio resource allocation to the user terminal through the PDCCH.
The user state data sent by the user terminal applies for corresponding wireless resources to the base station, and can be distributed according to the required wireless resources, so that the wireless resource waste is avoided, and meanwhile, the stability of wireless resource distribution is ensured.
In an exemplary embodiment of the present disclosure, after the base station allocates the radio resource to the user terminal, the base station may obtain, through the radio resource, application data generated by the user terminal continuously sending the application program, and generate a container deployment instruction according to the application data; and acquiring resource information required by each container to be deployed based on the container deployment instruction.
The application data is data generated in real time when a user runs an application program; the container deployment instruction is a request instruction for deploying the container on the working node, and the container deployment instruction can be used for calculating the container to be deployed or resource information occupied by the application program in the container to be deployed during operation.
Specifically, the base station may obtain, through a Physical Uplink Share Channel (PUSCH), application data generated by the application program that is continuously transmitted by the user terminal. And then generating a container deployment instruction and a request instruction of the cloud application according to the application data.
The method comprises the steps of generating a container deployment instruction by acquiring application data generated by continuously sending an application program by a user terminal, and acquiring resource information required by a container to be deployed according to the container deployment instruction. Therefore, corresponding working nodes can be rapidly allocated according to the resource information required by the container to be deployed, and the container deployment efficiency is further improved.
And S32, grouping the containers to be deployed according to the type of the special resource information required by the containers to be deployed to obtain a plurality of container sets, and acquiring the resource information required by the container sets.
Specifically, according to the resource information calculated in the user virtualization container deployment instruction, containers to be deployed with the same or similar types of special resource information are grouped to obtain a container set of different special resource information. After grouping is completed, the resource information required by the container set can be obtained according to the resource information required by each container to be deployed in the container set.
Next, a case of grouping according to the category of the special resource information required for each container to be deployed will be described in detail with reference to fig. 5.
As shown in fig. 5, fig. 5 is a schematic process diagram of grouping containers to be deployed according to an exemplary embodiment of the present disclosure.
When the category of the special resource has 2 cameras and 1 audio device, and the application data acquired by the base station at this time are video service 1, audio service, and video service 2, the containers a1 and a3 to be deployed of the video service 1 and the video service 2, which have the same category as the video service, are formed into a container set a, and the container a2 to be deployed of the audio service is formed into a container set B.
In the above example, if the resource information required by the container to be deployed of the video service 1 is 1.5G, the resource information required by the container to be deployed of the video service 2 is 2G. The resource information required for the container set a is 1.5G +2G — 3.5G.
The containers to be deployed are grouped according to the category of the special resource information, so that the containers to be deployed using the same special resource information can be matched with the working nodes of the corresponding available special resource information in batches, and the container deployment efficiency is improved.
And S34, grouping the working nodes based on the types of the available special resource information of the working nodes to obtain a plurality of working node sets, and acquiring the available resource information of the working node sets.
Specifically, the resource information available for each working node is directly obtained from the cluster database, and the working nodes are grouped according to the type of the special resource information available for each working node to obtain a plurality of working node sets. And then calculating the available resource information of each working node set according to the available resource information of each working node.
On the basis of the above-mentioned fig. 5, a detailed description will be given next to a case of grouping according to the categories of the special resource information available to each working node in conjunction with fig. 6.
As shown in fig. 6, fig. 6 is a schematic diagram of a process for grouping the working nodes according to an exemplary embodiment of the present disclosure. Assuming that the special resource category also has 2 cameras and 1 audio device, a working node a1 for processing video service 1, a working node B for processing audio service, and a working node a2 for processing video service 2 are obtained, and the working nodes a1 and a2 can be divided into a working node set a, and the working nodes B can be divided into a working node set B.
The working nodes are grouped according to the types of the special resource information, and the working nodes with the same special resource information can form a working node set. And then matching container sets with the same type as the special resource information in batches, so that the efficiency of deploying the containers on the working node set is improved.
In the exemplary embodiment of the present disclosure, the resource information available for each working node set is also determined, similar to the method of determining the resource information required for each container set. For example, the resource information available to the working node set a may be determined using the sum of the resource information available to the working node A1 and the resource information available to the working node A2.
And S36, determining target working node sets respectively matched with the container sets from the plurality of working node sets according to the resource information required by the container sets and the available resource information of the working node sets.
Specifically, after the containers to be deployed and the working nodes are grouped according to the types of the special resource information, the general resource information and the special resource information required by the container sets can be respectively matched with the target working node set.
In an exemplary embodiment of the present disclosure, when the corresponding working node set is respectively matched as a target working node set according to the resource information required by each container set, a weight value of the container set and a weight value of the working node set may be respectively calculated. And then sorting the container sets according to the weight values of the container sets, and simultaneously sorting the containers to be deployed in each container set according to the corresponding weight values. Similarly, the plurality of working node sets are sorted according to the weight value of each working node set, and each working node in each working node set is also sorted according to the corresponding weight value.
In an exemplary embodiment of the present disclosure, a weight value of each container set is calculated according to resource information required by each container set, and then a target work node set respectively matching each container set is determined from a plurality of work node sets based on the weight value of each container set. And calculating the weight value of each working node set according to the available resource information of each working node set by the same discipline.
Next, a process of calculating a weight value of each container set from resource information required for each container set will be specifically described using container sets as an example.
In a possible implementation manner, the weight value of each container to be deployed may be determined according to the service priority sent by the user terminal, and then the weight value of each container set may be determined according to the weight value of each container to be deployed.
Similarly, on the basis of the container set a, if the special resources are a visible light camera, an audio device, and an infrared camera, the visible light video service and the infrared video service belong to the same video service, and the containers to be deployed can form the container set a. If the priority of the infrared video service is higher than that of the visible light video service, determining that the weight value of a container to be deployed of the infrared video service is 1.2, and the weight value of the container to be deployed of the visible light video service is 1. The weight value of container set a is 1+1.2 ═ 2.2.
In another possible implementation manner, the weight value of each container to be deployed may be determined according to the resource requirement required by each container to be deployed, and then the weight value of each container set may be determined according to the weight value of each container to be deployed.
Similarly, the above container set a is taken as an example, and for example: the resources required by the container to be deployed of the visible light video service are 3G, and the resources required by the container to be deployed of the infrared video service are 2G. Then, the weight value of the container to be deployed of the infrared video service is set to be 1.1, and the weight value of the container to be deployed of the visible light video service is set to be 1.5. The weight value of container set a at this time is 2.6.
In another embodiment of the present disclosure, a weight value of each working node set is calculated according to available resource information of each working node set, and for each container set, a working node set with a largest weight value is determined from the plurality of working node sets as a matched target working node set according to a descending order of the weight value of each container set.
Specifically, suitable work node sets can be matched one by one as a target work node set according to the sequence of the weight values of the container sets from large to small.
And S38, deploying containers to be deployed in the matched container set on each working node in the target working node set.
Specifically, after the target working node set is determined, the target working node may be determined in the target working node set, so as to deploy the container set on the target working node. After the container is deployed, the application can be run in the container.
Next, a process of determining the target working node set will be described in detail with reference to fig. 7, based on fig. 5 and fig. 6, taking a case of calculating a weight value according to the occupied resource information as an example.
Fig. 7 is a schematic diagram of a process for determining a target working node set according to an exemplary embodiment of the present disclosure, as shown in fig. 7.
The container set a and the container set B are shown in fig. 5, where the container set a includes a to-be-deployed container a1 based on the video service 1 and a to-be-deployed container a3 based on the video service 2. The resource information required by the container a1 to be deployed and the container a3 to be deployed is 2G and 3G respectively; the container set B contains audio services, and the resource information required by the container a2 to be deployed is 1.2G.
Assume that the weight value of container a1 to be deployed in container set a is 2, the weight value of container a3 to be deployed is 3, and the weight value of container a2 to be deployed in container set B is 1. Then the container set a and the container set B are matched with their corresponding target working node sets at the same time. Specifically, if the weight value of the container a1 to be deployed in the container set a is smaller than the weight value of the container a3 to be deployed, the container a3 to be deployed is preferentially matched with the working node set a with the same special resource information category.
Meanwhile, the available resource information of the working node set a and the working node set b is obtained from the cluster database, and the resource information is sorted according to the weight values of the working node A1 and the working node A2, so that the working node with the largest weight value is determined as the target working node. Specifically, if the available resource information of the working node a1 is 4G and the available resource information of the working node a2 is 2.5G, the container A3 to be deployed is preferentially deployed in the working node a1, and then the container a1 to be deployed is deployed in the working node a 2.
It should be noted that the manner provided by the exemplary embodiment of the present disclosure for matching the target work node sets according to the order of the weighted values of the container sets from large to small is exemplary, and the present disclosure does not specifically limit the matching order, and various orders are within the scope of the present disclosure. For example, matching is performed in the order of the weight values of the container sets from small to large, or the like.
In another embodiment of the present disclosure, an application may be run upon deployment of a container or set of containers on a target worker node. And when the user terminal stops sending the application data generated by the application program, releasing the resource information of the container to be deployed occupied by the application program and the wireless resource allocated to the user terminal.
The resource information of the container to be deployed occupied by the application program is released, the resource information is recovered, and the resource information is added to be available resource information of the working node.
Specifically, after the user closes an application, the user terminal stops sending application data generated by the application, at this time, the scheduler of the base station terminates the container operation where the application is located and the occupation of the radio resources, and the scheduler of the cluster will recover resource information and radio resources occupied by the application that is no longer used.
When the user terminal does not run the application program any more, the resource information and the wireless resource occupied by the application program are recovered, so that other application programs can use the released resource information, and the resource utilization rate is further improved.
In the technical solutions provided by some embodiments of the present disclosure, resource information required by each container to be deployed and resource information available to each working node of a cluster are obtained, where the resource information includes general resource information and special resource information; grouping the containers to be deployed according to the special resource information required by the containers to be deployed to obtain a plurality of container sets, and acquiring the resource information required by the container sets; grouping the working nodes based on the available special resource information of each working node to obtain a plurality of working node sets, and acquiring the available resource information of each working node set; determining target working node sets respectively matched with the container sets from the plurality of working node sets according to the resource information required by the container sets and the available resource information of the working node sets; and deploying each container to be deployed in the matched container set on each working node in the target working node set. According to the method, containers to be deployed and working nodes are grouped respectively according to special resource information required by the containers to be deployed and special resource information available for the working nodes to obtain a plurality of container sets and working node sets. And then matching the working node set with the most suitable available resources in the plurality of working node sets according to the resource information required by the container set, so that the working node sets with the available resources are distributed correspondingly on the working nodes in the working node sets in batches according to the resources required by the container set. Therefore, on one hand, the problem that resources required by a single container are compared with available resources of each working node one by one in the prior art is avoided, and the method greatly improves the container deployment efficiency. On the other hand, the method avoids the waste of the available resources of each working node caused by the mismatching of the resources required by the container and the available resources of each working node in the prior art, and improves the resource utilization rate.
On the basis of the exemplary embodiment of steps S30 to S38 in fig. 3, the container to be deployed in the container set deployed on the working node in the target working node set is obtained by using the container deployment method shown in fig. 3. Fig. 8 schematically shows a flowchart of a resource scheduling method according to an exemplary embodiment of the present disclosure. Referring to fig. 8, the resource scheduling method may include the steps of:
s80, acquiring resource information occupied by the container set and all resource information of all working nodes of the cluster, wherein the resource information comprises general resource information and special resource information.
S82, calculating the occupancy rate of the resource information of the container set on the resource information of the working nodes according to the resource information occupied by the container set and the resource information of all the working nodes of the cluster, wherein the occupancy rate is the ratio of the occupied resource information of the container set to the resource information of all the working nodes.
After the deployment of the containers is completed by using the container deployment method, the occupation ratio is calculated by the ratio of the used resource information of the container set occupying all the resource information of the working nodes in each working node. Therefore, the available resource information of the current working node can be mastered in real time, and whether the resource can be scheduled or not is determined according to the available resource information of the current working node.
And S84, scheduling container sets deployed on all the working nodes of the cluster based on the occupancy rate.
In an exemplary embodiment of the present disclosure, the special resource information occupancy rate and the common resource information occupancy rate of each working node are respectively calculated, and the container set deployed on each working node of the cluster is scheduled according to the special resource information occupancy rate and the common resource information occupancy rate.
The special resource information occupancy rate of each working node is the ratio of the used special resources of the container to all the special resource information of the working node; the universal resource information occupancy rate of each working node is the ratio of the universal resources used by the container to all the universal resource information of the working node.
By respectively calculating the special resource information occupancy rate and the general resource information occupancy rate of each working node, the general resource occupancy condition and the special resource occupancy condition of each working node at present can be respectively known, and whether the resource information needs to be scheduled or not can be judged, so that the resource utilization rate is improved.
In another embodiment of the present disclosure, if the specific resource information occupancy rate of each working node is greater than a first threshold, the number of container sets deployed on each working node of the scheduling cluster; and if the universal resource information occupancy rate of each working node is greater than a second threshold value, and the container set comprises a target container set, wherein the target container set is the container set which occupies the universal resource information of the working node for more than the preset time, the target container set is dispatched to the working node with the minimum universal resource information occupancy rate.
Illustratively, when the occupancy rate of the general resource information or the special resource information of each working node of the cluster exceeds 90%, the scheduler of the base station performs horizontal scheduling and vertical scheduling on the containers and the container sets. Specifically, when the occupancy rate of the special resource information of the working node exceeds 90%, capacity reduction or capacity expansion is performed on the containers in the container set, so that horizontal resource scheduling is performed on the container set on each working node. After capacity expansion is carried out, namely resource information occupied by the application programs executed in the container set is larger than a threshold value, a new container set is generated to run the application programs, and resource pressure is shared for the original container set; and in the capacity reduction, when the container set is idle, the idle container set is deleted.
And when the occupancy rate of the universal resource information of the working nodes exceeds 90%, recovering the target container set occupying the universal resource information exceeding the preset time in the working nodes. And recalculating the resource requirement required by the target container set, and scheduling the target container set to the working node with the minimum universal resource information occupancy rate to realize the vertical scheduling of the container set on the working node.
In the technical solutions provided by some embodiments of the present disclosure, resource information occupied by a container set and resource information of all working nodes of a cluster are obtained, where the resource information includes general resource information and special resource information; calculating the occupancy rate of the resource information of the container set on the resource information of the working nodes according to the resource information occupied by the container set and the resource information of all the working nodes of the cluster, wherein the occupancy rate is the ratio of the occupied resource information of the container set to the resource information of all the working nodes; and scheduling the container set deployed on each working node of the cluster based on the occupancy rate. The resource scheduling method adjusts the container set on each working node in real time according to the occupancy rate, and schedules the container or the container set occupying the resource information of the working nodes for a long time to the working nodes with more resource information. The method can avoid the problem that in the prior art, when the resource information of the working node is occupied by a certain container for a long time, other containers are difficult to deploy to the working node due to insufficient resources, so that the resource utilization rate is low, and the method can improve the resource utilization rate.
The entire resource scheduling method of the exemplary embodiment of the present disclosure will be described in detail with reference to fig. 9.
First, in step S901, the operating environment of the kata container is configured in the cluster of base stations. The operating environment of the kata container can provide mutually independent kernel and virtual machine for the container to be deployed. In step S903, the base station acquires user status data sent by the ue. In step S905, it is determined whether the task buffer queue is empty, and if the task buffer queue is empty, step S907 is executed to wait for the next scheduling cycle. If not, step S909 is executed to allocate radio resources to the ue according to the user status data and allocate radio resources to the network slice. The wireless resources are distributed into the mutually independent network slices, so that a personalized scheme can be provided according to the requirements of users, and the maximum application of the wireless resources is further realized.
After acquiring the radio resources, the base station executes step S911, acquires application data of an application program sent by the user terminal, and generates a container deployment instruction according to the application data.
Next, after the container deployment instruction is obtained and the cluster database is called, in step S913, resource information required by each container to be deployed and resource information available to each work node of the cluster are obtained. And according to the resource information required by each container to be deployed and the resource information available for each working node of the cluster, executing step S915, grouping each container to be deployed to obtain a plurality of container sets, and grouping each working node to obtain a plurality of working node sets.
Then, in step S917, the weight values of the container sets and the work node sets are calculated, respectively. The weight value of each container set can be calculated according to the resource information required by each container set; and calculating the weight value of each working node set according to the available resource information of each working node set. In step S919, according to the order of the weight values of the container sets from large to small, the working node set with the largest weight value is determined from the plurality of working node sets as the matched target working node set. Then, in S921, container sets are matched on the target working node set according to the weights of the working nodes.
Finally, after the containers to be deployed in the container set are arranged on the target work node, in step S923, the application program may be run in the deployed containers. And in the running process of the application program, simultaneously executing the step S925 and the step S927. In step S925, the base station scheduler schedules the radio resources in the network slice to transmit the result of the application to the user terminal. In step S927, the container sets deployed on the work nodes of the cluster are scheduled according to the special resource information occupancy rate and the general resource information occupancy rate. In step S929, the user terminal stops sending the application data generated by the application program, and then releases the resource information of the container to be deployed occupied by the application program and the wireless resource allocated to the user terminal.
And respectively grouping the containers to be deployed and the working nodes according to the special resource information required by the containers to be deployed and the available special resource information of the working nodes to obtain a plurality of container sets and working node sets. And then matching the working node set with the most suitable available resources in the plurality of working node sets according to the resource information required by the container set, so that the working node sets with the available resources are distributed correspondingly on the working nodes in the working node sets in batches according to the resources required by the container set. Therefore, on one hand, the problem that resources required by a single container are compared with available resources of each working node one by one in the prior art is avoided, and the method greatly improves the container deployment efficiency. Meanwhile, on the other hand, the problem that the available resources of all the working nodes are wasted due to the fact that the resources needed by the container are not matched with the available resources of all the working nodes in the prior art is avoided, and the resource utilization rate is improved by the method. Meanwhile, the process adjusts the container set on each working node in real time according to the occupancy rate, and dispatches the container or the container set occupying the resource information of the working node for a long time to the working nodes with more resource information. The process avoids the problem that in the prior art, when the resource information of the working node is occupied by a certain container for a long time, other containers are difficult to deploy to the working node due to insufficient resources, so that the resource utilization rate is low, and the method can improve the resource utilization rate.
Further, a container deployment apparatus is also provided in this example embodiment.
Fig. 10 schematically illustrates a block diagram of a container deployment device of an exemplary embodiment of the present disclosure. Referring to fig. 10, a container deployment device 10 according to an exemplary embodiment of the present disclosure may include: the system comprises an information acquisition module 101, a first grouping module 103, a second grouping module 105, a determination module 107 and a container deployment module 109.
In an exemplary embodiment of the present disclosure, the information obtaining module 101 is configured to obtain resource information required by each container to be deployed and resource information available to each working node of a cluster, where the resource information includes general resource information and special resource information; the first grouping module 103 is configured to group each container to be deployed according to special resource information required by each container to be deployed to obtain a plurality of container sets, and obtain resource information required by each container set; the second grouping module 105 is configured to group the working nodes based on the available special resource information of each working node to obtain a plurality of working node sets, and obtain available resource information of each working node set; a determining module 107, configured to determine, according to resource information required by each container set and resource information available to each working node set, a target working node set respectively matched with each container set from the multiple working node sets; and the container deployment module 109 is configured to deploy each container to be deployed in the matched container set on each working node in the target working node set.
Further, another container deployment apparatus is provided in this example embodiment.
Fig. 11 schematically illustrates a block diagram of another container deployment apparatus of an exemplary embodiment of the present disclosure. Referring to fig. 11, a container deployment device 11 according to an exemplary embodiment of the present disclosure may include: the system comprises an information acquisition module 111, a determination module 113, a container deployment module 115, and a resource release module 117.
In an exemplary embodiment of the present disclosure, the determining module 113 may be configured to calculate a weight value of each container set according to resource information required by each container set; and determining target working node sets respectively matched with the container sets from the plurality of working node sets based on the weight values of the container sets.
According to an exemplary embodiment of the present disclosure, the determining module 113 may be configured to calculate a weight value of each working node set according to total resource information available for each working node set; according to the sequence of the weight values of all the container sets from large to small, aiming at each container set, determining the working node set with the largest weight value from the plurality of working node sets as a matched target working node set
According to an exemplary embodiment of the present disclosure, a container deployment module 115 for configuring the operating environment of kata containers in a cluster; and deploying each container to be deployed in the container set on a working node in the target working node set based on the running environment.
In an exemplary embodiment of the present disclosure, the information obtaining module 111 is configured to obtain application data generated by continuously sending an application program by a user terminal, and generate a container deployment instruction according to the application data; and acquiring resource information required by each container to be deployed based on the container deployment instruction.
In an exemplary embodiment of the present disclosure, the information obtaining module 111 is configured to obtain user status data of a user terminal; allocating corresponding radio resources to the user terminal based on the user state data; and acquiring application data of the application program transmitted by the user terminal according to the wireless resources.
In an exemplary embodiment of the disclosure, the resource releasing module 117 may be configured to release the resource information of the container to be deployed occupied by the application and the radio resource allocated to the user terminal when the user terminal stops sending the application data generated by the application.
Further, this example embodiment also provides a resource scheduling apparatus, an application, and a resource scheduling method, where the container deployment method is used to obtain each container to be deployed in a container set deployed on a work node in a target work node set.
Fig. 12 schematically shows a block diagram of a resource scheduling apparatus according to an exemplary embodiment of the present disclosure. Referring to fig. 12, the resource scheduling apparatus 12 according to an exemplary embodiment of the present disclosure may include an information obtaining module 121, a data calculating module 123, and a resource scheduling module 125, wherein: the information acquisition module 121 is configured to acquire resource information occupied by the container set and resource information of all working nodes of the cluster, where the resource information includes general resource information and special resource information; the data calculation module 123 is configured to calculate an occupancy rate of the resource information of the container set occupying the resource information of the working nodes according to the resource information occupied by the container set and the resource information of all the working nodes of the cluster, where the occupancy rate is a ratio of the resource information occupied by the container set to the resource information of all the working nodes; and a resource scheduling module 125, configured to schedule the container sets deployed on the work nodes of the cluster based on the occupancy rates.
In an exemplary embodiment of the present disclosure, the resource scheduling module 125 is configured to calculate a specific resource information occupancy rate and a general resource information occupancy rate of each working node respectively; and scheduling container sets deployed on all the working nodes of the cluster according to the special resource information occupancy rate and the general resource information occupancy rate.
In an exemplary embodiment of the present disclosure, the resource scheduling module 125 is configured to schedule the number of container sets deployed on each working node of the cluster when the occupancy rate of the special resource information of each working node is greater than a first threshold; and if the universal resource information occupancy rate of each working node is greater than a second threshold value, and the container set comprises a target container set, wherein the target container set is the container set which occupies the universal resource information of the working node for more than the preset time, the target container set is dispatched to the working node with the minimum universal resource information occupancy rate.
Since each functional module of the program operation performance analysis apparatus according to the embodiment of the present invention is the same as that in the embodiment of the present invention, it is not described herein again.
In an exemplary embodiment of the present disclosure, there is also provided a computer-readable storage medium having stored thereon a program product capable of implementing the above-described method of the present specification. In some possible embodiments, aspects of the invention may also be implemented in the form of a program product comprising program code means for causing a user terminal to carry out the steps according to various exemplary embodiments of the invention described in the above section "exemplary methods" of this description, when the program product is run on a terminal device.
The program product for implementing the above method according to the embodiment of the present invention may employ a portable compact disc read only memory (CD-ROM) and include program codes, and may be run on a terminal device, such as a personal computer. However, the program product of the present invention is not limited in this regard and, in the present document, a readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
The program product may employ any combination of one or more readable media. The readable medium may be a readable signal medium or a readable storage medium. A readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the foregoing. More specific examples (a non-exhaustive list) of the readable storage medium include: an electrical connection having one or more wires, a portable disk, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
A computer readable signal medium may include a propagated data signal with readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated data signal may take many forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A readable signal medium may also be any readable medium that is not a readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device.
Program code embodied on a readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.
Program code for carrying out operations for aspects of the present invention may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, C + + or the like and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code may execute entirely on the user's computing device, partly on the user's device, as a stand-alone software package, partly on the user's computing device and partly on a remote computing device, or entirely on the remote computing device or server. In situations involving remote computing devices, the remote computing devices may be connected to the user computing device through any kind of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or may be connected to external computing devices (e.g., through the internet using an internet service provider).
In an exemplary embodiment of the present disclosure, an electronic device capable of implementing the above method is also provided.
As will be appreciated by one skilled in the art, aspects of the present invention may be embodied as a system, method or program product. Thus, various aspects of the invention may be embodied in the form of: an entirely hardware embodiment, an entirely software embodiment (including firmware, microcode, etc.) or an embodiment combining hardware and software aspects that may all generally be referred to herein as a "circuit," module "or" system.
An electronic device 1300 according to this embodiment of the invention is described below with reference to fig. 13. The electronic device 1300 shown in fig. 13 is only an example and should not bring any limitations to the function and scope of use of the embodiments of the present invention.
As shown in fig. 13, the electronic device 1300 is in the form of a general purpose computing device. The components of the electronic device 1300 may include, but are not limited to: the at least one processing unit 1310, the at least one memory unit 1320, the bus 1330 connecting the various system components (including the memory unit 1320 and the processing unit 1310), the display unit 1340.
Where the memory unit stores program code, the program code may be executed by the processing unit 1310 to cause the processing unit 1310 to perform steps according to various exemplary embodiments of the present invention as described in the above section "exemplary methods" of this specification. For example, the processing unit 1310 may perform steps S30 to S38 as shown in fig. 3 or steps S80 to S84 as shown in fig. 8.
The memory unit 1320 may include readable media in the form of volatile memory units such as a random access memory unit (RAM)13201 and/or a cache memory unit 13202, and may further include a read-only memory unit (ROM) 13203.
The electronic device 1300 may also communicate with one or more external devices 1400 (e.g., keyboard, pointing device, bluetooth device, etc.), with one or more devices that enable a user to interact with the electronic device 900, and/or with any devices (e.g., router, modem, etc.) that enable the electronic device 1300 to communicate with one or more other computing devices. Such communication may occur via input/output (I/O) interfaces 1350. Also, the electronic device 1300 may communicate with one or more networks (e.g., a Local Area Network (LAN), a Wide Area Network (WAN), and/or a public network, such as the internet) through the network adapter 1360. As shown, the network adapter 1360 communicates with the other modules of the electronic device 1300 via the bus 1330. It should be appreciated that although not shown, other hardware and/or software modules may be used in conjunction with the electronic device 1300, including but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data backup storage systems, among others.
Through the above description of the embodiments, those skilled in the art will readily understand that the exemplary embodiments described herein may be implemented by software, or by software in combination with necessary hardware. Therefore, the technical solution according to the embodiments of the present disclosure may be embodied in the form of a software product, which may be stored in a non-volatile storage medium (which may be a CD-ROM, a usb disk, a removable hard disk, etc.) or on a network, and includes several instructions to enable a computing device (which may be a personal computer, a server, a terminal device, or a network device, etc.) to execute the method according to the embodiments of the present disclosure.
Furthermore, the above-described drawings are only schematic illustrations of processes involved in methods according to exemplary embodiments of the invention, and are not intended to be limiting. It will be readily appreciated that the processes illustrated in the above figures are not intended to indicate or limit the temporal order of the processes. In addition, it is also readily understood that these processes may be performed synchronously or asynchronously, e.g., in multiple modules.
It should be noted that although in the above detailed description several modules or units of the device for action execution are mentioned, such a division is not mandatory. Indeed, the features and functions of two or more modules or units described above may be embodied in one module or unit, according to embodiments of the present disclosure. Conversely, the features and functions of one module or unit described above may be further divided into embodiments by a plurality of modules or units.
Other embodiments of the disclosure will be apparent to those skilled in the art from consideration of the specification and practice of the disclosure disclosed herein. This disclosure is intended to cover any variations, uses, or adaptations of the disclosure following, in general, the principles of the disclosure and including such departures from the present disclosure as come within known or customary practice within the art to which the disclosure pertains. It is intended that the specification and examples be considered as exemplary only, with a true scope and spirit of the disclosure being indicated by the following claims.
It will be understood that the present disclosure is not limited to the precise arrangements described above and shown in the drawings and that various modifications and changes may be made without departing from the scope thereof. The scope of the present disclosure is to be limited only by the terms of the appended claims.
Claims (10)
1. A method of deploying a vessel, comprising:
acquiring resource information required by each container to be deployed and available resource information of each working node of a cluster, wherein the resource information comprises general resource information and special resource information;
grouping the containers to be deployed according to the category of the special resource information required by the containers to be deployed to obtain a plurality of container sets, and acquiring the resource information required by the container sets;
grouping the working nodes based on the types of the available special resource information of the working nodes to obtain a plurality of working node sets, and acquiring the available resource information of the working node sets;
determining target working node sets respectively matched with the container sets from the plurality of working node sets according to the resource information required by the container sets and the available resource information of the working node sets;
and deploying each container to be deployed in the container set which is matched with each working node in the target working node set.
2. The container deployment method according to claim 1, wherein determining, from the plurality of working node sets, a target working node set respectively matching each of the container sets according to resource information required by each of the container sets and resource information available to each of the working node sets, comprises:
calculating the weight value of each container set according to the resource information required by each container set;
and determining target working node sets which are respectively matched with the container sets from the plurality of working node sets based on the weight values of the container sets.
3. The container deployment method according to claim 2, wherein determining, from the plurality of working node sets, a target working node set respectively matching each of the container sets based on the weight value of each of the container sets comprises:
calculating the weight value of each working node set according to the available resource information of each working node set;
and according to the sequence of the weight values of the container sets from large to small, determining the working node set with the largest weight value from the plurality of working node sets as a matched target working node set aiming at each container set.
4. A method for scheduling resources, comprising:
obtaining each container to be deployed in the container set deployed on a working node in the target working node set by using the container deployment method according to any one of claims 1 to 3;
acquiring resource information occupied by the container set and resource information of all working nodes of the cluster, wherein the resource information comprises general resource information and special resource information;
calculating the occupancy rate of the resource information of the container set occupying the resource information of the working nodes according to the resource information occupied by the container set and the resource information of all the working nodes of the cluster, wherein the occupancy rate is the ratio of the resource information occupied by the container set to the resource information of all the working nodes;
and scheduling a container set deployed on each working node of the cluster based on the occupancy rate.
5. The method of claim 4, wherein scheduling the set of containers deployed on each of the work nodes of the cluster based on the occupancy comprises:
respectively calculating the special resource information occupancy rate and the general resource information occupancy rate of each working node;
and scheduling container sets deployed on all working nodes of the cluster according to the special resource information occupancy rate and the general resource information occupancy rate.
6. The resource scheduling method according to claim 5, wherein scheduling the container set deployed on each working node of the cluster according to the special resource information occupancy and the general resource information occupancy comprises:
if the special resource information occupancy rate of each working node is greater than a first threshold value, scheduling the number of deployed container sets on each working node of the cluster;
and if the universal resource information occupancy rate of each working node is greater than a second threshold value, and the container set comprises a target container set, wherein the target container set is the container set which occupies the universal resource information of the working node for more than preset time, the target container set is dispatched to the working node with the minimum universal resource information occupancy rate.
7. A container deployment device, comprising:
the information acquisition module is used for acquiring resource information required by each container to be deployed and resource information available for each working node of the cluster, wherein the resource information comprises general resource information and special resource information;
the first grouping module is used for grouping the containers to be deployed according to the special resource information required by the containers to be deployed to obtain a plurality of container sets and acquiring the resource information required by the container sets;
the second grouping module is used for grouping the working nodes based on the available special resource information of the working nodes to obtain a plurality of working node sets and acquiring the available resource information of the working node sets;
a determining module, configured to determine, according to resource information required by each of the container sets and resource information available for each of the working node sets, a target working node set that is respectively matched with each of the container sets from the plurality of working node sets;
and the container deployment module is used for deploying the containers to be deployed in the matched container set on the working nodes in the target working node set.
8. A resource scheduling apparatus, comprising:
obtaining each container to be deployed in the container set deployed on a working node in the target working node set by using the container deployment method according to any one of claims 1 to 3;
the information acquisition module is used for acquiring resource information occupied by the container set and resource information of all working nodes of the cluster, wherein the resource information comprises general resource information and special resource information;
the data calculation module is used for calculating the occupancy rate of the resource information of the container set occupying the resource information of the working nodes according to the resource information occupied by the container set and the resource information of all the working nodes of the cluster, wherein the occupancy rate is the ratio of the resource information occupied by the container set to the resource information of all the working nodes;
and the scheduling module is used for scheduling the container set deployed on each working node of the cluster based on the occupancy rate.
9. A storage medium having stored thereon a computer program, wherein the computer program, when executed by a processor, implements the container deployment method of any of claims 1 to 3 or the resource scheduling method of any of claims 4 to 6.
10. An electronic device, comprising:
a processor; and
a memory for storing executable instructions of the processor;
wherein the processor is configured to perform the container deployment method of any one of claims 1 to 3 or the resource scheduling method of any one of claims 4 to 6 via execution of the executable instructions.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210376957.0A CN114706596B (en) | 2022-04-11 | 2022-04-11 | Container deployment method, resource scheduling method, device, medium and electronic equipment |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210376957.0A CN114706596B (en) | 2022-04-11 | 2022-04-11 | Container deployment method, resource scheduling method, device, medium and electronic equipment |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114706596A true CN114706596A (en) | 2022-07-05 |
CN114706596B CN114706596B (en) | 2023-12-01 |
Family
ID=82173151
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210376957.0A Active CN114706596B (en) | 2022-04-11 | 2022-04-11 | Container deployment method, resource scheduling method, device, medium and electronic equipment |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114706596B (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114979282A (en) * | 2022-07-28 | 2022-08-30 | 北京金山云网络技术有限公司 | Task scheduling method and device, storage medium and electronic equipment |
CN116974744A (en) * | 2023-03-14 | 2023-10-31 | 福州创星通信息科技有限公司 | Interactive control system and interactive control method for shared space |
WO2024016596A1 (en) * | 2022-07-21 | 2024-01-25 | 天翼云科技有限公司 | Container cluster scheduling method and apparatus, device, and storage medium |
WO2024016803A1 (en) * | 2022-07-21 | 2024-01-25 | 中兴通讯股份有限公司 | Base station computing power calling method and apparatus based on federated learning, device and medium |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108228354A (en) * | 2017-12-29 | 2018-06-29 | 杭州朗和科技有限公司 | Dispatching method, system, computer equipment and medium |
CN108572867A (en) * | 2017-03-09 | 2018-09-25 | 株式会社日立制作所 | The method and apparatus disposed distributed container cluster for application and execute the application |
CN110851236A (en) * | 2019-11-11 | 2020-02-28 | 星环信息科技(上海)有限公司 | Real-time resource scheduling method and device, computer equipment and storage medium |
CN111263933A (en) * | 2017-09-30 | 2020-06-09 | 甲骨文国际公司 | Real-time debug instances in deployed container platforms |
CN112199194A (en) * | 2020-10-14 | 2021-01-08 | 广州虎牙科技有限公司 | Container cluster-based resource scheduling method, device, equipment and storage medium |
WO2021175152A1 (en) * | 2020-03-05 | 2021-09-10 | 北京金山云网络技术有限公司 | Container cluster system, container console, and server |
CN113986458A (en) * | 2021-10-21 | 2022-01-28 | 百果园技术(新加坡)有限公司 | Container set scheduling method, device, equipment and storage medium |
CN114035941A (en) * | 2021-10-18 | 2022-02-11 | 阿里巴巴(中国)有限公司 | Resource scheduling system, method and computing device |
CN114237894A (en) * | 2021-12-17 | 2022-03-25 | 中国电信股份有限公司 | Container scheduling method, device, equipment and readable storage medium |
-
2022
- 2022-04-11 CN CN202210376957.0A patent/CN114706596B/en active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108572867A (en) * | 2017-03-09 | 2018-09-25 | 株式会社日立制作所 | The method and apparatus disposed distributed container cluster for application and execute the application |
CN111263933A (en) * | 2017-09-30 | 2020-06-09 | 甲骨文国际公司 | Real-time debug instances in deployed container platforms |
CN108228354A (en) * | 2017-12-29 | 2018-06-29 | 杭州朗和科技有限公司 | Dispatching method, system, computer equipment and medium |
CN110851236A (en) * | 2019-11-11 | 2020-02-28 | 星环信息科技(上海)有限公司 | Real-time resource scheduling method and device, computer equipment and storage medium |
WO2021175152A1 (en) * | 2020-03-05 | 2021-09-10 | 北京金山云网络技术有限公司 | Container cluster system, container console, and server |
CN112199194A (en) * | 2020-10-14 | 2021-01-08 | 广州虎牙科技有限公司 | Container cluster-based resource scheduling method, device, equipment and storage medium |
CN114035941A (en) * | 2021-10-18 | 2022-02-11 | 阿里巴巴(中国)有限公司 | Resource scheduling system, method and computing device |
CN113986458A (en) * | 2021-10-21 | 2022-01-28 | 百果园技术(新加坡)有限公司 | Container set scheduling method, device, equipment and storage medium |
CN114237894A (en) * | 2021-12-17 | 2022-03-25 | 中国电信股份有限公司 | Container scheduling method, device, equipment and readable storage medium |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024016596A1 (en) * | 2022-07-21 | 2024-01-25 | 天翼云科技有限公司 | Container cluster scheduling method and apparatus, device, and storage medium |
WO2024016803A1 (en) * | 2022-07-21 | 2024-01-25 | 中兴通讯股份有限公司 | Base station computing power calling method and apparatus based on federated learning, device and medium |
CN114979282A (en) * | 2022-07-28 | 2022-08-30 | 北京金山云网络技术有限公司 | Task scheduling method and device, storage medium and electronic equipment |
CN116974744A (en) * | 2023-03-14 | 2023-10-31 | 福州创星通信息科技有限公司 | Interactive control system and interactive control method for shared space |
CN116974744B (en) * | 2023-03-14 | 2024-05-17 | 福州创星通信息科技有限公司 | Interactive control system and interactive control method for shared space |
Also Published As
Publication number | Publication date |
---|---|
CN114706596B (en) | 2023-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114706596B (en) | Container deployment method, resource scheduling method, device, medium and electronic equipment | |
Angelakis et al. | Allocation of heterogeneous resources of an IoT device to flexible services | |
CN104782211B (en) | For the activation of carrier wave polymerization and method and apparatus, the readable medium of release | |
CN110389816B (en) | Method, apparatus and computer readable medium for resource scheduling | |
CN112752302A (en) | Power service time delay optimization method and system based on edge calculation | |
CN112380020A (en) | Computing power resource allocation method, device, equipment and storage medium | |
KR20150024845A (en) | Offloading virtual machine flows to physical queues | |
US11347546B2 (en) | Task scheduling method and device, and computer storage medium | |
CN112148468B (en) | Resource scheduling method and device, electronic equipment and storage medium | |
CN111324424B (en) | Virtual machine deployment method and device, server and storage medium | |
CN105144109A (en) | Distributed data center technology | |
CN110267276B (en) | Network slice deployment method and device | |
CN112905342A (en) | Resource scheduling method, device, equipment and computer readable storage medium | |
CN113051245A (en) | Method, device and system for migrating data | |
CN104580194A (en) | Virtual resource management method and device oriented to video applications | |
CN113296874B (en) | Task scheduling method, computing device and storage medium | |
CN107741873B (en) | Service processing method and device | |
CN112261125B (en) | Centralized unit cloud deployment method, device and system | |
CN109491794A (en) | Method for managing resource, device and electronic equipment | |
CN107634978B (en) | Resource scheduling method and device | |
KR101695238B1 (en) | System and method for job scheduling using multi computing resource | |
CN118251953A (en) | System and method for multiplexing multiple wireless technologies in a resource constrained environment based on spectrum utilization | |
CN115220920A (en) | Resource scheduling method and device, storage medium and electronic equipment | |
CN105340220A (en) | Energy saving method and apparatus for virtual resource | |
CN112565320B (en) | Load balancing method and device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |