CN114706596B - 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 PDF

Info

Publication number
CN114706596B
CN114706596B CN202210376957.0A CN202210376957A CN114706596B CN 114706596 B CN114706596 B CN 114706596B CN 202210376957 A CN202210376957 A CN 202210376957A CN 114706596 B CN114706596 B CN 114706596B
Authority
CN
China
Prior art keywords
resource information
container
working node
deployed
sets
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.)
Active
Application number
CN202210376957.0A
Other languages
Chinese (zh)
Other versions
CN114706596A (en
Inventor
李翔宁
刘海涛
杨涛
刘洋
杨峰义
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Telecom Corp Ltd
Original Assignee
China Telecom Corp Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by China Telecom Corp Ltd filed Critical China Telecom Corp Ltd
Priority to CN202210376957.0A priority Critical patent/CN114706596B/en
Publication of CN114706596A publication Critical patent/CN114706596A/en
Application granted granted Critical
Publication of CN114706596B publication Critical patent/CN114706596B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation 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/5022Mechanisms to release resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

The disclosure provides a container deployment method, a container deployment device, a resource scheduling method, a resource scheduling device, a storage medium and electronic equipment, 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, and grouping each container 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 available special resource information types of the working nodes to obtain a plurality of working node sets and obtaining available resource information of the working node sets; determining target working node sets which are respectively matched with all container sets from a plurality of working node sets; deploying each container to be deployed in the matched container set on each working node in the target working node set. The present disclosure may improve container deployment efficiency and cluster resource utilization.

Description

Container deployment method, resource scheduling method, device, medium and electronic equipment
Technical Field
The disclosure relates to the technical field of wireless communication, in particular to a container deployment method, a container deployment device, a resource scheduling method, a resource scheduling device, a storage medium and electronic equipment.
Background
With the rapid development of wireless communication technology, the base station gradually develops to cloud and virtualization technology, and the container technology is a virtualization technology based on kernel lightweight. The Docker application container engine can provide virtual machine isolation at the container level, and each container is started as a lightweight virtual machine and has a self-unique kernel, so that the resource isolation, configuration and data security among applications can be realized. When the application program is operated by using the container technology, a corresponding container needs to be deployed on the working nodes of the cluster, and the container can use the resources of the working nodes to realize the operation of the application program. And different working nodes run different containers, and the resource utilization rate of the different working nodes is different.
Currently, when a container is deployed on a working node of a cluster, it is generally required to compare resource information required by the container to be deployed with resource information available to the working node one by one. When the available resource information of the working node is larger than the resource information needed by the container to be deployed, the container can be deployed on the working node.
However, in the method in the prior art, on one hand, the resource information required by the container to be deployed and the available resource information of the working node are compared one by one, so that the time consumption is long, and the efficiency of container deployment is low. On the other hand, the resource information needed by the container to be deployed has larger difference with the available resource information of the working node, and 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.
It should be noted that the information disclosed in the above background section is only for enhancing 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 aims to provide 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 due to limitations and drawbacks of the related art.
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 resource information available to each working node of the cluster, wherein the resource information comprises general resource information and special resource information; grouping the containers to be deployed according to the types of special resource information required by the containers 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 special resource information available to the working nodes to obtain a plurality of working node sets, and acquiring the resource information available to the working node sets; determining target working node sets which are respectively matched with all container sets from a plurality of working node sets according to the resource information required by all container sets and the available resource information of all working node sets; deploying each container to be deployed in the matched container set on each working node in the target working node set.
Optionally, determining, from the plurality of working node sets, a target working node set that is respectively matched with each container set according to the resource information required by each container set and the resource information available for each working node set includes: calculating the weight value of each container set according to the total resource information required by each container set; a target set of working nodes is determined from the plurality of sets of working nodes that respectively match each set of containers based on the weight value of each set of containers.
Optionally, determining, based on the weight value of each container set, a target working node set that matches each container set from the plurality of working node sets includes: calculating the weight value of each working node set according to the total resource information available for each working node set; and 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 the sequence of the weight values of the container sets from large to small.
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 running environment of the kata container in the cluster; based on the running environment, deploying each container to be deployed in the container set on the working node in the target working node set.
Optionally, an application program is run in the container to be deployed, and before 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 continuously sending an application program by a user terminal, 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 the application data generated by the application program continuously sent by the 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 sent by the user terminal according to the wireless resource.
Optionally, the container deployment method further comprises: 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 distributed 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 resource information available to 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 special resource information required by the containers to be deployed to obtain a plurality of container sets and obtaining 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 to the working nodes to obtain a plurality of working node sets and obtaining the resource information available to the working node sets; the determining module is used for determining target working node sets which are respectively matched with all the container sets from a plurality of working node sets according to the resource information required by all the container sets and the available resource information of all the working node sets; 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 used for calculating the weight value of each container set according to the total resource information required by each container set; a target set of working nodes is determined from the plurality of sets of working nodes that respectively match each set of containers based on the weight value of each set of containers.
Optionally, the determining module is configured to calculate a weight value of each working node set according to total available resource information of each working node set; and 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 the sequence of the weight values of the container sets from large to small.
Optionally, a container deployment module, configured to configure an operating environment of the kata container in the cluster; based on the running environment, deploying each container to be deployed in the container set on the working node in the target working node set.
Optionally, the information acquisition module is used for acquiring application data generated by the user terminal continuously sending the application program and generating a container deployment instruction according to the application data; the information acquisition module is also used for acquiring resource information required by each container to be deployed based on the container deployment instruction.
Optionally, the information acquisition module is used for acquiring user state data of the user terminal; the resource allocation module is used for allocating corresponding wireless resources to the user terminal based on the user state data; and the information acquisition module is used for acquiring application data of the application program sent by the user terminal according to the wireless resource.
Optionally, the resource releasing module is configured to release the resource information of the container to be deployed and the wireless 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, the resource scheduling method comprising: 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 resource information of all working nodes of a cluster, wherein the resource information comprises general resource information and special resource information; according to the resource information occupied by the container set and the resource information of all the working nodes of the cluster, calculating the occupancy rate of the resource information occupied by the container set to the resource information of the working nodes, 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; the set of containers deployed on each working node of the cluster is scheduled based on occupancy.
Optionally, the scheduling the container set deployed on each working node of the cluster based on the occupancy includes: respectively calculating the occupancy rate of special resource information and the occupancy rate of general resource information of each working node; and scheduling the container set deployed on each working node of the cluster according to the occupancy rate of the special resource information and the occupancy rate of the universal resource information.
Optionally, according to the occupancy rate of the special resource information and the occupancy rate of the universal resource information, the container set deployed on each working node of the cluster is scheduled, including: if the occupancy rate of the special resource information of each working node is larger than a first threshold value, the quantity of the container sets deployed on each working node of the scheduling cluster is calculated; if the occupancy rate of the universal resource information of each working node is greater than the second threshold value and the container set comprises a target container set, wherein the target container set is a container set occupying the working node for which the universal resource information is greater than the preset time, the target container set is scheduled to the working node with the minimum occupancy rate of the universal resource information.
According to a fourth aspect of the present disclosure, there is provided a resource scheduling apparatus comprising: 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 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 used for respectively calculating the special resource information occupancy rate and the universal resource information occupancy rate of each working node; and scheduling the container set deployed on each working node of the cluster according to the occupancy rate of the special resource information and the occupancy rate of the universal resource information.
Optionally, the resource scheduling module is configured to schedule the number of the deployed container sets 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; if the occupancy rate of the universal resource information of each working node is greater than the second threshold value and the container set comprises a target container set, wherein the target container set is a container set occupying the working node for which the universal resource information is greater than the preset time, the target container set is scheduled to the working node with the minimum occupancy rate of the universal resource information.
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 any one of the container deployment methods described above or implements any one of the resource scheduling methods described 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 of the processor; wherein the processor is configured to perform any one of the container deployment methods described above or to implement any one of the resource scheduling methods described above via execution of the executable instructions.
In the technical solutions provided in some embodiments of the present disclosure, resource information required by each container to be deployed and resource information available to each working node of the 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 special resource information available to the working nodes to obtain a plurality of working node sets, and acquiring the resource information available to the working node sets; determining target working node sets which are respectively matched with all container sets from a plurality of working node sets according to the resource information required by all container sets and the available resource information of all working node sets; deploying each container to be deployed in the matched container set on each working node in the target working node set. In the method, the containers to be deployed and the working nodes are respectively grouped according to special resource information required by the containers to be deployed and special resource information available by the working nodes to obtain a plurality of container sets and working node sets. And then matching the most proper working node set of the available resources in a plurality of working node sets according to the resource information required by the container set, so that the batch on each working node in the working node sets is realized, and the corresponding working node sets with the available resources are allocated according to the resources required by the container set. On one hand, the method avoids the situation that resources required by a single container in the prior art are respectively compared with available resources of all working nodes one by one, and greatly improves the efficiency of container deployment. 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 utilization rate of the resources.
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 disclosure and together with the description, serve to explain the principles of the disclosure. It will be apparent to those of ordinary skill in the art that the drawings in the following description are merely examples of the disclosure and that other drawings may be derived from them without undue effort. In the drawings:
fig. 1 schematically illustrates an architecture diagram of a cloudized base station according to an exemplary embodiment of the 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 an exemplary embodiment of the present disclosure, according to an exemplary embodiment of the present disclosure;
FIG. 5 schematically illustrates a process diagram of a container packet to be deployed according to an exemplary embodiment of the present disclosure;
FIG. 6 schematically illustrates a process diagram of a grouping of working nodes according to an exemplary embodiment of the present disclosure;
FIG. 7 schematically illustrates a process diagram of determining a set of target working nodes according to an example 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 flow chart 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 illustrates 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. However, the exemplary embodiments may be embodied in many 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 the 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 present disclosure. However, those skilled in the art will recognize that the aspects of the present disclosure may be practiced with one or more of the specific details, or with other methods, components, devices, steps, etc. 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 a repetitive description thereof 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 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 diagrams depicted in the figures are exemplary only and not necessarily all steps are included. For example, some steps may be decomposed, and some steps may be combined or partially combined, so that the order of actual execution may be changed according to actual situations.
The container deployment method provided by the embodiment of the disclosure can be applied to application scenes of deploying containers on all nodes of a cluster, in particular to application scenes of using a container technology to receive application data sent by a user terminal in a cloud base station so as to deploy containers in the cluster to realize application program running. 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 work node of the cloud base station according to the application data so as to realize the running of the application program in the container.
Fig. 1 is a schematic diagram schematically illustrating a 3-layer architecture of a 5G clouding base station according to an exemplary embodiment of the present disclosure, including 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 (Remote Radio Unit, RRU). The BBU comprises a cluster combined by working nodes, each working node is provided with a central processing unit (Central Processing Unit, CPU), a memory, a hard disk, other resource information and the like, and a container can be deployed on each working node to run an application program by 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, and 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 a multi-class service scene does not depend on bottom hardware driving, and a container can be rapidly deployed when a user requests.
For cloud network resource cooperative scheduling of cloud base stations, the traditional virtual machine occupies a large amount of software and hardware resources, and the conventional technology of a portable lightweight packaging application program container is commonly used at present, so that the resource isolation and configuration of the application program can be realized. Kata containers provide inter-container isolation through the use of 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 cannot access the host kernel and can gain all the security advantages of the virtual machine.
Currently, in a cloud base station, when containers are deployed on each working node of a cluster, it is generally required to compare resource information required by the containers to be deployed with resource information available to the working nodes one by one. When the available resource information of the working node is larger than the resource information needed 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 available resource information of the working node are compared one by one, so that the time consumption is long, and the efficiency of container deployment is low. On the other hand, the resource information needed by the container to be deployed has larger difference with the available resource information of the working node, and 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.
In view of the foregoing problems in exemplary embodiments of the present disclosure, a container deployment method is proposed, 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 a working node set. And then matching the available resource information of each working node set according to the resource information required by each container set. On one hand, the process reduces the time for comparing the resource information needed by the container to be deployed with the available resource information of the working node one by one, and improves the efficiency of container deployment. On the other hand, the process matches the working node with the corresponding available resource information according to the resource information required by the container set, so that the problems that the resource information required by the container to be deployed is large in difference with the available resource information of the working node, and other containers are difficult to deploy on the working node due to insufficient resources, so that the resource utilization rate is low are avoided, and the resource utilization rate is improved well.
Fig. 2 is a system architecture diagram of a container deployment method according to an embodiment of the present disclosure, and as shown in fig. 2, the system includes a user terminal 21, a base station/BBU 23, a working node 25, and a cluster database 27.
Wherein, the user terminal 21 continuously transmits application data generated by the application program to the base station/BBU 23, and after the base station/BBU 23 receives the application data, it starts to deploy a container on the working node 25, so that the application program runs in the container. First, the base station/BBU 23 acquires resource information required for each container to be deployed and works in the cluster database 27 with resource information available to the working node 25. Then, grouping the containers to be deployed according to the types of 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; based on the category 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 stations/BBUs 23 and working nodes 25, cluster databases 27 in the system architecture shown in fig. 2 is merely exemplary, and that a greater or lesser number is within the scope of the present disclosure. Also, in the example operational scenario described above, the user terminal 25 may be, for example, a personal computer, a server, a palm top (Personal Digital Assistant, PDA), a notebook, or any other computing device having networking functionality. The network of communications between the user equipment 21, base station/BBU 23 and the operating node 25, cluster database 27 may include various types of wired and wireless networks such as, but not limited to: internet, local area network, wireless fidelity (Wireless Fidelity, WIFI), wireless local area network (Wireless Local Area Networks, WLAN), cellular communication network (general packet radio service technology (General Packet Radio Service, GPRS), code division multiple access (Code Division Multiple Access, CDMA), 2G/3G/4G/5G cellular network), satellite communication network, and the like.
With an understanding of the system architecture of the present disclosure, fig. 3 schematically shows a flow chart of a container deployment method of an exemplary embodiment of the present disclosure. The method may be performed by any means for 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, the container deployment method may include the steps of:
S30, acquiring resource information required by each container to be deployed and resource information available to each working node of the cluster, wherein the resource information comprises general resource information and special resource information.
The general resource information specifically includes a CPU, a memory and a hard disk. The special resource information is at least one resource except for a CPU, a memory and a hard disk, for example: hardware resources such as cameras, audio equipment, sensors, encoding and decoding chips, encryption chips and the like. The resource information required by each container to be deployed is the resource information required by the container 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 unoccupied resource information.
In an exemplary embodiment of the present disclosure, prior to deploying containers on the working nodes, kata container running environments need to be arranged in clusters in the BBU side of the base station to ensure that the containers deployed on the working nodes are isolated from each other.
Fig. 4 is a schematic diagram of a kata container according to an exemplary embodiment of the present disclosure. As shown in FIG. 4, the Kata containers provide inter-container isolation by using hardware virtualization, i.e., each container is started as a lightweight virtual machine with its own unique kernel, and the hardware is isolated from each other. By arranging the kata container running environment on the BBU side of the cloud base station, each container or container set runs on an independent virtual machine, the containers cannot access each other, and all corresponding authorities are not acquired from the host machine kernel, so that the data security among application programs is ensured.
In an exemplary embodiment of the present disclosure, after kata container operation environments are disposed at the BBU side of the base station, each working node of the base station cluster may acquire 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 sent by the user terminal according to the wireless resource.
The user state data of the user terminal may also be referred to as user service characteristic parameters. The user state data includes buffer state data and channel state data of the user terminal. Such as the time the user terminal is connected to the working node or container of the base station cluster, the duration of the application data transmission from the user terminal to the base station, the number of applications of wireless resources from the user terminal to the base station per unit time, the number of retransmissions of the application data per unit time, the average rate and peak rate per unit time, the amount of data transmission per unit time, and the quality of service (Quality of Service, qoS) requirements of the user terminal for wireless resources to the access network device. Radio resources are a collective term for network resources, such as: the radio resources include information such as frequency, time, space, power, code words, bandwidth, etc.
For example, the ue and the base station may transmit data to each other through a wireless network connection, and specifically, the ue may upload user state data to each working node of the base station cluster through a physical uplink control channel (Physical Uplink Control Channel, PUCCH) to apply radio resources to the base station, and the base station may send a result of radio resource allocation to the ue through a physical downlink control channel (Physical Downlink Control Channel, PDCCH).
Specifically, the base station may allocate radio resources to the user terminal through the scheduler. First, the base station may receive user state data transmitted by the user terminal through the PUCCH. Then judging whether a task buffer queue is empty or not at a certain scheduling period moment of a scheduler of the base station, and when the task buffer queue is empty, allocating currently unavailable wireless resources or insufficient available wireless resources, and continuing to wait for the next scheduling period; and when the task buffer queue is not empty, the scheduler of the base station allocates corresponding wireless resources to different network slices according to the user state data sent by the user terminal. And finally, the base station sends the result of the wireless resource allocation to the user terminal through the PDCCH.
Corresponding wireless resources are applied to the base station through user state data sent by the user terminal, so that the wireless resources can be allocated according to the required wireless resources, and the stability of wireless resource allocation can be ensured while avoiding wireless resource waste.
In an exemplary embodiment of the present disclosure, after a base station allocates radio resources to a user terminal, the base station may obtain application data generated by the user terminal by continuously transmitting an application program through the radio resources, 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 resource information required by the operation of the container to be deployed or the application program in the container to be deployed can be calculated through the container deployment instruction.
Specifically, the base station may acquire application data generated by the ue continuously transmitting the application program through an uplink shared physical channel (Physical Uplink Share Channel, PUSCH). And then generating a container deployment instruction and a request instruction of the cloud application according to the application data.
And generating a container deployment instruction by acquiring application data generated by continuously sending an application program by the user terminal, so that resource information required by a container to be deployed can be acquired according to the container deployment instruction. Therefore, corresponding working nodes can be rapidly distributed according to the resource information required by the container to be deployed, and the container deployment efficiency is further improved.
S32, grouping the containers to be deployed according to the types of special resource information required by the containers to be deployed to obtain a plurality of container sets, and acquiring the resource information required by each container set.
Specifically, according to the resource information calculated in the user virtualized container deployment instruction, the containers to be deployed, which are the same or similar in the category of the special resource information, are grouped to obtain container sets of different special resource information. After the 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 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 a container packet to be deployed according to an exemplary embodiment of the present disclosure.
When the special resource has 2 cameras and 1 audio device, the application data respectively acquired by the base station 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 with the same category 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 container set a is 1.5g+2g=3.5G.
Each container to be deployed is grouped according to the category of the special resource information, the containers to be deployed using the same special resource information can be matched with each working node corresponding to the available special resource information in batches, and the efficiency of container deployment is improved.
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 obtaining the available resource information of the working node sets.
Specifically, available resource information of each working node is directly obtained from the cluster database, and grouping is carried out according to the category of available special resource information of each working node, so that a plurality of working node sets are obtained. 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 fig. 5, a case of grouping according to the types of special resource information available to each working node will be described in detail below with reference to fig. 6.
As shown in fig. 6, fig. 6 is a schematic diagram of a process for grouping working nodes according to an exemplary embodiment of the present disclosure. Assuming that the special resource class 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, the working nodes A1 and A2 may be divided into a working node set a, and the working nodes B may be grouped into a working node set B.
Each working node is grouped according to the category of the special resource information, and the working nodes of the same special resource information can form a working node set. And then matching the container sets with the same category as the special resource information in batches, so that the efficiency of deploying containers on the working node set is improved.
In an exemplary embodiment of the present disclosure, the resource information available for each set of working nodes is also determined in a manner similar to the resource information method required to determine each set of containers. The resource information available to the working node set a may be determined, for example, using the sum of the resource information available to the working node A1 and the resource information available to the working node A2.
S36, determining target working node sets which are respectively matched with all the container sets from a plurality of working node sets according to the resource information required by all the container sets and the available resource information of all 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 each container set 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 the target working node set according to the resource information required for each container set, the weight value of the container set and the weight value of the working node set may be respectively calculated. And then sequencing the container sets according to the weight values of the container sets, and sequencing the containers to be deployed in each container set according to the corresponding weight values. And similarly, sequencing the working node sets according to the weight values of the working node sets, and sequencing the working nodes in each working node set according to the corresponding weight values.
In one exemplary embodiment of the present disclosure, a weight value of each container set is calculated according to resource information required for each container set, and then a target working node set respectively matched with each container set is determined from a plurality of working node sets based on the weight value of each container set. The homonymy calculates the weight value of each working node set according to the available resource information of each working node set.
Next, a process of calculating the weight value of each container set from the resource information required for each container set will be specifically described by taking the container set as an example.
In one 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.
The description is also based on the container set a, and when the special resources are the visible light camera, the audio device and the infrared camera, the visible light video service and the infrared video service belong to the same video service, and the container to be deployed can form the container set a. If the infrared video service priority is higher than that of the visible light video service, determining that the weight value of the 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 the container set a at this time is 1+1.2=2.2.
In another possible implementation, the weight value of each container to be deployed may be determined according to the resource requirement of 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.
Also described by way of example of the container set a, 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. 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 video service is set to be 1.5. The weight value of the container set a at this time is 2.6.
In another embodiment of the present disclosure, weight values of the working node sets are calculated according to available resource information of the working node sets, and for each container set, a working node set with a maximum weight value is determined from a plurality of working node sets as a matched target working node set according to the order of the weight values of the container sets from large to small.
Specifically, the appropriate working node sets can be matched one by one according to the order from large to small of the weight values of the container sets to serve as target working node sets.
S38, deploying each container 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 can 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 may be run in the container.
Next, a process of determining the target set of working nodes will be described in detail with reference to fig. 7, taking a case where weight values are calculated according to the occupied resource information as an example, based on fig. 5 and 6.
As shown in fig. 7, 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. 5, the container set a and the container set B include a container a1 to be deployed based on the video service 1 and a container a3 to be deployed 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 service, and the resource information required by the container a2 to be deployed is 1.2G.
Assuming that the weight value of the container a1 to be deployed in the container set a is 2, the weight value of the container a3 to be deployed is 3, and the weight value of the container a2 to be deployed in the container set B is 1. Then the container set a and container set B are matched to their corresponding target set of working nodes 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 in the working node set a with the same special resource information category.
Meanwhile, available resource information of the working node set a and the working node set b is obtained from the cluster database, and the working nodes A1 and A2 are sequenced according to the weight values, so that the working node with the largest weight value is determined to be 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 A2.
It should be noted that, the manner of matching the target working node sets according to the order of the weight values of the container sets from large to small provided in the exemplary embodiment of the present disclosure is exemplary, the present disclosure does not specifically limit the matching order, and various orders are all within the protection scope of the present disclosure. For example, matching or otherwise occurs in order of the weight value of each container set from small to large.
In another embodiment of the present disclosure, the application may be run after the container or collection of containers is deployed on the target working 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 resources distributed to the user terminal.
The method comprises the steps of releasing resource information of a container to be deployed occupied by an application program, recovering the resource information and adding the resource information as resource information available to a working node.
Specifically, after the user closes a certain application program, the user terminal stops sending application data generated by the application program, at this time, the scheduler of the base station terminates the container operation and the occupation of wireless resources where the application is located, and the scheduler of the cluster will recover the resource information and the wireless resources occupied by the application program which 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 in some embodiments of the present disclosure, resource information required by each container to be deployed and resource information available to each working node of the 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 special resource information available to the working nodes to obtain a plurality of working node sets, and acquiring the resource information available to the working node sets; determining target working node sets which are respectively matched with all container sets from a plurality of working node sets according to the resource information required by all container sets and the available resource information of all working node sets; deploying each container to be deployed in the matched container set on each working node in the target working node set. In the method, the containers to be deployed and the working nodes are respectively grouped according to special resource information required by the containers to be deployed and special resource information available by the working nodes to obtain a plurality of container sets and working node sets. And then matching the most proper working node set of the available resources in a plurality of working node sets according to the resource information required by the container set, so that the batch on each working node in the working node sets is realized, and the corresponding working node sets with the available resources are allocated according to the resources required by the container set. On one hand, the method avoids the situation that resources required by a single container in the prior art are respectively compared with available resources of all working nodes one by one, and greatly improves the efficiency of container deployment. 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 utilization rate of the resources.
On the basis of the exemplary embodiment of step S30 to step S38 in fig. 3, each 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 illustrates a resource scheduling method flowchart of 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 the resource information of each working node 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 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 occupied resource information of the container set to the resource information of all the working nodes.
After the container deployment method is used for completing the deployment of the containers, the occupancy rate is calculated to be the ratio of the resource information used by the container set to the resource information of all 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.
S84, scheduling a container set deployed on each working node of the cluster based on the occupancy rate.
In an exemplary embodiment of the present disclosure, a special resource information occupancy rate and a universal resource information occupancy rate of each working node are calculated separately, and a container set deployed on each working node of a cluster is scheduled according to the special resource information occupancy rate and the universal resource information occupancy rate.
The occupancy rate of the special resource information of each working node is the ratio of the special resources used by the container to all the special resource information of the working node; the occupancy rate of the universal resource information of each working node is the ratio of the universal resource used by the container to the total universal resource information of the working node.
By calculating the occupancy rate of the special resource information and the occupancy rate of the universal resource information of each working node respectively, the current occupancy condition of the universal resource and the current occupancy condition of the special resource of each working node can be known respectively, and whether the resource information needs to be scheduled can be judged, so that the resource utilization rate is improved.
In another embodiment of the present disclosure, if the occupancy rate of the special resource information of each working node is greater than a first threshold, scheduling the number of container sets deployed on each working node of the cluster; if the occupancy rate of the universal resource information of each working node is greater than the second threshold value and the container set comprises a target container set, wherein the target container set is a container set occupying the working node for which the universal resource information is greater than the preset time, the target container set is scheduled to the working node with the minimum occupancy rate of the universal resource information.
Illustratively, when the occupancy rate of the universal 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 container and the container set. Specifically, when the occupancy rate of the special resource information of the working nodes exceeds 90%, the containers in the container set are subjected to capacity reduction or expansion so as to realize horizontal resource scheduling of the container set on each working node. After the expansion is that the resource information occupied by the application program executed in the container set is larger than a threshold value, generating a new container set to run the application program, and sharing the resource pressure for the original container set; and when the container set is idle, deleting the idle container set.
And when the occupancy rate of the universal resource information of the working node exceeds 90%, recovering the target container set occupying the universal resource information for more than the preset time in the working node. And re-calculating the resource requirement required by the target container set, and dispatching the target container set to the working node with the minimum occupancy rate of the universal resource information so as to realize the vertical dispatching of the container set on the working node.
In the technical schemes 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; according to the resource information occupied by the container set and the resource information of all the working nodes of the cluster, calculating the occupancy rate of the resource information occupied by the container set to the resource information of the working nodes, 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; the set of containers deployed on each working node of the cluster is scheduled based on occupancy. The resource scheduling method adjusts the container set on each working node in real time according to the occupancy rate, and schedules the containers or the container sets occupying the working node resource information for a long time to the working nodes with more resource information. The method can avoid the problem of low resource utilization rate caused by the fact that other containers are difficult to be deployed on the working node because of insufficient resources when the resource information of the working node is occupied by a certain container for a long time in the prior art.
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 running environment of the kata container is configured in the cluster of base stations. The running environment of the kata container can provide a kernel and a virtual machine which are independent to each other for the container to be deployed. In step S903, the base station acquires user status data transmitted by the user terminal. In step S905, it is determined whether the task buffer queue is empty, and if so, step S907 is executed to wait for the next scheduling period. If not, step S909 is executed to allocate radio resources to the user terminal based on the user status data and to allocate radio resources to the network slice. The wireless resources are distributed into mutually independent network slices, so that a personalized scheme can be provided according to the requirements of users, and the maximized application of the wireless resources is realized.
After the base station acquires the radio resource, step S911 is executed to acquire application data of the application program sent by the user terminal, and a container deployment instruction is generated according to the application data.
Next, after obtaining the container deployment instruction and invoking the cluster database, in step S913, resource information required by each container to be deployed and resource information available to each working node of the cluster are obtained. And according to the resource information required by each container to be deployed and the resource information available to each working node of the cluster, step S915 is executed to group each container to be deployed to obtain a plurality of container sets, and group each working node to obtain a plurality of working node sets.
Then, in step S917, the weight value of each container set and the weight value of each working node set 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, the working node set with the largest weight value is determined as the matched target working node set from the plurality of working node sets in the order of the weight value of each container set from large to small. Then in S921, the container set is matched on the target set of working nodes according to the weights of the working nodes.
Finally, after the containers to be deployed in the container set are arranged on the target working node, in step S923, the application program may be run in the deployed containers. During the running of the application, step S925 and step S927 are executed simultaneously. In step S925, the base station scheduler schedules radio resources in the network slice to transmit the result of the application to the user terminal. In step S927, a container set deployed on each working node of the cluster is scheduled according to the specific resource information occupancy rate and the universal resource information occupancy rate. In step S929, when the user terminal stops transmitting the application data generated by the application program, the application program is released to occupy the resource information of the container to be deployed and the radio 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 special resource information available by the working nodes to obtain a plurality of container sets and working node sets. And then matching the most proper working node set of the available resources in a plurality of working node sets according to the resource information required by the container set, so that the batch on each working node in the working node sets is realized, and the corresponding working node sets with the available resources are allocated according to the resources required by the container set. On one hand, the method avoids the situation that resources required by a single container in the prior art are respectively compared with available resources of all working nodes one by one, and greatly improves the efficiency of container deployment. Meanwhile, 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 utilization rate of the resources. Meanwhile, the process adjusts the container set on each working node in real time according to the occupancy rate, and dispatches the containers or container sets occupying the resource information of the working nodes for a long time to the working nodes with more resource information. The process avoids the problem of low resource utilization rate caused by the fact that other containers are difficult to be deployed on the working node because of insufficient resources when the resource information of the working node is occupied by a certain container for a long time in the prior art.
Further, in this example embodiment, a container deployment apparatus is also provided.
Fig. 10 schematically illustrates a block diagram of a container deployment apparatus according to an exemplary embodiment of the present disclosure. Referring to fig. 10, a container deployment apparatus 10 according to an exemplary embodiment of the present disclosure may include: an information acquisition module 101, a first grouping module 103, a second grouping module 105, a determination module 107, a container deployment module 109.
In an exemplary embodiment of the present disclosure, an 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 the cluster, where the resource information includes general resource information and special resource information; a first grouping module 103, configured to group each container to be deployed according to the special resource information required by each container to be deployed, obtain a plurality of container sets, and obtain the resource information required by each container set; a second grouping module 105, configured to group each working node based on the specific resource information available to each working node, obtain a plurality of working node sets, and obtain the resource information available to each working node set; a determining module 107, configured to determine, from a plurality of working node sets, a target working node set that is respectively matched with each container set according to resource information required by each container set and resource information available for each working node set; the container deployment module 109 is configured to deploy, on each working node in the target working node set, each container to be deployed in the matched container set.
Further, another container deployment apparatus is provided in the present example embodiment.
Fig. 11 schematically illustrates a block diagram of another container deployment apparatus according to an exemplary embodiment of the present disclosure. Referring to fig. 11, a container deployment apparatus 11 according to an exemplary embodiment of the present disclosure may include: 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 for each container set; a target set of working nodes is determined from the plurality of sets of working nodes that respectively match each set of containers based on the weight value of each set of containers.
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 order of the weight values of the container sets from large to small, determining the working node set with the largest weight value from a plurality of working node sets as a matched target working node set for each container set
According to an exemplary embodiment of the present disclosure, a container deployment module 115 is used to configure the runtime environment of the kata container in the cluster; based on the running environment, deploying each container to be deployed in the container set on the working node in the target working node set.
In an exemplary embodiment of the present disclosure, the information obtaining module 111 is configured to obtain 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.
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 sent by the user terminal according to the wireless resource.
In an exemplary embodiment of the present disclosure, the resource releasing module 117 may be configured to release the resource information of the container to be deployed and the radio resource allocated to the user terminal when the user terminal stops sending the application data generated by the application.
Further, in this example embodiment, a resource scheduling device is further provided, and an application and resource scheduling method is used to obtain 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.
Fig. 12 schematically shows a block diagram of a resource scheduling apparatus of 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 acquisition module 121, a data calculation module 123, a resource scheduling module 125, wherein: an information obtaining module 121, configured to obtain 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 calculating module 123 is configured to calculate an occupancy rate of the resource information of the container set to the resource information of the working node according to the resource information of 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 of the container set to the resource information of all the working nodes; a resource scheduling module 125 for scheduling a set of containers deployed on each working node of the cluster based on occupancy.
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 universal resource information occupancy rate of each working node respectively; and scheduling the container set deployed on each working node of the cluster according to the occupancy rate of the special resource information and the occupancy rate of the universal resource information.
In an exemplary embodiment of the present disclosure, the resource scheduling module 125 is configured to schedule, when the occupancy rate of the specific resource information of each working node is greater than a first threshold, the number of container sets deployed on each working node of the cluster; if the occupancy rate of the universal resource information of each working node is greater than the second threshold value and the container set comprises a target container set, wherein the target container set is a container set occupying the working node for which the universal resource information is greater than the preset time, the target container set is scheduled to the working node with the minimum occupancy rate of the universal resource information.
Since each functional module of the program execution performance analysis device according to the embodiment of the present invention is the same as that of the above-described method embodiment of the present invention, a detailed description thereof will be omitted.
In an exemplary embodiment of the present disclosure, a computer-readable storage medium having stored thereon a program product capable of implementing the method described above in the present specification is also provided. In some possible embodiments, the aspects of the invention may also be implemented in the form of a program product comprising program code for causing a user terminal to carry out the steps according to the various exemplary embodiments of the invention as described in the "exemplary method" section of this specification, when the program product is run on a terminal device.
A program product for implementing the above-described method according to an embodiment of the present invention may employ a portable compact disc read-only memory (CD-ROM) and include program code, and may be run on a terminal device, such as a personal computer. However, the program product of the present invention is not limited thereto, and in this 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. The readable storage medium can be, for example, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or a combination of any of the foregoing. More specific examples (a non-exhaustive list) of the readable storage medium would include the following: an electrical connection having one or more wires, a portable disk, a hard disk, random Access Memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
The computer readable signal medium may include a data signal propagated in baseband or as part of a carrier wave with readable program code embodied therein. Such a propagated data signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination of the foregoing. 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 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, partly on a remote computing device, or entirely on the remote computing device or server. In the case of remote computing devices, the remote computing device 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 an external computing device (e.g., connected via 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.
Those skilled in the art will appreciate that the various aspects of the invention may be implemented as a system, method, or program product. Accordingly, aspects of the invention may be embodied in the following forms, namely: an entirely hardware embodiment, an entirely software embodiment (including firmware, micro-code, etc.) or an embodiment combining hardware and software aspects may 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 merely an example and should not be construed as limiting the functionality and scope of use of embodiments of the present invention.
As shown in fig. 13, the electronic device 1300 is embodied 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, a bus 1330 connecting the different system components (including the memory unit 1320 and the processing unit 1310), and a display unit 1340.
Wherein the storage unit stores program code that is executable by the processing unit 1310 such that the processing unit 1310 performs steps according to various exemplary embodiments of the present invention described in the above section of the "exemplary method" of the present 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 storage unit 1320 may include readable media in the form of volatile storage units, such as Random Access Memory (RAM) 13201 and/or cache memory 13202, and may further include Read Only Memory (ROM) 13203.
The storage unit 1320 may also include a program/utility 13204 having a set (at least one) of program modules 13205, such program modules 13205 including, but not limited to: an operating system, one or more application programs, other program modules, and program data, each or some combination of which may include an implementation of a network environment.
Bus 1330 may be a local bus representing one or more of several types of bus structures including a memory unit bus or memory unit controller, a peripheral bus, an accelerated graphics port, a processing unit, or using any of a variety of bus architectures.
The electronic device 1300 may also communicate with one or more external devices 1400 (e.g., keyboard, pointing device, bluetooth device, etc.), one or more devices that enable a user to interact with the electronic device 900, and/or any device (e.g., router, modem, etc.) that enables the electronic device 1300 to communicate with one or more other computing devices. Such communication may occur through an input/output (I/O) interface 1350. Also, the electronic device 1300 may communicate with one or more networks such as a Local Area Network (LAN), a Wide Area Network (WAN) and/or a public network, for example, the Internet, through a network adapter 1360. As shown, the network adapter 1360 communicates with other modules of the electronic device 1300 over the bus 1330. It should be appreciated that although not shown, other hardware and/or software modules may be used in connection with electronic device 1300, including, but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, data backup storage systems, and the like.
From the above description of embodiments, those skilled in the art will readily appreciate that the example embodiments described herein may be implemented in software, or may be implemented in software in combination with the necessary hardware. Thus, 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 (may be a CD-ROM, a U-disk, a mobile hard disk, etc.) or on a network, including several instructions to cause a computing device (may be a personal computer, a server, a terminal device, or a network device, etc.) to perform the method according to the embodiments of the present disclosure.
Furthermore, the above-described drawings are only schematic illustrations of processes included in the method according to the exemplary embodiment of the present invention, and are not intended to be limiting. It will be readily appreciated that the processes shown in the above figures do not indicate or limit the temporal order of these processes. In addition, it is also readily understood that these processes may be performed synchronously or asynchronously, for example, among a plurality of modules.
It should be noted that although in the above detailed description several modules or units of a device for action execution are mentioned, such a division is not mandatory. Indeed, the features and functionality of two or more modules or units described above may be embodied in one module or unit in accordance with embodiments of the present disclosure. Conversely, the features and functions of one module or unit described above may be further divided into a plurality of modules or units to be embodied.
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 adaptations, uses, or adaptations of the disclosure following the general 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 is to be understood that the present disclosure is not limited to the precise arrangements and instrumentalities shown in the drawings, and that various modifications and changes may be effected without departing from the scope thereof. The scope of the present disclosure is limited only by the appended claims.

Claims (10)

1. A method of deploying a container, comprising:
acquiring resource information required by each container to be deployed and resource information available to each working node of a cluster, wherein the resource information comprises general resource information and special resource information, the general resource information is at least one of a Central Processing Unit (CPU), a memory and a hard disk, and the special resource information is at least one hardware resource except the general resource information;
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;
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 all the container sets from the plurality of working node sets according to the resource information required by all the container sets and the available resource information of all the working node sets;
deploying each container to be deployed in the matched container set on each working node in the target working node set.
2. The container deployment method of claim 1, wherein determining a target set of working nodes from the plurality of sets of working nodes that respectively match each of the container sets based on the resource information required for each of the container sets and the resource information available for 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;
A target set of working nodes that respectively match each of the container sets is determined from the plurality of sets of working nodes based on the weight value of each of the container sets.
3. The container deployment method of claim 2, wherein determining a set of target working nodes from the plurality of sets of working nodes that respectively match each of the sets of containers based on the weight value of each of the sets of containers, comprises:
calculating the weight value of each working node set according to the available resource information of each working node set;
and 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 the sequence of the weight value of each container set from big to small.
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 of any one of claims 1 to 3;
acquiring resource information occupied by the container set and all 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 at least one of a Central Processing Unit (CPU), a memory and a hard disk, and the special resource information is at least one hardware resource except the general resource information;
According to the resource information occupied by the container set and the resource information of all the working nodes of the cluster, calculating the occupancy rate of the resource information occupied by the container set to the resource information of the working nodes, 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 resource scheduling method of claim 4, wherein scheduling the set of containers deployed on each working node of the cluster based on the occupancy comprises:
respectively calculating the special resource information occupancy rate and the universal resource information occupancy rate of each working node;
and scheduling a container set deployed on each working node of the cluster according to the special resource information occupancy rate and the universal resource information occupancy rate.
6. The resource scheduling method of claim 5, wherein scheduling the set of containers deployed on each working node of the cluster according to the special resource information occupancy and the universal resource information occupancy comprises:
if the occupancy rate of the special resource information of each working node is larger than a first threshold value, the number of the deployment container sets on each working node of the cluster is scheduled;
And if the occupancy rate of the universal resource information of each working node is larger than a second threshold value and the container set comprises a target container set, wherein the target container set is a container set occupying the working node for which the universal resource information is larger than a preset time, the target container set is scheduled to the working node with the minimum occupancy rate of the universal resource information.
7. A container deployment apparatus, comprising:
the information acquisition module is used for acquiring resource information required by each container to be deployed and resource information available to each working node of the cluster, wherein the resource information comprises general resource information and special resource information, the general resource information is at least one of a Central Processing Unit (CPU), a memory and a hard disk, and the special resource information is at least one hardware resource except the general 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 obtaining the resource information required by the container sets;
the second grouping module is used for grouping the working nodes based on the special resource information available to the working nodes to obtain a plurality of working node sets and obtaining the resource information available to the working node sets;
A determining module, configured to determine, from the plurality of working node sets, a target working node set that is respectively matched with each container set according to resource information required by each container set and resource information available for each working node set;
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.
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 of 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 general resource information is at least one of a Central Processing Unit (CPU), a memory and a hard disk, and the special resource information is at least one hardware resource except the general resource information;
the data calculation module is used for calculating the occupancy rate of the resource information of the container set to 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.
CN202210376957.0A 2022-04-11 2022-04-11 Container deployment method, resource scheduling method, device, medium and electronic equipment Active CN114706596B (en)

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 CN114706596A (en) 2022-07-05
CN114706596B true 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)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117500068A (en) * 2022-07-21 2024-02-02 中兴通讯股份有限公司 Base station calculation power calling method, device, equipment and medium based on federal learning
CN115408100A (en) * 2022-07-21 2022-11-29 天翼云科技有限公司 Container cluster scheduling method, device, equipment and storage medium
CN114979282B (en) * 2022-07-28 2023-01-20 北京金山云网络技术有限公司 Task scheduling method, device, storage medium and electronic equipment
CN116974744A (en) * 2023-03-14 2023-10-31 福州创星通信息科技有限公司 Interactive control system and interactive control method for shared space

Citations (9)

* Cited by examiner, † Cited by third party
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

Patent Citations (9)

* Cited by examiner, † Cited by third party
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

Also Published As

Publication number Publication date
CN114706596A (en) 2022-07-05

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
CN107708214B (en) Network utility maximization virtual resource allocation method based on Lyapunov
CN102308650B (en) Multiple uplink carrier allocation in wireless communication networks
CN110267276B (en) Network slice deployment method and device
CN111338779B (en) Resource allocation method, device, computer equipment and storage medium
WO2014094310A1 (en) Resource scheduling method and device
CN105144109A (en) Distributed data center technology
WO2016031101A1 (en) Radio base station apparatus, base station cell processing resource allocation method, and nontemporary computer readable medium on which program has been stored
CN112905342A (en) Resource scheduling method, device, equipment and computer readable storage medium
CN111510959A (en) Method and equipment for deploying nRT RIC function
Sharif et al. Priority-based resource allocation scheme for mobile edge computing
CN111769988A (en) Management method for sharing base station resources by multiple slices
CN111324424B (en) Virtual machine deployment method and device, server and storage medium
JP7056486B2 (en) Controls, resource allocation methods, and programs
CN113535376B (en) Force calculation scheduling method, centralized control equipment and force calculation application equipment
CN115220920A (en) Resource scheduling method and device, storage medium and electronic equipment
WO2016184166A1 (en) Method and apparatus for allocating carrier aggregation bandwidth
JP2023521398A (en) Resource determination method and equipment
CN115878309A (en) Resource allocation method, device, processing core, equipment and computer readable medium
CN112565320B (en) Load balancing method and device
CN113473488B (en) Container-based CU and MEC common platform deployment method
CN114071683B (en) Data transmission method and device and electronic equipment
WO2023232102A1 (en) Communication method and apparatus, and storage medium
CN111819546A (en) Hardware acceleration of frequency domain scheduler in wireless networks

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