Resource management system, method, device, equipment and medium
1. A resource management system is characterized by comprising a tenant layer, a container layer, a network management layer, a virtual layer and a physical resource layer, wherein the tenant layer comprises a plurality of tenants, the container layer comprises a plurality of service containers, and one tenant comprises a plurality of service containers; the physical resource layer comprises a plurality of physical machines, the virtual layer comprises a plurality of virtual machines, and one physical machine corresponds to the plurality of virtual machines;
the network management layer is configured to: acquiring a target corresponding relation between the virtual local area network and the service container, wherein one service container corresponds to a plurality of virtual machines under one virtual local area network, and the plurality of virtual machines corresponding to one virtual local area network are respectively distributed on different physical machines; and establishing network connection between each virtual local area network and the corresponding service container thereof through the Calico network and the target corresponding relation.
2. The resource management system of claim 1, wherein the traffic containers are partitioned based on traffic information, the traffic containers including at least one of service registration and discovery components, service configuration, service load balancing, service fusing, and service consumption.
3. The resource management system of claim 1, wherein the tenant comprises at least one of a development tenant, a production tenant, and a test tenant.
4. The resource management system of claim 1, wherein the physical resource layer comprises a number of physical machines within a preset number range.
5. A resource management method is applied to a network management layer and comprises the following steps:
acquiring a target corresponding relation between a virtual local area network and a service container included under a tenant, wherein one service container corresponds to a plurality of virtual machines under one virtual local area network, and the plurality of virtual machines corresponding to one virtual local area network are respectively distributed on different physical machines;
and establishing network connection between each virtual local area network and the corresponding service container thereof through the Calico network and the target corresponding relation.
6. The method according to claim 5, wherein establishing network connections between the virtual local area networks and the corresponding service containers thereof through a Calico network and the target correspondence relationship comprises:
and establishing network connection between each virtual local area network and the corresponding service container thereof based on the IPIP mode of the Calico network and the target corresponding relation.
7. The method of claim 5, further comprising:
and establishing network connection between the first virtual local area network and the second virtual local area network based on the Calico network.
8. A resource management apparatus, configured in a network management layer, comprising:
the relation acquisition module is used for acquiring a target corresponding relation between the virtual local area network and a service container included under the tenant, wherein one service container corresponds to a plurality of virtual machines under one virtual local area network, and the plurality of virtual machines corresponding to one virtual local area network are respectively distributed on different physical machines;
and the connection module is used for establishing network connection between each virtual local area network and the corresponding service container thereof through the Calico network and the target corresponding relation.
9. An electronic device, characterized in that the electronic device comprises:
a processor;
a memory for storing the processor-executable instructions;
the processor is configured to read the executable instructions from the memory and execute the instructions to implement the resource management method of any one of claims 5 to 7.
10. A computer-readable storage medium, characterized in that the storage medium stores a computer program for executing the resource management method of any of the above claims 5-7.
Background
In the cloud architecture and cloud platform overlay planning provided by the related art, a plurality of tenants use uniform resources to provide underlying hardware resources, and in order to ensure the security of tenant data, tenant isolation can be performed, and a Virtual Local Area Network (VLAN) -based manner is generally adopted for tenant isolation. However, the above method cannot satisfy the requirements in terms of reasonable utilization of resources and flexibility of resource management.
Disclosure of Invention
To solve the above technical problem or at least partially solve the above technical problem, the present disclosure provides a resource management system, method, apparatus, device, and medium.
The embodiment of the present disclosure provides a resource management system, which includes a tenant layer, a container layer, a network management layer, a virtual layer, and a physical resource layer, where the tenant layer includes multiple tenants, the container layer includes multiple service containers, and one tenant includes multiple service containers; the physical resource layer comprises a plurality of physical machines, the virtual layer comprises a plurality of virtual machines, and one physical machine corresponds to the plurality of virtual machines;
the network management layer is configured to: acquiring a target corresponding relation between the virtual local area network and the service container, wherein one service container corresponds to a plurality of virtual machines under one virtual local area network, and the plurality of virtual machines corresponding to one virtual local area network are respectively distributed on different physical machines; and establishing network connection between each virtual local area network and the corresponding service container thereof through the Calico network and the target corresponding relation.
The embodiment of the disclosure provides a resource management method, which is applied to a network management layer, and the method comprises the following steps:
acquiring a target corresponding relation between a virtual local area network and a service container included under a tenant, wherein one service container corresponds to a plurality of virtual machines under one virtual local area network, and the plurality of virtual machines corresponding to one virtual local area network are respectively distributed on different physical machines;
and establishing network connection between each virtual local area network and the corresponding service container thereof through the Calico network and the target corresponding relation.
The embodiment of the present disclosure further provides a resource management device, where the device is configured in a network management layer, and the device includes:
the relation acquisition module is used for acquiring a target corresponding relation between the virtual local area network and a service container included under the tenant, wherein one service container corresponds to a plurality of virtual machines under one virtual local area network, and the plurality of virtual machines corresponding to one virtual local area network are respectively distributed on different physical machines;
and the connection module is used for establishing network connection between each virtual local area network and the corresponding service container thereof through the Calico network and the target corresponding relation.
An embodiment of the present disclosure further provides an electronic device, which includes: a processor; a memory for storing the processor-executable instructions; the processor is used for reading the executable instructions from the memory and executing the instructions to realize the resource management method provided by the embodiment of the disclosure.
The embodiment of the present disclosure also provides a computer-readable storage medium, which stores a computer program for executing the resource management method provided by the embodiment of the present disclosure.
Compared with the prior art, the technical scheme provided by the embodiment of the disclosure has the following advantages: the resource management system provided by the embodiment of the disclosure comprises a tenant layer, a container layer, a network management layer, a virtual layer and a physical resource layer, wherein the tenant layer comprises a plurality of tenants, the container layer comprises a plurality of service containers, and one tenant comprises a plurality of service containers; the physical resource layer comprises a plurality of physical machines, the virtual layer comprises a plurality of virtual machines, and one physical machine corresponds to the plurality of virtual machines; the network management layer is used for: acquiring a target corresponding relation between a virtual local area network and a service container, wherein one service container corresponds to a plurality of virtual machines under one virtual local area network, and the plurality of virtual machines corresponding to one virtual local area network are respectively distributed on different physical machines; and establishing network connection between each virtual local area network and the corresponding service container thereof through the Calico network and the target corresponding relation. Because the network connection is carried out on the virtual local area network layer in the resource management system through the Calico network, on the basis of carrying out tenant isolation based on the virtual local area network, the Calico network can realize the isolation of more protocol layers and communication layers, the isolation performance and the expansion performance are improved, and a plurality of service containers are divided on the basis of the tenant layer, so that the isolation among the service containers is realized, on the basis of ensuring the monopolization of resource use, the method better accords with the actual service requirements, and improves the flexibility.
Drawings
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present disclosure and together with the description, serve to explain the principles of the disclosure.
In order to more clearly illustrate the embodiments or technical solutions in the prior art of the present disclosure, the drawings used in the description of the embodiments or prior art will be briefly described below, and it is obvious for those skilled in the art that other drawings can be obtained according to the drawings without inventive exercise.
Fig. 1 is a schematic structural diagram of a resource management system according to an embodiment of the present disclosure;
fig. 2 is a schematic structural diagram of another resource management system provided in the embodiment of the present disclosure;
fig. 3 is a schematic flowchart of a resource management method according to an embodiment of the present disclosure;
fig. 4 is a schematic structural diagram of a resource management device according to an embodiment of the present disclosure;
fig. 5 is a schematic structural diagram of an electronic device according to an embodiment of the present disclosure.
Detailed Description
In order that the above objects, features and advantages of the present disclosure may be more clearly understood, aspects of the present disclosure will be further described below. It should be noted that the embodiments and features of the embodiments of the present disclosure may be combined with each other without conflict.
In the following description, numerous specific details are set forth in order to provide a thorough understanding of the present disclosure, but the present disclosure may be practiced in other ways than those described herein; it is to be understood that the embodiments disclosed in the specification are only a few embodiments of the present disclosure, and not all embodiments.
In the related technology of resource management of a cloud Platform, a tenant logical isolation plan can be made for hardware resources based on clustering, in the planning design, especially in a medium-small scale planning scenario, there is a certain availability safety hazard, for example, in a medium-small scale environment, after a certain highly configured resource node is down, the availability of a management node or other nodes of an upper-layer Platform as a Service (PaaS) may be reduced, and if there is a situation that part of computing resources are shared, the Platform may even be unavailable as a whole; the other method can be based on independent logic isolation of hardware resources for different tenants and use independent hardware resources, and in the planning design, certain resource waste exists, and the characteristic of relative elasticity of cloud resources cannot be achieved; another way is to perform tenant isolation based on virtual local area network. The above methods all have certain defects in the reasonable utilization of resources and the flexibility of resource management, and cannot meet the requirements.
In order to solve the above technical problem, embodiments of the present disclosure provide a resource management system, which is described below with reference to specific embodiments.
Fig. 1 is a schematic structural diagram of a resource management system provided in an embodiment of the present disclosure, where the resource management system 10 may include a tenant layer 11, a container layer 12, a network management layer 13, a virtual layer 14, and a physical resource layer 15, where the tenant layer 11 includes a plurality of tenants, the container layer 12 includes a plurality of service containers, and a tenant includes a plurality of service containers; the physical resource layer 15 includes a plurality of physical machines, the virtual layer 14 includes a plurality of virtual machines, and one physical machine corresponds to a plurality of virtual machines;
the network management layer 13 is configured to: acquiring a target corresponding relation between a virtual local area network and a service container, wherein one service container corresponds to a plurality of virtual machines under one virtual local area network, and the plurality of virtual machines corresponding to one virtual local area network are respectively distributed on different physical machines; and establishing network connection between each virtual local area network and the corresponding service container thereof through the Calico network and the target corresponding relation.
As shown in fig. 1, a physical resource layer 15 in the resource management system 10 may include a plurality of physical machines, which may be hardware resources providing services. The number of the physical machines included in the physical resource layer is within a preset number range, and since the preset number may be set according to an actual situation for a scenario that may be directed to a medium-small scale resource in the embodiment of the present disclosure, for example, the preset number may be 200, which is only an example and is not limited uniquely. The figure shows 4 physical machines by way of example.
The virtual layer 14 may include a plurality of virtual machines, each physical machine in the physical resource layer 15 may correspond to a plurality of virtual machines, the specific number may be set according to an actual situation, and each physical machine in the example in the drawing corresponds to 8 virtual machines.
The tenant layer 11 may include a plurality of tenants, and the division of the tenants may be performed according to actual business items, for example, the tenants may include at least one of development tenants, production tenants, test tenants, and the like, and the development tenants may further include pre-development tenants and formal development tenants.
Further, fig. 2 is a schematic structural diagram of another resource management system provided in the embodiment of the present disclosure, as shown in fig. 1 and fig. 2, in the resource management system 10 provided in the present solution, each tenant may further divide a plurality of service containers, and the service containers may be divided based on service information, that is, based on specific service information in a service project corresponding to the current tenant. Illustratively, as shown in fig. 2, the service container under each tenant may include a service registration and discovery component (Eureka), a service configuration (Config), a service load balancing (Ribbon), a service fusing (Hystrix), a service consumption (Feign), and the like, which are only examples and are not specific limitations on the service container.
Referring to fig. 1, the resource management system 10 may further include a cloud management platform 16, where the cloud management platform 16 may allocate one or more virtual local area networks to each virtual machine, and establish a correspondence between a service container included by a tenant and the virtual local area network, that is, the above target correspondence. Each service container may correspond to a virtual local area network, a plurality of virtual machines corresponding to one virtual local area network are respectively distributed on different physical machines, see fig. 1, taking a service container 11 as an example, the service container 11 corresponds to a virtual local area network 1, the virtual machines 1 distributed by the virtual local area network 1 are respectively distributed on a physical machine 1, a physical machine 2, a physical machine 3 and a physical machine 4, and the corresponding relationships between other service containers and the virtual local area networks, the virtual machines and the physical machines are also similar.
The cloud management platform 16 may cut virtual machines with the same configuration from the physical host layer with the same configuration, and may form a tenant system by corresponding to the PAAS cloud management platform for the virtual machine resources with balanced distribution, so as to ensure that the number of the planned virtual local area networks and the virtual machine resources are kept as balanced as possible on the basis of ensuring that the resources have a certain logical correspondence with the network. The virtual machines of the independent virtual local area network corresponding to the service containers of each tenant in the target corresponding relation are distributed on different physical machines, the virtual local area network is used for setting that the service containers of different tenants cannot communicate with each other, two-layer isolation is achieved, the effect of improving information safety is achieved, the monopolization of the use of computing resources with finer granularity is guaranteed, resource contention is avoided, the isolation of the virtual layer of the physical resources of the bottom layer is achieved, the problem of waste caused by too much resource planning is avoided, and the usability is guaranteed.
The network management layer 13 in the embodiment of the present disclosure may perform network policy management and control of the Overlay of the service container under different tenants for the network management mechanism based on Calico.
Calico is a pure three-layer data center network scheme, and a Paas cloud architecture is seamlessly integrated, which can provide communication among controllable Virtual Machines (VMs), containers and bare machines, all data packets find corresponding hosts and containers in a routing form, and then all routes are synchronized to all machines or data centers through a Border Gateway Protocol (BGP) Protocol, thereby completing interconnection of the whole network. The Overlay can be a virtualization technical mode superimposed on a network architecture in the field of network technology, the general framework of the Overlay is to realize the load bearing of the application on the network without modifying the basic network in a large scale, and can be separated from other network services, and the Overlay technology is mainly based on the IP-based basic network technology, namely, the Overlay technology is to construct a virtual network on the existing physical network, and the upper layer application is only related to the virtual network.
The network management layer 13 in the embodiments of the present disclosure may be configured to: and acquiring a target corresponding relation between the virtual local area networks and the service containers, and establishing network connection between each virtual local area network and the corresponding service container through the Calico network and the target corresponding relation. The network management layer 13 may adopt an IPIP mode of Calico to wrap an Internet Protocol (IP) packet in an IP packet, that is, encapsulate an IP layer into a channel (tunnel) of the IP layer, which functions as a bridge based on the IP layer basically, generally speaking, a common bridge is based on the mac layer and does not need IP at all, and IPIP is a tunnel made through a route at both ends to connect two originally blind networks through point-to-point, that is, a network connection relationship is established between a virtual lan and its corresponding service container according to a target correspondence relationship. After Calico is deployed in the ip mode, a network card device including a tunnel interface (tunl) is provided on a node, and is used for performing tunnel encapsulation, and the network card device is a network in an overlay mode.
In the scheme, the bottom environment is isolated based on a virtual local area network, a Calico network model is deployed on the virtual machine layer, the environment network isolation is further realized through the Calico network, the PAAS cloud native platform of Kubernets is deployed in a global sharing mode, different virtual machine resources can be bound to service containers under tenants, and the physical resources can be extremely utilized and extremely high-availability planning can be realized. The resource management system provided by the embodiment of the disclosure can perform efficient and normative planning management on the PAAS cloud platform under the condition of planning the resources of the PAAS cloud native platform, especially for medium and small environments, and can relatively improve the availability guarantee of the resources of the service container under each tenant.
The resource management system provided by the embodiment of the disclosure comprises a tenant layer, a container layer, a network management layer, a virtual layer and a physical resource layer, wherein the tenant layer comprises a plurality of tenants, the container layer comprises a plurality of service containers, and one tenant comprises a plurality of service containers; the physical resource layer comprises a plurality of physical machines, the virtual layer comprises a plurality of virtual machines, and one physical machine corresponds to the plurality of virtual machines; the network management layer is used for: acquiring a target corresponding relation between a virtual local area network and a service container, wherein one service container corresponds to a plurality of virtual machines under one virtual local area network, and the plurality of virtual machines corresponding to one virtual local area network are respectively distributed on different physical machines; and establishing network connection between each virtual local area network and the corresponding service container thereof through the Calico network and the target corresponding relation. Because the network connection is carried out on the virtual local area network layer in the resource management system through the Calico network, on the basis of carrying out tenant isolation based on the virtual local area network, the Calico network can realize the isolation of more protocol layers and communication layers, the isolation performance and the expansion performance are improved, and a plurality of service containers are divided on the basis of the tenant layer, so that the isolation among the service containers is realized, on the basis of ensuring the monopolization of resource use, the method better accords with the actual service requirements, and improves the flexibility.
Fig. 3 is a flowchart of a resource management method provided in an embodiment of the present disclosure, where the method may be executed by a resource management apparatus, where the apparatus may be implemented by software and/or hardware, and may be generally integrated in an electronic device. As shown in fig. 3, the method is applied to a network management layer, and includes:
step 301, obtaining a target corresponding relation between the virtual local area network and a service container included under the tenant.
A Virtual Local Area Network (VLAN) is a technology that logically divides Local Area Network (LAN) devices into Network segments or smaller LANs, so as to implement data exchange of Virtual workgroups (units). The virtual local area network is mainly applied to switches and routers, but not all switches have the function, and only more than three layers of switches have the function. The network management layer in the scheme may include a virtual switch, which is used to construct a virtual network by adopting an Overlay technology on the basis of an underlay network, and to divide the virtual network into different virtual local area networks.
The Overlay technology is to construct a virtual network on top of the existing physical network, and the upper layer application is only related to the virtual network. The Underlay can be a distributed network without a central control node, and all devices in the network learn the reachable information of the network in a protocol transmission mode, and each device determines how to forward the reachable information, so that the flow cannot be regulated and controlled from the perspective of the whole network.
The number of the tenants in the embodiment of the present disclosure may be multiple, and the system belongs to a multi-tenant system, and the multi-tenant system is used to discuss and implement how to share the same system, program component, or resource in a multi-user environment, and still can ensure isolation of data between users. The division of the tenants can be divided according to actual business projects, for example, the tenants can include at least one of development tenants, production tenants, test tenants and the like, and the development tenants can also include pre-development tenants and formal development tenants. Furthermore, each tenant can also divide a plurality of service containers, and the service containers can be divided based on service information, that is, based on specific service information of a service project corresponding to the current tenant. Illustratively, as shown in fig. 2, the service container under each tenant may include a service registration and discovery component (Eureka), a service configuration (Config), a service load balancing (Ribbon), a service fusing (Hystrix), a service consumption (Feign), and the like, which are only examples and are not specific limitations of the service container.
The target corresponding relation refers to a binding relation between virtual local area networks and service containers, wherein one service container corresponds to a plurality of virtual machines in one virtual local area network, and the plurality of virtual machines corresponding to one virtual local area network are respectively distributed on different physical machines. Specifically, the network management layer may obtain a target correspondence between a virtual local area network established in advance and a service container included under the tenant.
Step 302, establishing network connection between each virtual local area network and the corresponding service container through the Calico network and the target corresponding relation.
Calico is a pure three-layer data center network scheme, and a Paas cloud architecture is seamlessly integrated, which can provide communication among controllable Virtual Machines (VMs), containers and bare machines, all data packets find corresponding hosts and containers in a routing form, and then all routes are synchronized to all machines or data centers through a Border Gateway Protocol (BGP) Protocol, thereby completing interconnection of the whole network.
In the embodiment of the present disclosure, establishing network connections between each virtual local area network and the corresponding service containers through the Calico network and the target corresponding relationship may include: and establishing network connection between each virtual local area network and the corresponding service container thereof based on the IPIP mode of the Calico network and the target corresponding relation. The network management layer can adopt an IPIP mode of Calico, an IP data packet is sleeved in the IP data packet, namely the IP layer is encapsulated into a channel (tunnel) of the IP layer, the effect of the tunnel is basically equivalent to a network bridge based on the IP layer, the tunnel is made through the routes at two ends, two originally blind networks are connected through point-to-point, and the network connection relation between the virtual local area network and a corresponding service container is established according to the target corresponding relation. After Calico is deployed in the ip mode, a network card device including a tunnel interface (tunl) is provided on a node, and is used for performing tunnel encapsulation, and the network card device is a network in an overlay mode.
In some embodiments, the resource management method may further include: and establishing network connection between the first virtual local area network and the second virtual local area network based on the Calico network.
The first virtual local area network and the second virtual local area network are any two virtual local area networks in the resource management system, which need to establish communication, and are not limited specifically. In the scheme, the network management layer adopts the Calico network to establish network connection between the first virtual local area network and the second virtual local area network when the service container corresponding to the first virtual local area network needs to communicate with the service container corresponding to the second virtual local area network, so as to realize communication between the two corresponding service containers. The network policy management by the Calico network not only can realize the management of the virtual local area network layer and the environment network layer, but also can flexibly establish communication when needed, thereby improving the flexibility of network management and resource management and the expansibility.
The resource management method provided by the embodiment of the disclosure solves the problem that a cloud management platform is unreasonably planned in a multi-tenant resource layer on the basis of the resource management system, and improves isolation performance and expansion performance on the basis of relatively improving availability guarantee of resources of service containers under each tenant through standard design from a resource and network layer, thereby improving the value of the platform. The method and the system meet the requirements of various networks, basic resources, tenant management and policy management on scene availability and intensive management, and can be applied to various complex service demand scenes.
In the resource management method provided by the embodiment of the present disclosure, the network management layer in the resource management system may obtain the target correspondence between the virtual local area network and the service container included in the tenant, and establish the network connection between each virtual local area network and the service container corresponding thereto through the Calico network and the target correspondence. Because the network management layer carries out network connection on the virtual local area network layer through the Calico network, on the basis of carrying out tenant isolation based on the mode of the virtual local area network, the Calico network can realize the isolation of more protocol layers and communication layers, the isolation performance and the expansion performance are improved, and a plurality of service containers are divided on the basis of the tenant layer, the isolation among the service containers is realized, on the basis of guaranteeing the resource use exclusivity, the network management layer better accords with the actual service requirements, and the flexibility is improved.
Fig. 4 is a schematic structural diagram of a resource management apparatus provided in an embodiment of the present disclosure, where the apparatus may be implemented by software and/or hardware, and may be generally integrated in an electronic device. As shown in fig. 4, the apparatus is configured in a network management layer, and includes:
a relationship obtaining module 401, configured to obtain a target correspondence between a virtual local area network and a service container included in a tenant, where one service container corresponds to multiple virtual machines in one virtual local area network, and the multiple virtual machines corresponding to one virtual local area network are respectively distributed on different physical machines;
a connection module 402, configured to establish a network connection between each virtual local area network and the corresponding service container through the Calico network and the target correspondence.
Optionally, the connection module 402 is specifically configured to:
and establishing network connection between each virtual local area network and the corresponding service container thereof based on the IPIP mode of the Calico network and the target corresponding relation.
Optionally, the apparatus further includes a network management module, configured to:
and establishing network connection between the first virtual local area network and the second virtual local area network based on the Calico network.
The resource management device provided by the embodiment of the disclosure can execute the resource management method provided by any embodiment of the disclosure, and has corresponding functional modules and beneficial effects of the execution method.
Fig. 5 is a schematic structural diagram of an electronic device according to an embodiment of the present disclosure. As shown in fig. 5, the electronic device 500 includes one or more processors 501 and memory 502.
The processor 501 may be a Central Processing Unit (CPU) or other form of processing unit having data processing capabilities and/or instruction execution capabilities, and may control other components in the electronic device 500 to perform desired functions.
Memory 502 may include one or more computer program products that may include various forms of computer-readable storage media, such as volatile memory and/or non-volatile memory. The volatile memory may include, for example, Random Access Memory (RAM), cache memory (cache), and/or the like. The non-volatile memory may include, for example, Read Only Memory (ROM), hard disk, flash memory, etc. One or more computer program instructions may be stored on the computer-readable storage medium and executed by the processor 501 to implement the resource management methods of the embodiments of the present disclosure described above and/or other desired functions. Various contents such as an input signal, a signal component, a noise component, etc. may also be stored in the computer-readable storage medium.
In one example, the electronic device 500 may further include: an input device 503 and an output device 504, which are interconnected by a bus system and/or other form of connection mechanism (not shown).
The input device 503 may also include, for example, a keyboard, a mouse, and the like.
The output device 504 may output various information to the outside, including the determined distance information, direction information, and the like. The output devices 504 may include, for example, a display, speakers, a printer, and a communication network and its connected remote output devices, among others.
Of course, for simplicity, only some of the components of the electronic device 500 relevant to the present disclosure are shown in fig. 5, omitting components such as buses, input/output interfaces, and the like. In addition, the electronic device 500 may include any other suitable components depending on the particular application.
In addition to the above methods and apparatus, embodiments of the present disclosure may also be a computer program product comprising computer program instructions that, when executed by a processor, cause the processor to perform the resource management methods provided by embodiments of the present disclosure.
The computer program product may write program code for carrying out operations for embodiments of the present disclosure in any combination of one or more programming languages, including an object oriented programming language such as Java, C + + or the like and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code may execute entirely on the user's computing device, partly on the user's device, as a stand-alone software package, partly on the user's computing device and partly on a remote computing device, or entirely on the remote computing device or server.
Furthermore, embodiments of the present disclosure may also be a computer-readable storage medium having stored thereon computer program instructions that, when executed by a processor, cause the processor to perform the resource management methods provided by embodiments of the present disclosure.
The computer-readable storage medium may take any combination of one or more readable media. The readable medium may be a readable signal medium or a readable storage medium. A readable storage medium may include, for example, but 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 include: an electrical connection having one or more wires, a portable disk, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
It is noted that, in this document, relational terms such as "first" and "second," and the like, may be used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. Also, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising an … …" does not exclude the presence of other identical elements in a process, method, article, or apparatus that comprises the element.
The foregoing are merely exemplary embodiments of the present disclosure, which enable those skilled in the art to understand or practice the present disclosure. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments without departing from the spirit or scope of the disclosure. Thus, the present disclosure is not intended to be limited to the embodiments shown herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.