WO2014101727A1 - 一种部署应用的方法和调度器 - Google Patents

一种部署应用的方法和调度器 Download PDF

Info

Publication number
WO2014101727A1
WO2014101727A1 PCT/CN2013/090201 CN2013090201W WO2014101727A1 WO 2014101727 A1 WO2014101727 A1 WO 2014101727A1 CN 2013090201 W CN2013090201 W CN 2013090201W WO 2014101727 A1 WO2014101727 A1 WO 2014101727A1
Authority
WO
WIPO (PCT)
Prior art keywords
cloud
computing unit
application
scheduler
unit
Prior art date
Application number
PCT/CN2013/090201
Other languages
English (en)
French (fr)
Inventor
陈建
魏含宇
周洪
Original Assignee
华为技术有限公司
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 华为技术有限公司 filed Critical 华为技术有限公司
Priority to EP13868356.0A priority Critical patent/EP2930909B1/en
Publication of WO2014101727A1 publication Critical patent/WO2014101727A1/zh
Priority to US14/755,259 priority patent/US9747090B2/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network

Definitions

  • the present invention relates to the field of communications, and in particular, to a method and a scheduler for deploying an application. Background technique
  • the central cloud is similar to a traditional cloud computing server, and often includes a large data center, preferably deployed in a core city.
  • the front-end cloud includes small and medium-sized data centers, preferably deployed in small and medium-sized cities.
  • An object of the embodiments of the present invention is to provide a method and a scheduler for deploying an application, which is used to select a suitable cloud to deploy a first application in a network including multiple clouds.
  • a method of deploying an application includes:
  • the scheduler receives an application deployment request for the first application sent by the cloud controller of the first cloud; after receiving the application deployment request, the scheduler sends a first query message to the cloud controller of the second cloud, where The first query message includes information about the computing capability required by the first application, and the first query message is used to query the identifier information of the computing unit having the computing capability in the second cloud, where the first application is The required computing power is the first computing power;
  • the scheduler After receiving the application deployment request, the scheduler sends a second check to the cloud controller of the third cloud.
  • the second query message is used to query the information of the first computing capability, and the second query message is used to query the identifier information of the computing unit having the first computing capability in the third cloud;
  • the scheduler determines a target computing unit from at least one computing unit having the first computing capability queried by the first query message and the second query message;
  • the scheduler After the scheduler determines that the target computing unit is installed with the running library required by the first application, deploying the first application to the target computing unit, the scheduler is configured to manage the first Cloud, second cloud and third cloud 0
  • the scheduler after determining that the target computing unit is installed with a running library required by the first application, An application deployed to the target computing unit includes:
  • the scheduler sends a runtime query message to the cloud controller corresponding to the target computing unit, and queries whether the target computing unit installs the runtime library required by the first application;
  • the scheduler deploys the first application to the target computing unit.
  • the scheduler after determining that the target computing unit is installed with a running library required by the first application, An application deployed to the target computing unit includes:
  • the scheduler sends a runtime query message to the cloud controller corresponding to the target computing unit, and queries whether the target computing unit installs the runtime library required by the first application;
  • the first application is deployed to the target computing unit.
  • the information about the first computing capability includes CPU processor clock frequency, memory capacity, network bandwidth information, and programming language operating environment information One or more.
  • the target calculation unit is:
  • the distance includes a physical distance, a network distance, or a weight distance.
  • the first cloud is a first central cloud
  • the second cloud is a first front cloud
  • the third cloud is a second front cloud
  • the first cloud is a first front cloud
  • the second cloud is a first central cloud
  • the third cloud is a second central cloud
  • the first cloud is a first front-end cloud
  • the second cloud is a second front-end cloud
  • the third cloud is a third front-end cloud.
  • a scheduler is configured to manage the first cloud, the second cloud, and the third cloud, where the scheduler includes:
  • a receiving unit configured to receive an application deployment request for the first application sent by the cloud controller of the first cloud
  • a first sending unit configured to send, after the receiving unit receives the application deployment request, a first query message to a cloud controller of the second cloud, where the first query message includes required by the first application
  • the information of the computing capability, the first query message is used to query the identification information of the computing unit having the computing capability in the second cloud, and the computing capability required by the first application is the first computing capability
  • a second sending unit configured to send, after the receiving unit receives the application deployment request, a second query message to the cloud controller of the third cloud, where the second query message includes information about the first computing capability The second query message is used to query the identifier information of the computing unit having the first computing capability in the third cloud
  • a determining unit configured to determine a target computing unit from at least one computing unit having the first computing capability that is queried by using the first query message and the second query message;
  • a deployment unit configured to deploy the first application to the target computing unit after determining that the target computing unit is installed with the runtime required by the first application.
  • the deploying unit is specifically configured to:
  • the first application is deployed to the target computing unit.
  • the deploying unit is specifically configured to:
  • the first application is deployed to the target computing unit.
  • the first implementation manner of the second aspect, or the second implementation manner of the second aspect, in the third implementation manner of the second aspect, the information about the first computing capability includes Any one or more of the CPU core frequency, memory capacity, network bandwidth information, and programming language operating environment information.
  • the target calculation unit is:
  • the distance includes a physical distance, a network distance, or a weight distance.
  • the first cloud is a first central cloud
  • the second cloud is a first front cloud
  • the third cloud is a second front cloud
  • the first cloud is a first front cloud
  • the second cloud is a first central cloud
  • the third cloud is a second central cloud
  • the first cloud is a first front-end cloud
  • the second cloud is a second front-end cloud
  • the third cloud is a third front-end cloud.
  • the scheduler first determines a computing unit having the computing capability required by the first application from the second cloud and the third cloud, and then determines the target computing unit from the determined computing unit, and The first application is deployed to the target computing unit if the computing unit is installed with a runtime, and a suitable cloud is determined in the network including the plurality of clouds to deploy the first application.
  • FIG. 1 is a schematic diagram of a network according to an embodiment of the present invention.
  • FIG. 2 is a schematic diagram of a method for deploying an application according to an embodiment of the present invention
  • FIG. 3a is a schematic diagram of a network according to an embodiment of the present invention
  • FIG. 2 is a schematic diagram of a method for deploying an application according to an embodiment of the present invention
  • FIG. 3a is a schematic diagram of a network according to an embodiment of the present invention
  • FIG. 3a is a schematic diagram of a network according to an embodiment of the present invention
  • FIG. 3b is a schematic diagram of a network according to an embodiment of the present invention.
  • 3c is a schematic diagram of a network according to an embodiment of the present invention.
  • FIG. 3d is a schematic diagram of a network according to an embodiment of the present invention.
  • FIG. 4 is a schematic diagram of a method for deploying an application according to an embodiment of the present invention.
  • FIG. 5 is a schematic diagram of a network including a scheduler and an ALTO server according to an embodiment of the present invention
  • FIG. 6 is a schematic diagram of a network including a scheduler and an ALTO server according to an embodiment of the present invention
  • FIG. 7 is a schematic diagram of a method for deploying an application according to an embodiment of the present invention
  • FIG. 8 is a schematic diagram of a method for deploying an application according to an embodiment of the present invention.
  • FIG. 9 is a schematic diagram of a scheduler according to an embodiment of the present invention.
  • FIG. 10 is a schematic diagram of a scheduler according to an embodiment of the present invention. detailed description
  • One embodiment of the present invention discloses a method of deploying an application that is applied to a network including a central cloud and a front-end cloud.
  • FIG. 1 is a schematic diagram of a network including a central cloud and a front-end cloud
  • FIG. 1 shows three clouds, namely a first cloud, a second cloud, and a third cloud, each of which includes a respective cloud controller and computing. unit.
  • clouds may also be included in the network as shown in FIG.
  • a method of deploying an application includes the following. 110.
  • the scheduler receives an application deployment request for the first application sent by the cloud controller of the first cloud. After receiving the application deployment request, the scheduler sends a first query message to the cloud controller of the second cloud, where the first query message includes information about the computing capability required by the first application.
  • the first query message is used to query identifier information of a computing unit having the computing capability in the second cloud.
  • the computing power required by the first application is a first computing power.
  • the information about the first computing capability includes any one or more of a CPU core frequency, a memory capacity, network bandwidth information, and programming language operating environment information.
  • the scheduler After receiving the application deployment request, the scheduler sends a second query message to the cloud controller of the third cloud, where the second query message includes information about the first computing capability, where the The second query message is used to query the identification information of the computing unit having the first computing capability in the third cloud.
  • 120 and 1 30 are independent of each other, 120 can be executed before 1 30, or after 1 30, and can be executed simultaneously with 1 30.
  • the scheduler determines a target computing unit from at least one computing unit having the first computing capability that is queried by using the first query message and the second query message.
  • the computing unit having the first computing capability queried by the first query message and the second query message may be only one, that is, one cloud in the second cloud and the third cloud includes only one One of the computing units having the first computing capability, and the other cloud does not include the computing unit having the first computing capability.
  • the second cloud and the third cloud may also respectively include a computing unit having the first computing capability, so that the computing unit with the first computing capability queried by the scheduler may also be more than one.
  • the queried computing unit having the first computing capability is only one, then the only computing unit is the target computing unit.
  • the target computing unit is: the one or more computing units having the first computing capability to the requesting location
  • the distance includes a physical distance, a network distance, or a weight distance.
  • the target computing unit may also be the first computing capability of the scheduler from the query.
  • the calculation unit randomly selected by the calculation unit.
  • the physical distance refers to the distance between two physical devices determined according to the physical location of each of the two physical devices.
  • the physical location may be latitude and longitude coordinates.
  • the network distance refers to the number of forwarding hops between two physical devices or the transmission time of one message between two physical devices.
  • the weight distance is the product of the physical distance and the weight coefficient, or the product of the network distance and the weight coefficient.
  • the scheduler deploys the first application to the target computing unit after determining that the target computing unit is installed with the running library required by the first application.
  • the method specifically includes: sending, by the scheduler, a runtime query message to a cloud controller corresponding to the target computing unit, and querying whether the target computing unit is installed with a running library required by the first application.
  • the scheduler deploys the first application to the target computing unit.
  • the scheduler deploys the first application to the target computing unit.
  • the dispatcher deploying the first application to the target computing unit may be understood as the scheduler itself deploying the first application to the target computing unit, and may also be understood as the scheduler to other devices. Control or management is performed by deploying the first application to the target computing unit by other devices.
  • the runtime library includes ra i I s or an event machine or other runtime library.
  • the scheduler implements management of the first cloud, the second cloud, and the third cloud through 110-150.
  • the scheduler may not belong to or be independent of the first cloud, the second cloud, and the third cloud, or may be integrated into the cloud controller of the first cloud, the second cloud, or the third cloud.
  • a cloud of hearts can be called a central cloud
  • a cloud between a central cloud and users can be called a front-end cloud.
  • the first cloud, the second cloud, and the third cloud in this embodiment may each have their respective roles.
  • the first cloud is a first front cloud
  • the second cloud is a first front cloud
  • the third cloud is a second front cloud
  • the first cloud is a first front cloud
  • the second cloud is the first central cloud
  • the third cloud is the second central cloud
  • the first cloud is the first front-end cloud
  • the second cloud is the second front-end cloud
  • the third cloud is The third front-end cloud.
  • the first cloud is the first central cloud
  • the second cloud is the first front-end cloud
  • the third cloud is the second front-end cloud
  • a brief network diagram is shown in FIG. 3a;
  • FIG. 3a When the network shown in FIG. 3a further includes a third front-end cloud, the network diagram is FIG. 3b; when the first cloud is the first front-end cloud, and the second cloud is the first central cloud, the Three clouds are the second central cloud, and a brief network diagram is shown in Figure 3c;
  • the first cloud is the first front-end cloud
  • the second cloud is the second front-end cloud
  • the third cloud is the third front-end cloud
  • the scheduler first determines a computing unit having the computing capability required by the first application from the second cloud and the third cloud, and then determines the target computing unit from the determined computing unit, and The first application in the first cloud is deployed to the target computing unit if the computing unit is installed with the runtime, and a suitable cloud is determined in the network including the plurality of clouds to deploy the first application.
  • the embodiment shown in Figure 4 discloses a method of deploying an application that can be applied to the network as shown in Figure 3b.
  • the method is used to deploy the first application in the front-end cloud to the front-end cloud, and specifically includes the following content.
  • the cloud controller of the first central cloud CC1 sends a first request to the scheduler, requesting to deploy the first application in the front-end cloud.
  • the first request includes information of computing power required by the first application, and the computing power required for the first application may be referred to herein as a first computing capability.
  • the first computing capability information includes: CPU frequency, memory capacity, network bandwidth, and programming language Any one or more of the operating environment.
  • the information of the first computing capability of the embodiment includes: the CPU clocked at 1.0 GHz, the memory capacity is 512 MB, the network bandwidth is 100 Mbps, and the programming language running environment is Rubyl. 9.
  • the scheduler sends a query message to the cloud controller EC1, the cloud controller EC2, and the cloud controller EC3, that is, sends a first query message to the cloud controller EC1, and sends a second query message to the cloud controller EC2, and A third query message is sent to the cloud controller EC 3.
  • the cloud controller EC1, the cloud controller EC2, and the cloud controller EC 3 are a cloud controller of the first front-end cloud, a cloud controller of the second front-end cloud, and a cloud controller of the third front-end cloud, respectively.
  • the first front end cloud includes a computing unit EN1
  • the second front end cloud includes a computing unit EN2
  • the third front end cloud includes a computing unit EN3. 220 can also be understood as three operations without prioritization.
  • the first query message, the second query message, and the third query message each include information of the first computing capability.
  • the first query message is used to query the identification information of the computing unit having the first computing capability in the first front-end cloud.
  • the second query message is used to query the identifier information of the computing unit having the first computing capability in the second front-end cloud.
  • the third query message is used to query the identification information of the computing unit having the first computing capability in the third front-end cloud.
  • the scheduler receives the first response message, the second response message, and the third response message sent by the cloud controller EC1, the cloud controller EC2, and the cloud controller EC3, respectively.
  • the first response message sent by the cloud controller EC1 includes the identification information of the computing unit having the first computing capability selected by the cloud controller EC1 of the first front-end cloud in the first front-end cloud.
  • the computing unit having the first computing capability selected by the cloud controller EC1 of the first front-end cloud in the first front-end cloud is EN1.
  • the first response message further includes computing capability information of the computing unit selected by the cloud controller EC1.
  • the first front-end cloud may include multiple computing units having a first computing capability
  • the cloud controller EC1 of the first front-end cloud may have information of a computing unit that has some or all of the first computing capabilities. Sent to the scheduler. Therefore, the number of computing units having the first computing capability selected by the cloud controller EC1 of the first front-end cloud in the first front-end cloud may be one or more than one.
  • the second response message sent by the cloud controller EC2 includes the second front end in the second front end cloud
  • the computing unit having the first computing capability selected by the cloud controller EC1 of the first front-end cloud in the first front-end cloud is EN1.
  • the first response message further includes computing capability information of the computing unit selected by the cloud controller EC2.
  • the third response message sent by the cloud controller EC 3 includes information indicating that the third front-end cloud does not include a computing unit having the first computing capability.
  • the cloud controller EC 3 may not send the third response message.
  • the scheduler does not receive the third response message within a predetermined time, it may determine that the third front-end cloud does not include the first A computing unit of computing power.
  • the scheduler determines the target computing unit according to the first response message, the second response message, and the third response message.
  • the user terminal requesting the first application is the user terminal a.
  • the target computing unit determined in this embodiment is the computing unit ENL in the first front-end cloud.
  • the scheduler may also be based on the first response message, the second response message, and further according to the predetermined The third response message is not received within the time to determine the target computing unit.
  • the target computing unit is a computing unit that has the shortest distance from the user terminal a among the at least one computing unit with the computing capability that is queried by the scheduler.
  • the target computing unit is the computing unit EN1 and The calculation unit of the unit EN2 having the shortest distance to the user terminal a is calculated.
  • the distance includes a physical distance, a network distance, or a weight distance.
  • the physical distance can be determined by the following method.
  • the calculation unit corresponding to the shorter physical distance is determined as the target calculation unit.
  • the latitude and longitude coordinates of the cloud controller EC1 may be used.
  • the latitude and longitude coordinates of the calculation unit EN1 are replaced, and the latitude and longitude coordinates of the calculation unit EN2 are replaced with the latitude and longitude coordinates of the cloud controller EC2.
  • the calculation results obtained in this way are slightly less accurate, but they are acceptable in most cases.
  • the network distance can be optimized through application layer traffic (English full name App 1 i cit on-Laye r Traff ic Opt imizat ion, English abbreviation ALTO), general network protocol (English full name Genera l Network Protocol, English abbreviation It is implemented by various technologies such as GNP) or Internet Distance Mapping Service (English name is Internet Di s tance Map Service, abbreviated as IDMaps).
  • ALTO application layer traffic
  • general network protocol English full name Genera l Network Protocol, English abbreviation It is implemented by various technologies such as GNP
  • Internet Distance Mapping Service English name is Internet Di s tance Map Service, abbreviated as IDMaps.
  • the scheduler includes the ALTO client.
  • the ALTO client and the ALTO server outside the scheduler interact through the ALT0 protocol.
  • the scheduler obtains the IP address of the user terminal a, the IP address and cloud identifier of the first front-end cloud, and the IP address and cloud identifier of the second front-end cloud.
  • the ALT0 client in the scheduler sends the IP address of the user terminal a, the IP address of the first front-end cloud, and the IP address of the second front-end cloud to the ALT0 server, requesting the ALT0 server to determine the network distance from the first front-end cloud to the user terminal a. And the network distance from the second front-end cloud to the user terminal a.
  • the ALT0 server sends the determined network distance from the first front-end cloud to the user terminal a and the network distance from the second front-end cloud to the user terminal a to the ALTO client.
  • the distance from the front-end cloud to the user terminal is approximately equal to the distance from the computing unit to the user terminal in the front-end cloud. Therefore, the network distance from the first front-end cloud to the user terminal a is used to indicate the network distance from the computing unit EN1 to the user terminal a, and the network distance from the second front-end cloud to the user terminal a is used to represent the computing unit EN2 to the user terminal a. Network distance.
  • the weight distance refers to the product of the physical distance and the weight coefficient, or the product of the network distance and the weight coefficient.
  • the policy cloud controller configures a weighting factor k for each of the front-end clouds.
  • the weighting factor configured for the first front-end cloud is kl
  • kl is valid for each computing unit in the first front-end cloud
  • the weight configured for the second front-end cloud is therefore k2
  • k2 is for each of the second front-end clouds Calculation list Yuan is effective.
  • the scheduler After determining that the weight ALTO server sends the determined network distance from the computing unit EN1 to the user terminal a and the network distance from the computing unit EN2 to the user terminal a to the ALTO client, the scheduler will calculate the network distance from the unit EN1 to the user terminal a. Multiplying kl to obtain the weight distance of the calculation unit EN1 to the user terminal a. The scheduler multiplies the network distance of the calculation unit EN2 to the user terminal a by k2 to obtain the weight distance of the calculation unit EN2 to the user terminal a.
  • Step 250 The scheduler sends a fourth query message to the cloud controller 1 of the front-end cloud corresponding to the target computing unit, and queries whether the target computing unit installs the running library required by the first application.
  • Step 260 The scheduler receives the fourth response message sent by the cloud controller 1.
  • step 270-290 is performed.
  • the response message indicates that the computing unit EN1 is installed with the runtime required by the first application, and step 290 is performed.
  • Step 270 The scheduler sends a notification message to the computing unit EN1, and notifies the computing unit EN1 to install the runtime library required by the first application.
  • Step 280 The scheduler receives an installation success message sent by the computing unit EN1.
  • Step 290 The scheduler deploys the first application to the computing unit EN1.
  • the scheduler may download the first application from the first central cloud after determining the target computing unit.
  • the first application may not be downloaded from the first central cloud by the scheduler, but is sent by the first central cloud to the scheduler, for example, the cloud controller in the first central cloud sends the scheduler to the scheduler.
  • the first application carries the first application.
  • the embodiment shown in Figure 7 discloses a method of deploying an application that can be applied to the network as shown in Figure 3c.
  • the method is used to deploy a first application in a front-end cloud to a central cloud, where the network includes a first front-end cloud, the cloud controller EC1 is a cloud controller of the first front-end cloud, and the network further includes a first The central cloud and the second central cloud, the cloud controller CC1 is the cloud controller of the first central cloud, and the cloud controller CC2 is the cloud controller of the second central cloud.
  • the method specifically includes the following.
  • the controller EC1 sends a first request to the scheduler, where the first application in the first front-end cloud is used. Deploy to a central cloud.
  • the first request includes information of computing power required by the first application, and the computing power required for the first application may be referred to herein as a first computing capability.
  • the scheduler sends a first query message and a second query message to the controller CC1 and the controller CC2, respectively.
  • 320 can also be understood as two operations without prioritization.
  • the first query message and the second query message both include the information of the first computing capability, where the first query message is used to query the identifier information of the computing unit having the computing capability in the first central cloud, and the second query message is used to Querying identification information of the computing unit having the computing capability in the second central cloud.
  • the scheduler receives the first response message and the second response message sent by the cloud controller CC1 and the cloud controller CC2, respectively.
  • the first response message sent by the cloud controller CC1 includes identification information of the computing unit having the first computing capability selected by the cloud controller CC1 in the first central cloud.
  • the first response message further includes computing capability information of the computing unit selected by the cloud controller CC1.
  • the second response message sent by the cloud controller CC2 includes identification information of the computing unit having the first computing capability selected by the cloud controller CC2 in the second central cloud.
  • the second response message further includes computing capability information of the computing unit selected by the cloud controller CC2.
  • the scheduler determines the target computing unit according to the first response message and the second response message.
  • the user terminal that requests the first application is the user terminal a.
  • the target computing unit determined in this embodiment is the computing unit CN1 in the first central cloud.
  • the target computing unit is a computing unit that has the shortest distance from the user terminal a among the at least one computing unit with the computing capability that is queried by the scheduler.
  • the target computing unit is the computing unit CN1 and The calculation unit in the unit CN2 that has the shortest distance to the user terminal a.
  • the distance from the calculation unit CN1 to the user terminal a is the shortest.
  • the distance includes a physical distance, a network distance, or a weight distance.
  • the scheduler sends a third to the cloud controller corresponding to the target computing unit, that is, the cloud controller CC1. Querying the message, querying whether the target computing unit has the runtime library required by the first application.
  • the scheduler receives the third response message sent by the cloud controller 2, when the third response message indicates that the computing unit CN1 does not have the runtime library required by the first application, performing 370-390, when the third response message Indicates that the computing unit CN1 is installed with the runtime library required by the first application, and executes 390.
  • the scheduler sends a notification message to the computing unit CN1, and notifies the computing unit CN1 to install the runtime library required by the first application.
  • Step 380 The scheduler receives an installation success message sent by the computing unit CN1.
  • Step 390 The scheduler deploys the first application to the computing unit CN1.
  • the embodiment shown in Figure 8 discloses a method of deploying an application that can be applied to the network as shown in Figure 3d. The method is used to deploy a first application in a front-end cloud to another front-end cloud, where the network includes a first front-end cloud, a second front-end cloud, and a third front-end cloud, where the cloud controllers of the three front-end clouds respectively It is the cloud controller EC1, cloud controller EC2 and cloud controller EC3.
  • the method specifically includes the following.
  • the controller EC1 sends a first request to the scheduler, where the first application in the first front-end cloud is deployed to another front-end cloud.
  • the first request includes information of computing power required by the first application, and the computing power required for the first application may be referred to herein as a first computing capability.
  • the scheduler sends a first query message and a second query message to the controller EC2 and the controller EC3, respectively.
  • 320 can also be understood as two operations without prioritization.
  • the first query message and the second query message each include information of the first computing capability, where the first query message is used to query identification information of the computing unit having the computing capability in the second front-end cloud, and the second query message is used to query Querying identification information of the computing unit having the computing capability in the third front-end cloud.
  • Step 430 The scheduler receives the first response message and the second response message sent by the cloud controller EC2 and the cloud controller EC3, respectively.
  • the first response message sent by the cloud controller EC2 includes identification information of the computing unit having the first computing capability selected by the cloud controller EC2 in the second front-end cloud.
  • the second ring The response message also includes computing capability information of the computing unit selected by the cloud controller EC2.
  • the second response message sent by the cloud controller EC3 includes identification information of the computing unit having the first computing capability selected by the cloud controller EC3 in the third front-end cloud.
  • the third response message further includes computing capability information of the computing unit selected by the cloud controller EC3.
  • the scheduler determines the target calculation unit according to the first response message and the second response message.
  • the user terminal that requests the first application is the user terminal a.
  • the target calculation unit determined in this embodiment is the calculation unit EN2 in the second front-end cloud.
  • the target computing unit is a computing unit that has the shortest distance from the user terminal a among the at least one computing unit with the computing capability that is queried by the scheduler.
  • the target computing unit is the computing unit EN2 and The calculation unit of the shortest distance to the user terminal a in the unit EN3 is calculated.
  • the distance from the calculation unit EN2 to the user terminal a is the shortest.
  • the distance includes a physical distance, a network distance, or a weight distance.
  • the scheduler sends a third query message to the cloud controller corresponding to the target computing unit, that is, the cloud controller EC2, and queries whether the target computing unit installs the running library required by the first application.
  • the scheduler receives a third response message sent by the cloud controller EC2.
  • the third response message indicates that the computing unit EN2 does not have the running library required by the first application, performing 470-490, when the third response message is received.
  • the scheduler sends a notification message to the computing unit EN2, and notifies the computing unit EN2 to install the runtime library required for the first application.
  • the scheduler receives an installation success message sent by the computing unit EN2.
  • FIG. 9 shows a scheduler 60 in an embodiment of the present invention for managing a first cloud, a second cloud, and a third cloud.
  • the scheduler includes a receiving unit 61, a first transmitting unit 62, a second transmitting unit 63, a determining unit 64, and a deploying unit 65.
  • the receiving unit 61 is configured to receive an application deployment request for the first application sent by the cloud controller of the first cloud.
  • the first sending unit 62 After receiving the application deployment request, the first sending unit 62 sends a first query message to the cloud controller of the second cloud, where the first query message includes the computing capability required by the first application.
  • the first query message is used to query the identifier information of the computing unit having the computing capability in the second cloud.
  • the computing power required by the first application is a first computing power.
  • the information about the first computing capability includes any one or more of a CPU core frequency, a memory capacity, network bandwidth information, and programming language operating environment information.
  • the second sending unit 63 After receiving the application deployment request, the second sending unit 63 sends a second query message to the cloud controller of the third cloud, where the second query message includes information about the first computing capability, The second query message is used to query the identification information of the computing unit having the first computing capability in the third cloud.
  • first sending unit 62 and the second sending unit 63 are independent of each other, and the operations performed by the first sending unit 62 may be performed before the operation performed by the second sending unit 63, or may be in the second transmitting unit 63. After the operation performed, it is also possible to perform simultaneously with the operation performed at the second transmitting unit 63.
  • the determining unit 64 is configured to determine the target computing unit from the at least one computing unit having the first computing capability queried by the first query message and the second query message.
  • the computing unit having the first computing capability queried by the first query message and the second query message may be only one, or may be more than one.
  • the queried computing unit having the first computing capability is only one, then the only computing unit is the target computing unit.
  • the target computing unit is: the one or more computing units having the first computing capability to the requesting location
  • the distance includes a physical distance, a network distance, or a weight distance.
  • the target computing unit may also be the first computing capability of the scheduler from the query. The calculation unit randomly selected by the calculation unit.
  • the physical distance refers to the distance between two physical devices determined according to the physical location of each of the two physical devices.
  • the physical location may be latitude and longitude coordinates.
  • the network distance refers to the number of forwarding hops between two physical devices or the transmission time of one message between two physical devices.
  • the weight distance is the product of the physical distance and the weight coefficient, or the product of the network distance and the weight coefficient.
  • the deployment unit 65 is configured to deploy the first application to the target computing unit after the determining unit 64 determines that the target computing unit is installed with the runtime required by the first application.
  • the deployment unit 65 is specifically configured to: send a runtime query message to the cloud controller corresponding to the target computing unit, and query whether the target computing unit is installed with the runtime required by the first application.
  • the deployment unit 65 deploys the first application into the target computing unit.
  • the deployment unit 65 deploying the first application to the target computing unit may be understood as the deployment unit 65 itself deploying the first application to the target computing unit, and may also be understood as the deployment unit 65.
  • the other device is controlled or managed, and the first application is deployed to the target computing unit by other devices.
  • a cloud at a network center may be referred to as a central cloud
  • a cloud between a central cloud and users may be referred to as a front-end cloud.
  • the first cloud, the second cloud, and the third cloud in this embodiment may each have their respective roles.
  • the first cloud is a first central cloud
  • the second cloud is a first front cloud
  • the third cloud a second front-end cloud
  • the first cloud is a first front-end cloud
  • the second cloud is a first central cloud
  • the third cloud is a second central cloud
  • the first cloud is a first cloud A front-end cloud
  • the second cloud is a second front-end cloud
  • the third cloud is a third front-end cloud.
  • the scheduler first determines a computing unit having the computing capability required by the first application from the second cloud and the third cloud, and then determines the target computing unit from the determined computing unit, and The first application in the first cloud is deployed to the target computing unit if the computing unit is installed with the runtime, and a suitable cloud is determined in the network including the plurality of clouds to deploy the first application.
  • FIG. 10 shows a scheduler 70 in an embodiment of the present invention for managing a first cloud, a second cloud, and a third cloud.
  • the scheduler 70 includes an input / output circuit (I / O ci rcui t) 701, a processor (proces sor) 70 2 and a memory (memory) 703, a memory 703 stores therein the processor 702 may be performed Program or instruction
  • the input/output circuit 701 is configured to receive an application deployment request for the first application sent by the cloud controller of the first cloud; after receiving the application deployment request, the input/output circuit 701 is further configured to send the cloud to the second cloud.
  • the controller sends the first query message and the second query message.
  • the first query message includes information about the computing capability required by the first application, and the first query message is used to query the identifier information of the computing unit having the computing capability in the second cloud, the first application.
  • the computing power required is the first computing power.
  • the second query message includes information about the first computing capability, and the second query message is used to query identifier information of a computing unit having the first computing capability in the third cloud.
  • the information about the first computing capability includes any one or more of a CPU core frequency, a memory capacity, network bandwidth information, and programming language operating environment information.
  • the above-described operations performed by the input/output circuit 701 may be performed under the control of the processor 702, or may be performed by the input/output circuit 701 under the control of other control circuits, for example, inside the input/output circuit 701. The control circuit is done underneath.
  • the processor 702 that reads the program or instruction determines a target computing form from at least one computing unit having the first computing capability queried by the first query message and the second query message Yuan.
  • the computing unit having the first computing capability queried by the first query message and the second query message may be only one, or may be more than one.
  • the queried computing unit having the first computing capability is only one, then the only computing unit is the target computing unit.
  • the target computing unit is: the one or more computing units having the first computing capability to the requesting location
  • the distance includes a physical distance, a network distance, or a weight distance.
  • the target computing unit may also be the first computing capability of the scheduler from the query.
  • the calculation unit randomly selected by the calculation unit.
  • the physical distance refers to the distance between two physical devices determined according to the physical location of each of the two physical devices.
  • the physical location may be latitude and longitude coordinates.
  • the network distance refers to the number of forwarding hops between two physical devices or the transmission time of one message between two physical devices.
  • the weight distance is the product of the physical distance and the weight coefficient, or the product of the network distance and the weight coefficient.
  • the processor 702 deploys the first application to the target computing unit via the input/output circuit 701.
  • the processor 702 sends a runtime query message to the cloud controller corresponding to the target computing unit through the input/output circuit 701, and queries whether the target computing unit is installed with the runtime library required by the first application.
  • the processor 702 cooperates with the input/output circuit 701 in accordance with the program or instruction, and executes each of the embodiments corresponding to FIGS. 2, 4, 7, 8, and 9. The full operation of the scheduler.
  • the scheduler first determines a computing unit having the computing capability required by the first application from the second cloud and the third cloud, and then determines the target computing unit from the determined computing unit, and The first application in the first cloud is deployed to the target computing unit if the computing unit is installed with the runtime, and a suitable cloud is determined in the network including the plurality of clouds to deploy the first application.
  • a person skilled in the art can understand that all or part of the steps of implementing the above method embodiments may be completed by using hardware related to program instructions, and the foregoing program may be stored in a computer readable storage medium, and the program is executed when executed.
  • the foregoing storage medium includes: a medium that can store program codes, such as a ROM, a RAM, a magnetic disk, or an optical disk.
  • a medium that can store program codes such as a ROM, a RAM, a magnetic disk, or an optical disk.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明实施例涉及一种部署应用的方法和调度器,所述方法包括:调度器接收第一云的云控制器发送的针对第一应用的应用部署请求;所述调度器在收到所述应用部署请求后,向第二云的云控制器发送第一查询消息和第二查询消息;所述调度器从通过所述第一查询消息和第二查询消息查询到的具有所述第一计算能力的至少一个计算单元中确定目标计算单元;所述调度器将所述第一应用部署至所述目标计算单元中。在本发明的实施例中,调度器先从第二云和第三中确定具有第一应用所需的计算能力的计算单元,然后再从确定的计算单元中确定目标计算单元,并将第一应用部署至所述目标计算单元,在包括多个云的网络中确定出一个合适的云来部署所述第一应用。

Description

一种部署应用的方法和调度器
技术领域
本发明涉及通信领域, 尤其涉及一种部署应用的方法和调度器。 背景技术
近年来, 随着互联网的快速发展, 云计算业务也随之蓬勃发展起来。 但是 通常来说, 云计算服务器与用户终端之间的距离较远, 网络时延较大, 造成某 些业务的体验较差。 为此有人提出了分层云计算的概念, 即把部分云计算推到 离用户更近的边缘, 减小网络时延, 增加用户体验。 在新的云计算网络中包括 中心云和前端云。 中心云与传统的云计算服务器类似, 往往包括大型的数据中 心, 优选部署在核心城市; 前端云包括中小型的数据中心, 优选部署在中小型 城市。
釆用中心云加前端云的架构可以提升用户体验, 但由于网络中出现了多个 云, 如何为应用选择部署该应用的合适的云就成为了一个急需解决的问题。 发明内容
本发明实施例的一个目的为提供一种部署应用的方法和调度器,用于在包括 多个云的网络中选择一个合适的云来部署第一应用。
第一方面, 一种部署应用的方法, 包括:
调度器接收第一云的云控制器发送的针对第一应用的应用部署请求; 所述调度器在收到所述应用部署请求后, 向第二云的云控制器发送第一查 询消息, 所述第一查询消息包括所述第一应用所需的计算能力的信息, 所述第 一查询消息用于查询第二云中具有所述计算能力的计算单元的标识信息, 所述 第一应用所需的计算能力为第一计算能力;
所述调度器在收到所述应用部署请求后, 向第三云的云控制器发送第二查 询消息, 所述第二查询消息包括所述第一计算能力的信息, 所述第二查询消息 用于查询第三云中具有所述第一计算能力的计算单元的标识信息;
所述调度器从通过所述第一查询消息和第二查询消息查询到的具有所述第 一计算能力的至少一个计算单元中确定目标计算单元;
所述调度器在确定所述目标计算单元安装有所述第一应用所需的运行库 后, 将所述第一应用部署至所述目标计算单元中, 所述调度器用于管理所述第 一云、 第二云和第三云0
可选地, 根据第一方面, 在第一方面的第一种实施方式中, 所述调度器在 确定所述目标计算单元安装有所述第一应用所需的运行库后, 将所述第一应用 部署至所述目标计算单元中包括:
所述调度器向所述目标计算单元对应的云控制器发送运行库查询消息, 查 询所述目标计算单元是否安装有所述第一应用所需的运行库;
当确定所述目标计算单元没有安装有所述运行库后, 通知所述目标计算单 元安装所述运行库;
在所述目标计算单元完成所述运行库的安装后, 所述调度器将所述第一应 用部署至所述目标计算单元中。
可选地, 根据第一方面, 在第一方面的第二种实施方式中, 所述调度器在 确定所述目标计算单元安装有所述第一应用所需的运行库后, 将所述第一应用 部署至所述目标计算单元中包括:
所述调度器向所述目标计算单元对应的云控制器发送运行库查询消息, 查 询所述目标计算单元是否安装有所述第一应用所需的运行库;
当确定所述目标计算单元安装有所述运行库后, 将所述第一应用部署至所 述目标计算单元中。
可选地, 根据第一方面、 第一方面的第一种实施方式或第一方面的第二种 实施方式, 在第一方面的第三种实施方式中, 所述第一计算能力的信息包括中 央处理器 CPU主频、 内存容量、 网络带宽信息和编程语言运行环境信息中的任 意一个或多个。
可选地, 根据第一方面至第一方面的第三种实施方式中的任意一个, 在第 一方面的第四种实施方式中, 当所述至少一个计算单元为一个以上计算单元时, 所述目标计算单元为:
所述具有所述第一计算能力的一个以上计算单元中到请求所述第一应用的 用户终端的距离最短的计算单元。
可选地, 根据第一方面的第四种实施方式, 在第一方面的第五种实施方式 中, 所述距离包括物理距离、 网络距离或权重距离。
可选地, 根据第一方面至第一方面的第五种实施方式中的任意一个, 在第 一方面的第六种实施方式中,
所述第一云为第一中心云, 所述第二云为第一前端云, 所述第三云为第二 前端云;
或,
所述第一云为第一前端云, 所述第二云为第一中心云, 所述第三云为第二 中心云;
或,
所述第一云为第一前端云, 所述第二云为第二前端云, 所述第三云为第三 前端云。
第二方面, 一种调度器, 用于管理第一云、 第二云和第三云, 所述调度器 包括:
接收单元, 用于接收第一云的云控制器发送的针对第一应用的应用部署请 求;
第一发送单元, 用于在所述接收单元收到所述应用部署请求后, 向第二云 的云控制器发送第一查询消息, 所述第一查询消息包括所述第一应用所需的计 算能力的信息, 所述第一查询消息用于查询第二云中具有所述计算能力的计算 单元的标识信息, 所述第一应用所需的计算能力为第一计算能力; 第二发送单元, 用于在所述接收单元收到所述应用部署请求后, 向第三云 的云控制器发送第二查询消息, 所述第二查询消息包括所述第一计算能力的信 息, 所述第二查询消息用于查询第三云中具有所述第一计算能力的计算单元的 标识信息;
确定单元, 用于从通过所述第一查询消息和第二查询消息查询到的具有所 述第一计算能力的至少一个计算单元中确定目标计算单元;
部署单元, 用于在确定所述目标计算单元安装有所述第一应用所需的运行 库后, 将所述第一应用部署至所述目标计算单元中。
可选地, 根据第二方面, 在第二方面的第一种实施方式中, 所述部署单元 具体用于:
向所述目标计算单元对应的云控制器发送运行库查询消息, 查询所述目标 计算单元是否安装有所述第一应用所需的运行库;
当确定所述目标计算单元没有安装有所述运行库后, 通知所述目标计算单 元安装所述运行库;
在所述目标计算单元完成所述运行库的安装后, 将所述第一应用部署至所 述目标计算单元中。
可选地, 根据第二方面, 在第二方面的第二种实施方式中, 所述部署单元 具体用于:
向所述目标计算单元对应的云控制器发送运行库查询消息, 查询所述目标 计算单元是否安装有所述第一应用所需的运行库;
当确定所述目标计算单元安装有所述运行库后, 将所述第一应用部署至所 述目标计算单元中。
可选地, 根据第二方面、 第二方面的第一种实施方式或第二方面的第二种 实施方式, 在第二方面的第三种实施方式中, 所述第一计算能力的信息包括中 央处理器 CPU主频、 内存容量、 网络带宽信息和编程语言运行环境信息中的任 意一个或多个。 可选地, 根据第二方面至第二方面的第三种实施方式中的任意一个, 在第 二方面的第四种实施方式中, 当所述至少一个计算单元为一个以上计算单元时, 所述目标计算单元为:
所述具有所述第一计算能力的一个以上计算单元中到请求所述第一应用的 用户终端的距离最短的计算单元。
可选地, 根据第二方面的第四种实施方式, 在第二方面的第五种实施方式 中, 所述距离包括物理距离、 网络距离或权重距离。
可选地, 根据第二方面至第二方面的第五种实施方式中的任意一个, 在第 二方面的第六种实施方式中,
所述第一云为第一中心云, 所述第二云为第一前端云, 所述第三云为第二 前端云;
或,
所述第一云为第一前端云, 所述第二云为第一中心云, 所述第三云为第二 中心云;
或,
所述第一云为第一前端云, 所述第二云为第二前端云, 所述第三云为第三 前端云。 在本发明的实施例中, 调度器先从第二云和第三云中确定具有第一应用所 需的计算能力的计算单元, 然后再从确定的计算单元中确定目标计算单元, 并 在目标计算单元安装有运行库的情况下将第一应用部署至所述目标计算单元, 在包括多个云的网络中确定出一个合适的云来部署所述第一应用。 附图说明
图 1为本发明实施例的网络示意图;
图 2为本发明实施例的部署应用的方法的示意图; 图 3a为本发明实施例的网络示意图;
图 3b为本发明实施例的网络示意图;
图 3c为本发明实施例的网络示意图;
图 3d为本发明实施例的网络示意图;
图 4为本发明实施例的部署应用的方法的示意图;
图 5为本发明实施例中包括调度器与 ALTO服务器的网络的示意图; 图 6为本发明实施例中包括调度器与 ALTO服务器的网络的示意图; 图 7为本发明实施例的部署应用的方法的示意图;
图 8为本发明实施例的部署应用的方法的示意图;
图 9为本发明实施例的调度器的示意图;
图 10为本发明实施例的调度器的示意图。 具体实施方式
下面结合附图和具体实施例对本发明展开详细说明。 但需要注意, 下面的 这些实施例, 仅为帮助理解技术方案所举的例子, 并不用于限定本发明。
本发明的一个实施例公开了一种部署应用的方法, 这种方法应用于包括中 心云和前端云的网络中。
图 1为一个包括中心云和前端云的网络的示意图, 图 1示出了三个云, 分 别为第一云、 第二云和第三云, 每个云分别包括各自的云控制器和计算单元。 如图 1所示的网络中还可以包括一个或多个其他的云。 基于图 1所示的网络, 如图 2所示, 一种部署应用的方法包括以下内容。 110、 调度器接收第一云的云控制器发送的针对第一应用的应用部署请求。 120、 所述调度器在收到所述应用部署请求后, 向第二云的云控制器发送第 一查询消息, 所述第一查询消息包括所述第一应用所需的计算能力的信息, 所 述第一查询消息用于查询第二云中具有所述计算能力的计算单元的标识信息。 所述第一应用所需的计算能力为第一计算能力。
可选地, 所述第一计算能力的信息包括中央处理器 CPU主频、 内存容量、 网络带宽信息和编程语言运行环境信息中的任意一个或多个。
1 30、 所述调度器在收到所述应用部署请求后, 向第三云的云控制器发送第 二查询消息, 所述第二查询消息包括所述第一计算能力的信息, 所述第二查询 消息用于查询第三云中具有所述第一计算能力的计算单元的标识信息。
需要指出的是, 120和 1 30是相互独立的, 120可以在 1 30之前执行, 也可 以在 1 30之后执行, 还可以与 1 30同时执行。
140、 所述调度器从通过所述第一查询消息和第二查询消息查询到的具有所 述第一计算能力的至少一个计算单元中确定目标计算单元。
所述通过所述第一查询消息和第二查询消息查询到的具有所述第一计算能 力的计算单元可能仅是一个, 也就是说, 第二云和第三云中的一个云包括了唯 一的一个具有所述第一计算能力的计算单元, 另一个云不包括具有所述第一计 算能力的计算单元。
当然, 第二云和第三云也可能分别包括具有所述第一计算能力的计算单元, 因此所述调度器查询到的具有所述第一计算能力的计算单元也可能是一个以 上。
可选地, 当所述查询到的具有所述第一计算能力的计算单元仅是一个时, 那么这唯一的计算单元就是所述目标计算单元。
可选地, 当所述查询到的具有所述第一计算能力的计算单元是一个以上时, 所述目标计算单元为: 所述具有所述第一计算能力的一个以上计算单元中到请 求所述第一应用的用户终端的距离最短的计算单元。 可选地, 所述距离包括物 理距离、 网络距离或权重距离。
可选地, 当所述查询到的具有所述第一计算能力的计算单元是一个以上时, 所述目标计算单元也可以是所述调度器从所述查询到的具有所述第一计算能力 的计算单元随机选取的计算单元。 物理距离是指根据两个物理设备各自的物理位置而确定的两个物理设备之 间的距离。 举例来说, 所述物理位置可以是经纬度坐标。
网络距离是指两个物理设备之间的转发跳数或者一个报文在两个物理设备 之间的传输时间。
权重距离是指物理距离与权重系数的乘积, 或, 网络距离与权重系数的乘 积。
150、 所述调度器在确定所述目标计算单元安装有所述第一应用所需的运 行库后, 将所述第一应用部署至所述目标计算单元中。
可选地, 150具体包括: 所述调度器向所述目标计算单元对应的云控制器发 送运行库查询消息, 查询所述目标计算单元是否安装有所述第一应用所需的运 行库。
可选地, 当确定所述目标计算单元没有安装有所述运行库后, 通知所述目 标计算单元安装所述运行库;
在所述目标计算单元完成所述运行库的安装后, 所述调度器将所述第一应 用部署至所述目标计算单元中。
可选地, 当确定所述目标计算单元安装有所述运行库后, 所述调度器将所 述第一应用部署至所述目标计算单元中。
所述调度器将所述第一应用部署至所述目标计算单元中可以被理解为所 述调度器本身将第一应用部署至所述目标计算单元, 也可以理解为所述调度器 对其他设备进行控制或管理, 由以其他设备将所述第一应用部署至所述目标计 算单元。
可选地 , 所述运行库包括 ra i I s或时间机 ( eventmachine )或其他运行库。 在本实施例中, 所述调度器通过 110-150 , 实现了对所述第一云、 第二云 和第三云的管理。 另外, 调度器可以不属于或独立于所述第一云、 第二云和第 三云, 也可以集成在述第一云、 第二云或第三云的云控制器中。
此外, 在包括云的网络中, 不同的云可以有不同的角色, 例如处于网络中 心的云可以被称为中心云, 处于中心云和用户之间的云可以被称为前端云。 本 实施例中的第一云、 第二云和第三云可以分别有其各自的角色。
例如, 所述第一云为第一中心云, 所述第二云为第一前端云, 所述第三云 为第二前端云; 或者, 所述第一云为第一前端云, 所述第二云为第一中心云, 所述第三云为第二中心云; 或者, 所述第一云为第一前端云, 所述第二云为第 二前端云, 所述第三云为第三前端云。
当所述第一云为第一中心云, 所述第二云为第一前端云, 所述第三云为第 二前端云, 一个简要的网络示意图为图 3a ;
当如图 3a所示的网络中还包括第三前端云时, 其网络示意图为图 3b; 当所述第一云为第一前端云, 所述第二云为第一中心云, 所述第三云为第 二中心云, 一个简要的网络示意图为图 3c ;
当所述第一云为第一前端云, 所述第二云为第二前端云, 所述第三云为第 三前端云时, 一个简要的网络示意图为图 3d。
由本实施例中的内容可知, 调度器先从第二云和第三云中确定具有第一应 用所需的计算能力的计算单元, 然后再从确定的计算单元中确定目标计算单 元, 并在目标计算单元安装有运行库的情况下将第一云中的第一应用部署至所 述目标计算单元, 在包括多个云的网络中确定出一个合适的云来部署所述第一 应用。
如图 4所示的实施例公开了一种部署应用的方法, 可应用于如图 3b所示的 网络中。 该方法用于将前端云中的第一应用部署至前端云中, 具体包括以下内 容。
21 0、 第一中心云的云控制器 CC1向调度器发送第一请求, 请求在前端云中 部署第一应用。
所述第一请求包括第一应用所需的计算能力的信息, 在此, 可以将第一应 用所需的计算能力称为第一计算能力。
所述第一计算能力的信息包括: CPU主频、 内存容量、 网络带宽和编程语 言运行环境中的任意一个或多个。 在本实施例的一个第一计算能力的信息的具 体示例中, 第一能力的信息包括: CPU主频为 1. 0GHz , 内存容量为 512MB , 网络 带宽为 1 00Mbps , 编程语言运行环境为 Rubyl . 9。
220、 调度器向分别向云控制器 EC1、 云控制器 EC2和云控制器 EC 3发送查询 消息,即向云控制器 EC1发送第一查询消息,向云控制器 EC2发送第二查询消息, 并向云控制器 EC 3发送第三查询消息。 云控制器 EC1、 云控制器 EC2和云控制器 EC 3分别为第一前端云的云控制器、 第二前端云的云控制器和第三前端云的云 控制器。 第一前端云包括计算单元 EN1 , 第二前端云包括计算单元 EN2 , 第三前 端云包括计算单元 EN3。 220也可以被理解为无先后顺序的三个操作。
所述第一查询消息、 所述第二查询消息和所述第三查询消息均包括所述第 一计算能力的信息。 第一查询消息用于查询所述第一前端云中具有所述第一计 算能力的计算单元的标识信息。 所述第二查询消息用于查询所述第二前端云中 具有所述第一计算能力的计算单元的标识信息。 所述第三查询消息用于查询所 述第三前端云中具有所述第一计算能力的计算单元的标识信息。
230、 调度器接收云控制器 EC1、 云控制器 EC2和云控制器 EC 3分别发送的第 一响应消息、 第二响应消息和第三响应消息。
云控制器 EC1发送的第一响应消息包括所述第一前端云中被所述第一前端 云的云控制器 EC1选定的、 具有所述第一计算能力的计算单元的标识信息。 在 本实施例中, 所述第一前端云中被第一前端云的云控制器 EC1选定的、 具有第 一计算能力的计算单元是 EN1。 可选地, 所述第一响应消息还包括所述被云控 制器 EC1选定的计算单元的计算能力信息。
可选地, 所述第一前端云中可能包括多个具有第一计算能力的计算单元, 第一前端云的云控制器 EC1可以将其中的部分或全部具有第一计算能力的计算 单元的信息发送给调度器。 因此, 所述第一前端云中被第一前端云的云控制器 EC1选定的、 具有第一计算能力的计算单元可以是一个, 也可以是一个以上。
云控制器 EC2发送的第二响应消息包括所述第二前端云中被所述第二前端 云的云控制器 EC2选定的、 具有所述第一计算能力的计算单元的标识信息。 在 本实施例中, 所述第一前端云中被第一前端云的云控制器 EC1选定的、 具有第 一计算能力的计算单元是 EN1。 可选地, 所述第一响应消息还包括所述被云控 制器 EC2选定的计算单元的计算能力信息。
所述云控制器 EC 3发送的第三响应消息包括用于表明所述第三前端云中不 包括具有所述第一计算能力的计算单元的信息。 可选地, 云控制器 EC 3也可以 不发送第三响应消息, 当调度器在预定的时间内没有收到第三响应消息时, 会 确定所述第三前端云中不包括具有所述第一计算能力的计算单元的信息。
240、 调度器根据所述第一响应消息、 所述第二响应消息和所述第三响应消 息确定所述目标计算单元。 在本实施例中, 请求所述第一应用的用户终端为用 户终端 a。在本实施例中确定出的所述目标计算单元为第一前端云中的计算单元 ENL 可选地, 调度器也可以根据所述第一响应消息、 所述第二响应消息并且进 一步根据在预定的时间内没有收到第三响应消息来确定所述目标计算单元。
可选地, 所述目标计算单元为调度器查询到的具有所述计算能力的至少一 个计算单元中到所述用户终端 a 的距离最短的计算单元。 例如, 当调度器查询 到的具有所述计算能力的至少一个计算单元包括第一前端云中的计算单元 EN1 和第二前端云中的计算单元 EN2 ,则所述目标计算单元就是计算单元 EN1和计算 单元 EN2中到所述用户终端 a的距离最短的计算单元。
所述距离包括物理距离、 网络距离或权重距离。
所述物理距离可以通过以下方法确定。
分别获取计算单元 EN1、 计算单元 EN2和用户终端 a的经纬度坐标; 分别计算计算单元 EN1到用户终端 a的物理距离和计算单元 EN2到用户终 端 a的物理距离;
比较上述两个物理距离, 将较短的物理距离对应的计算单元确定为目标计 算单元。
可选地, 在计算上述两个物理距离时, 可以用云控制器 EC1 的经纬度坐标 替换计算单元 ENl 的经纬度坐标, 用云控制器 EC2的经纬度坐标替换计算单元 EN2的经纬度坐标。 这样得到的计算结果虽然精度略差,但是在大多数情况下还 是可以接受的。
所述网络距离的可以通过应用层流量优化(英文全称为 App 1 i ca t i on-Laye r Traff ic Opt imizat ion,英文缩写为 ALTO )、通用网络协议(英文全称为 Genera l Network Protocol , 英文缩写为 GNP ) 或互联网距离映射服务 (英文全称为 Internet Di s tance Map Service,英文缩写为 IDMaps )等多种技术实现, 本实 施例以 ALTO为例并结合图 5进行说明。
如图 5所示, 调度器包括 ALTO客户端。 ALTO客户端和调度器外部的 ALTO 服务器通过 ALT0协议进行交互。
调度器获取用户终端 a的 IP地址、 第一前端云的 IP地址和云标识以及第 二前端云的 IP地址和云标识。
调度器中的 ALT0客户端将用户终端 a的 IP地址、 第一前端云的 IP地址和 第二前端云的 IP地址发送给 ALT0服务器, 请求 ALT0服务器确定第一前端云到 用户终端 a的网络距离和第二前端云到用户终端 a的网络距离。
ALT0服务器将确定出的第一前端云到用户终端 a的网络距离和第二前端云 到用户终端 a的网络距离发送给 ALTO客户端。
在包括多个前端云的网络中, 前端云到用户终端的距离约等于前端云中的 计算单元到用户终端的距离。 因此, 所述第一前端云到用户终端 a 的网络距离 用于表示计算单元 EN1到用户终端 a的网络距离, 第二前端云到用户终端 a的 网络距离用于表示计算单元 EN2到用户终端 a的网络距离。
所述权重距离是指物理距离与权重系数的乘积, 或, 网络距离与权重系数 的乘积。
在如图 6所示的网络中,策略云控制器为多个前端云分别配置了权重因子 k。 例如, 为第一前端云配置的权重因子为 kl , kl对第一前端云中的每个计算单元 都有效; 为第二前端云配置的权重因此为 k2 , k2对第二前端云中的每个计算单 元都有效。
当确定权重 ALTO服务器将确定出的计算单元 EN1到用户终端 a的网络距离 和计算单元 EN2到用户终端 a的网络距离发送给 ALTO客户端后, 调度器将计算 单元 EN1到用户终端 a的网络距离乘以 kl , 得到计算单元 EN1到用户终端 a的 权重距离, 调度器将计算单元 EN2到用户终端 a的网络距离乘以 k2 , 得到计算 单元 EN2到用户终端 a的权重距离。
步骤 250、调度器向目标计算单元对应的前端云的云控制器,即云控制器 1 , 发送第四查询消息, 查询目标计算单元是否安装有所述第一应用所需的运行库。
步骤 260、调度器接收云控制器 1发送的第四响应消息, 当第四响应消息表 明计算单元 EN1未安装有所述第一应用所需的运行库, 则执行步骤 270-290 , 当 第四响应消息表明计算单元 EN1 安装有所述第一应用所需的运行库, 则执行步 骤 290。
步骤 270、调度器向计算单元 EN1发送通知消息, 通知计算单元 EN1安装述 第一应用所需的运行库。
步骤 280、 调度器接收到计算单元 EN1发送的安装成功消息。
步骤 290、 调度器将第一应用部署至计算单元 EN1。
调度器可以在确定目标计算单元后, 从第一中心云下载所述第一应用。 此 外, 所述第一应用也可以不是由调度器从第一中心云下载的, 而是由第一中心 云主动向调度器发送的, 例如, 在第一中心云的云控制器向调度器发送的第一 请求中携带所述第一应用。
如图 7所示的实施例公开了一种部署应用的方法, 可应用于如图 3c所示的 网络中。 该方法用于将一个前端云中的第一应用部署至一个中心云中, 所述网 络包括第一前端云, 云控制器 EC1为第一前端云的云控制器, 所述网络还包括 第一中心云和第二中心云, 云控制器 CC1为第一中心云的云控制器, 云控制器 CC2为第二中心云的云控制器。 所述方法具体包括以下内容。
310、 控制器 EC1向调度器发送第一请求, 用于将第一前端云中的第一应用 部署至一个中心云中。
所述第一请求包括第一应用所需的计算能力的信息, 在此, 可以将第一应 用所需的计算能力称为第一计算能力。
320、 调度器分别向控制器 CC1和控制器 CC2发送第一查询消息和第二查询 消息。 320也可以被理解为无先后顺序的两个操作。
第一查询消息和第二查询消息均包括所述第一计算能力的信息, 第一查询 消息用于查询第一中心云中具有所述计算能力的计算单元的标识信息, 第二查 询消息用于查询第二中心云中具有所述计算能力的计算单元的标识信息。
330、 调度器分别接收云控制器 CC1和云控制器 CC2发送的第一响应消息和 第二响应消息。
云控制器 CC1发送的第一响应消息包括所述第一中心云中被云控制器 CC1 选定的、 具有所述第一计算能力的计算单元的标识信息。 可选地, 所述第一响 应消息还包括所述被云控制器 CC1选定的计算单元的计算能力信息。
云控制器 CC2发送的第二响应消息包括所述第二中心云中被云控制器 CC2 选定的、 具有所述第一计算能力的计算单元的标识信息。 可选地, 所述第二响 应消息还包括所述被云控制器 CC2选定的计算单元的计算能力信息。
340、 调度器根据第一响应消息和第二响应消息确定目标计算单元。 在本 实施例中, 请求所述第一应用的用户终端为用户终端 a。 在本实施例中确定出 的所述目标计算单元为第一中心云中的计算单元 CN1。
可选地, 所述目标计算单元为调度器查询到的具有所述计算能力的至少一 个计算单元中到所述用户终端 a 的距离最短的计算单元。 例如, 当调度器查询 到的具有所述计算能力的至少一个计算单元包括第一中心云中的计算单元 CN1 和第二中心云中的计算单元 CN2 ,则所述目标计算单元就是计算单元 CN1和计算 单元 CN2中到所述用户终端 a的距离最短的计算单元。本实施例中计算单元 CN1 到所述用户终端 a的距离最短。 所述距离包括物理距离、 网络距离或权重距离。
350、 调度器向目标计算单元对应的云控制器, 即云控制器 CC1 , 发送第三 查询消息, 查询目标计算单元是否安装有所述第一应用所需的运行库。
360、 调度器接收云控制器 2发送的第三响应消息, 当第三响应消息表明计 算单元 CN1未安装有所述第一应用所需的运行库, 则执行 370-390, 当第三响应 消息表明计算单元 CN1安装有所述第一应用所需的运行库, 则执行 390。
370、 调度器向计算单元 CN1发送通知消息, 通知计算单元 CN1安装述第一 应用所需的运行库。
步骤 380、 调度器接收到计算单元 CN1发送的安装成功消息。
步骤 390、 调度器将第一应用部署至计算单元 CN1。 如图 8所示的实施例公开了一种部署应用的方法, 可应用于如图 3d所示的 网络中。 该方法用于将一个前端云中的第一应用部署至另一个前端云中, 所述 网络包括第一前端云、 第二前端云和第三前端云, 这三个前端云的云控制器分 别为云控制器 EC1、云控制器 EC2和云控制器 EC3。所述方法具体包括以下内容。
410、 控制器 EC1向调度器发送第一请求, 用于将第一前端云中的第一应用 部署至另一个前端云中。
所述第一请求包括第一应用所需的计算能力的信息, 在此, 可以将第一应 用所需的计算能力称为第一计算能力。
420、 调度器分别向控制器 EC2和控制器 EC3发送第一查询消息和第二查询 消息。 320也可以被理解为无先后顺序的两个操作。
第一查询消息和第二查询消息均包括所述第一计算能力的信息, 第一查询 消息用于查询第二前端云中具有所述计算能力的计算单元的标识信息, 第二查 询消息用于查询第三前端云中具有所述计算能力的计算单元的标识信息。
步骤 430、 调度器分别接收云控制器 EC2和云控制器 EC3发送的第一响应消 息和第二响应消息。
云控制器 EC2发送的第一响应消息包括所述第二前端云中被云控制器 EC2 选定的、 具有所述第一计算能力的计算单元的标识信息。 可选地, 所述第二响 应消息还包括所述被云控制器 EC2选定的计算单元的计算能力信息。 云控制器 EC3发送的第二响应消息包括所述第三前端云中被云控制器 EC3 选定的、 具有所述第一计算能力的计算单元的标识信息。 可选地, 所述第三响 应消息还包括所述被云控制器 EC3选定的计算单元的计算能力信息。
440、 调度器根据所述第一响应消息、 所述第二响应消息确定所述目标计 算单元。 在本实施例中, 请求所述第一应用的用户终端为用户终端 a。 在本实 施例中确定出的所述目标计算单元为第二前端云中的计算单元 EN2。
可选地, 所述目标计算单元为调度器查询到的具有所述计算能力的至少一 个计算单元中到所述用户终端 a 的距离最短的计算单元。 例如, 当调度器查询 到的具有所述计算能力的至少一个计算单元包括第二前端云中的计算单元 EN2 和第三前端云中的计算单元 EN3 ,则所述目标计算单元就是计算单元 EN2和计算 单元 EN3中到所述用户终端 a的距离最短的计算单元。本实施例中计算单元 EN2 到所述用户终端 a的距离最短。 所述距离包括物理距离、 网络距离或权重距离。
450、 调度器向目标计算单元对应的云控制器, 即云控制器 EC2 , 发送第三 查询消息, 查询目标计算单元是否安装有所述第一应用所需的运行库。
460、 调度器接收云控制器 EC2发送的第三响应消息, 当第三响应消息表明 计算单元 EN2未安装有所述第一应用所需的运行库, 则执行 470-490 , 当第三响 应消息表明计算单元 EN2安装有所述第一应用所需的运行库, 则执行 490。
470、 调度器向计算单元 EN2发送通知消息, 通知计算单元 EN2安装述第一 应用所需的运行库。
480、 调度器接收到计算单元 EN2发送的安装成功消息。
490、 调度器将第一应用部署至计算单元 EN2。 图 9所示为本发明的一个实施例中的调度器 60, 用于管理第一云、 第二云 和第三云。 如图 9所示, 所述调度器包括接收单元 61、 第一发送单元 62、 第二 发送单元 63、 确定单元 64和部署单元 65。 接收单元 61用于接收第一云的云控制器发送的针对第一应用的应用部署请 求。
第一发送单元 62在接收单元 61收到所述应用部署请求后, 向第二云的云 控制器发送第一查询消息, 所述第一查询消息包括所述第一应用所需的计算能 力的信息, 所述第一查询消息用于查询第二云中具有所述计算能力的计算单元 的标识信息。 所述第一应用所需的计算能力为第一计算能力。
可选地, 所述第一计算能力的信息包括中央处理器 CPU主频、 内存容量、 网络带宽信息和编程语言运行环境信息中的任意一个或多个。
第二发送单元 63在接收单元 61收到所述应用部署请求后, 向第三云的云 控制器发送第二查询消息, 所述第二查询消息包括所述第一计算能力的信息, 所述第二查询消息用于查询第三云中具有所述第一计算能力的计算单元的标识 信息。
需要指出的是, 第一发送单元 62和第二发送单元 63是相互独立的, 第一 发送单元 62执行的操作可以在第二发送单元 63执行的操作之前, 也可以在在 第二发送单元 63执行的操作之后, 还可以与在第二发送单元 63执行的操作同 时执行。
确定单元 64用于从通过所述第一查询消息和第二查询消息查询到的具有所 述第一计算能力的至少一个计算单元中确定目标计算单元。
所述通过所述第一查询消息和第二查询消息查询到的具有所述第一计算能 力的计算单元可能仅是一个, 也可能是一个以上。
可选地, 当所述查询到的具有所述第一计算能力的计算单元仅是一个时, 那么这唯一的计算单元就是所述目标计算单元。
可选地, 当所述查询到的具有所述第一计算能力的计算单元是一个以上时, 所述目标计算单元为: 所述具有所述第一计算能力的一个以上计算单元中到请 求所述第一应用的用户终端的距离最短的计算单元。 可选地, 所述距离包括物 理距离、 网络距离或权重距离。 可选地, 当所述查询到的具有所述第一计算能力的计算单元是一个以上时, 所述目标计算单元也可以是所述调度器从所述查询到的具有所述第一计算能力 的计算单元随机选取的计算单元。
物理距离是指根据两个物理设备各自的物理位置而确定的两个物理设备之 间的距离。 举例来说, 所述物理位置可以是经纬度坐标。
网络距离是指两个物理设备之间的转发跳数或者一个报文在两个物理设备 之间的传输时间。
权重距离是指物理距离与权重系数的乘积, 或, 网络距离与权重系数的乘 积。
部署单元 65用于在确定单元 64确定所述目标计算单元安装有所述第一应 用所需的运行库后, 将所述第一应用部署至所述目标计算单元中。
可选地, 部署单元 65具体用于: 向所述目标计算单元对应的云控制器发送 运行库查询消息, 查询所述目标计算单元是否安装有所述第一应用所需的运行 库。 可选地, 当确定所述目标计算单元没有安装有所述运行库后, 通知所述目 标计算单元安装所述运行库; 在所述目标计算单元完成所述运行库的安装后, 将所述第一应用部署至所述目标计算单元中。 可选地, 当确定所述目标计算单 元安装有所述运行库后, 所述部署单元 65将所述第一应用部署至所述目标计算 单元中。
所述部署单元 65将所述第一应用部署至所述目标计算单元中可以被理解 为所述部署单元 65本身将第一应用部署至所述目标计算单元, 也可以理解为所 述部署单元 65对其他设备进行控制或管理, 由以其他设备将所述第一应用部署 至所述目标计算单元。
此外, 在包括云的网络中, 不同的云可以有不同的角色, 例如处于网络中 心的云可以被称为中心云, 处于中心云和用户之间的云可以被称为前端云。 本 实施例中的第一云、 第二云和第三云可以分别有其各自的角色。
例如, 所述第一云为第一中心云, 所述第二云为第一前端云, 所述第三云 为第二前端云; 或者, 所述第一云为第一前端云, 所述第二云为第一中心云, 所述第三云为第二中心云; 或者, 所述第一云为第一前端云, 所述第二云为第 二前端云, 所述第三云为第三前端云。
由本实施例中的内容可知, 调度器先从第二云和第三云中确定具有第一应 用所需的计算能力的计算单元, 然后再从确定的计算单元中确定目标计算单元, 并在目标计算单元安装有运行库的情况下将第一云中的第一应用部署至所述目 标计算单元, 在包括多个云的网络中确定出一个合适的云来部署所述第一应用。 图 10所示为本发明的一个实施例中的调度器 70 , 用于管理第一云、 第二云 和第三云。 所述调度器 70包括输入 /输出电路 ( I/O c i rcui t ) 701、 处理器 ( proces sor ) 702和存储器(memory ) 703 , 存储器 703中存储有可被处理器 702 执行的程序或指令
输入 /输出电路 701用于接收第一云的云控制器发送的针对第一应用的应用 部署请求; 在收到所述应用部署请求后, 输入 /输出电路 701还用于向第二云的 云控制器发送第一查询消息和第二查询消息。 所述第一查询消息包括所述第一 应用所需的计算能力的信息, 所述第一查询消息用于查询第二云中具有所述计 算能力的计算单元的标识信息, 所述第一应用所需的计算能力为第一计算能力。 所述第二查询消息包括所述第一计算能力的信息, 所述第二查询消息用于查询 第三云中具有所述第一计算能力的计算单元的标识信息。
可选地, 所述第一计算能力的信息包括中央处理器 CPU主频、 内存容量、 网络带宽信息和编程语言运行环境信息中的任意一个或多个。
输入 /输出电路 701执行的上述操作可以是在处理器 702的控制下完成的, 也 可以是由输入 /输出电路 701在其他的控制电路的控制下完成的, 例如是在输入 / 输出电路 701内部的控制电路下完成的。
读取了所述程序或指令的处理器 702从通过所述第一查询消息和第二查询 消息查询到的具有所述第一计算能力的至少一个计算单元中确定目标计算单 元。
所述通过所述第一查询消息和第二查询消息查询到的具有所述第一计算能 力的计算单元可能仅是一个, 也可能是一个以上。
可选地, 当所述查询到的具有所述第一计算能力的计算单元仅是一个时, 那么这唯一的计算单元就是所述目标计算单元。
可选地, 当所述查询到的具有所述第一计算能力的计算单元是一个以上时, 所述目标计算单元为: 所述具有所述第一计算能力的一个以上计算单元中到请 求所述第一应用的用户终端的距离最短的计算单元。 可选地, 所述距离包括物 理距离、 网络距离或权重距离。
可选地, 当所述查询到的具有所述第一计算能力的计算单元是一个以上时, 所述目标计算单元也可以是所述调度器从所述查询到的具有所述第一计算能力 的计算单元随机选取的计算单元。
物理距离是指根据两个物理设备各自的物理位置而确定的两个物理设备之 间的距离。 举例来说, 所述物理位置可以是经纬度坐标。
网络距离是指两个物理设备之间的转发跳数或者一个报文在两个物理设备 之间的传输时间。
权重距离是指物理距离与权重系数的乘积, 或, 网络距离与权重系数的乘 积。
在确定目标计算单元安装有所述第一应用所需的运行库后之后, 处理器 702 通过输入 /输出电路 701 , 将所述第一应用部署至所述目标计算单元中。
具体地, 处理器 702通过输入 /输出电路 701向所述目标计算单元对应的云控 制器发送运行库查询消息, 查询所述目标计算单元是否安装有所述第一应用所 需的运行库。 可选地, 当确定所述目标计算单元没有安装有所述运行库后, 通 知所述目标计算单元安装所述运行库; 在所述目标计算单元完成所述运行库的 安装后, 将所述第一应用部署至所述目标计算单元中。 可选地, 当确定所述目 标计算单元安装有所述运行库后, 将所述第一应用部署至所述目标计算单元中。 在调度器 70中, 处理器 702根据所述程序或指令, 与输入 /输出电路 701相配 合, 执行了与图 2、 图 4、 图 7、 图 8和图 9所对应的每个实施例中的调度器的全部 操作。
由本实施例中的内容可知, 调度器先从第二云和第三云中确定具有第一应 用所需的计算能力的计算单元, 然后再从确定的计算单元中确定目标计算单 元, 并在目标计算单元安装有运行库的情况下将第一云中的第一应用部署至所 述目标计算单元, 在包括多个云的网络中确定出一个合适的云来部署所述第一 应用。 本领域普通技术人员可以理解: 实现上述方法实施例的全部或部分步骤可 以通过程序指令相关的硬件来完成, 前述的程序可以存储于一计算机可读取存 储介质中, 该程序在执行时, 执行包括上述方法实施例的步骤; 而前述的存储 介质包括: R0M、 RAM, 磁碟或者光盘等各种可以存储程序代码的介质。 以上所述, 仅为本发明较佳的具体实施方式, 但本发明的保护范围并不局 限于此, 任何熟悉该技术的人在本发明所揭露的技术范围内, 可轻易想到的变 化或替换, 都应涵盖在本发明的保护范围之内。

Claims

权 利 要 求 书
1、 一种部署应用的方法, 其特征在于, 包括:
调度器接收第一云的云控制器发送的针对第一应用的应用部署请求; 所述调度器在收到所述应用部署请求后, 向第二云的云控制器发送第一查 询消息, 所述第一查询消息包括所述第一应用所需的计算能力的信息, 所述第 一查询消息用于查询所述第二云中具有所述计算能力的计算单元的标识信息, 所述第一应用所需的计算能力为第一计算能力;
所述调度器在收到所述应用部署请求后, 向第三云的云控制器发送第二查 询消息, 所述第二查询消息包括所述第一计算能力的信息, 所述第二查询消息 用于查询所述第三云中具有所述第一计算能力的计算单元的标识信息;
所述调度器从通过所述第一查询消息和第二查询消息查询到的具有所述 第一计算能力的至少一个计算单元中确定目标计算单元;
所述调度器在确定所述目标计算单元安装有所述第一应用所需的运行库 后, 将所述第一应用部署至所述目标计算单元中, 所述调度器用于管理所述第 一云、 所述第二云和所述第三云。
2、 根据权利要求 1 所述的方法, 其特征在于, 所述调度器在确定所述目 标计算单元安装有所述第一应用所需的运行库后,将所述第一应用部署至所述 目标计算单元中包括:
所述调度器向所述目标计算单元对应的云控制器发送运行库查询消息, 查 询所述目标计算单元是否安装有所述第一应用所需的运行库;
当确定所述目标计算单元没有安装有所述运行库后,通知所述目标计算单 元安装所述运行库;
在所述目标计算单元完成所述运行库的安装后, 所述调度器将所述第一应 用部署至所述目标计算单元中。
3、 根据权利要求 1 所述的方法, 其特征在于, 所述调度器在确定所述目 标计算单元安装有所述第一应用所需的运行库后,将所述第一应用部署至所述 目标计算单元中包括:
所述调度器向所述目标计算单元对应的云控制器发送运行库查询消息, 查 询所述目标计算单元是否安装有所述第一应用所需的运行库;
当确定所述目标计算单元安装有所述运行库后, 将所述第一应用部署至所 述目标计算单元中。
4、 根据权利要求 1、 2或 3所述的方法, 其特征在于, 所述第一计算能力 的信息包括中央处理器 CPU主频、 内存容量、 网络带宽信息和编程语言运行环 境信息中的任意一个或多个。
5、 根据权利要求 1至 4中任一项所述的方法, 其特征在于, 当所述至少 一个计算单元为一个以上计算单元时, 所述目标计算单元为:
所述具有所述第一计算能力的一个以上计算单元中到请求所述第一应用 的用户终端的距离最短的计算单元。
6、 根据权利要求 5所述的方法, 其特征在于, 所述距离包括物理距离、 网络距离或权重距离。
7、 根据权利要求 1至 6中的任一项所述的方法, 其特征在于,
所述第一云为第一中心云, 所述第二云为第一前端云, 所述第三云为第二 前端云;
或,
所述第一云为第一前端云, 所述第二云为第一中心云, 所述第三云为第二 中心云;
或,
所述第一云为第一前端云, 所述第二云为第二前端云, 所述第三云为第三 前端云。
8、 一种调度器, 其特征在于, 用于管理第一云、 第二云和第三云, 所述 调度器包括: 接收单元, 用于接收所述第一云的云控制器发送的针对第一应用的应用部 署请求;
第一发送单元, 用于在所述接收单元收到所述应用部署请求后, 向所述第 二云的云控制器发送第一查询消息, 所述第一查询消息包括所述第一应用所需 的计算能力的信息, 所述第一查询消息用于查询所述第二云中具有所述计算能 力的计算单元的标识信息, 所述第一应用所需的计算能力为第一计算能力; 第二发送单元, 用于在所述接收单元收到所述应用部署请求后, 向所述第 三云的云控制器发送第二查询消息, 所述第二查询消息包括所述第一计算能力 的信息, 所述第二查询消息用于查询所述第三云中具有所述第一计算能力的计 算单元的标识信息;
确定单元, 用于从通过所述第一查询消息和第二查询消息查询到的具有所 述第一计算能力的至少一个计算单元中确定目标计算单元;
部署单元, 用于在确定所述目标计算单元安装有所述第一应用所需的运行 库后, 将所述第一应用部署至所述目标计算单元中。
9、 根据权利要求 8所述的调度器, 其特征在于, 所述部署单元具体用于: 向所述目标计算单元对应的云控制器发送运行库查询消息, 查询所述目标 计算单元是否安装有所述第一应用所需的运行库;
当确定所述目标计算单元没有安装有所述运行库后,通知所述目标计算单 元安装所述运行库;
在所述目标计算单元完成所述运行库的安装后, 将所述第一应用部署至所 述目标计算单元中。
10、根据权利要求 8所述的调度器,其特征在于,所述部署单元具体用于: 向所述目标计算单元对应的云控制器发送运行库查询消息, 查询所述目标 计算单元是否安装有所述第一应用所需的运行库;
当确定所述目标计算单元安装有所述运行库后, 将所述第一应用部署至所 述目标计算单元中„
11、 根据权利要求 8、 9或 10所述的调度器, 其特征在于, 所述第一计算 能力的信息包括中央处理器 CPU主频、 内存容量、 网络带宽信息和编程语言运 行环境信息中的任意一个或多个。
12、 根据权利要求 8至 11 中任一项所述的调度器, 其特征在于, 当所述 至少一个计算单元为一个以上计算单元时, 所述目标计算单元为:
所述具有所述第一计算能力的一个以上计算单元中到请求所述第一应用 的用户终端的距离最短的计算单元。
1 3、 根据权利要求 12所述的调度器, 其特征在于, 所述距离包括物理距 离、 网络距离或权重距离。
14、 根据权利要求 8至 1 3中的任一项所述的调度器, 其特征在于, 所述第一云为第一中心云, 所述第二云为第一前端云, 所述第三云为第二 前端云;
或,
所述第一云为第一前端云, 所述第二云为第一中心云, 所述第三云为第二 中心云;
或,
所述第一云为第一前端云, 所述第二云为第二前端云, 所述第三云为第三 前端云。
PCT/CN2013/090201 2012-12-31 2013-12-23 一种部署应用的方法和调度器 WO2014101727A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP13868356.0A EP2930909B1 (en) 2012-12-31 2013-12-23 Method and scheduler for arranging applications
US14/755,259 US9747090B2 (en) 2012-12-31 2015-06-30 Application deployment method and scheduler

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201210592212.4 2012-12-31
CN201210592212.4A CN103916417B (zh) 2012-12-31 2012-12-31 一种部署应用的方法和调度器

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US14/755,259 Continuation US9747090B2 (en) 2012-12-31 2015-06-30 Application deployment method and scheduler

Publications (1)

Publication Number Publication Date
WO2014101727A1 true WO2014101727A1 (zh) 2014-07-03

Family

ID=51019878

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2013/090201 WO2014101727A1 (zh) 2012-12-31 2013-12-23 一种部署应用的方法和调度器

Country Status (4)

Country Link
US (1) US9747090B2 (zh)
EP (1) EP2930909B1 (zh)
CN (1) CN103916417B (zh)
WO (1) WO2014101727A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220294851A1 (en) * 2021-03-12 2022-09-15 Agarik Sas Control interface for the deployment of an application, system and method using such a control interface

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9965261B2 (en) * 2015-08-18 2018-05-08 International Business Machines Corporation Dependency-based container deployment
CN105610944B (zh) * 2015-12-29 2019-03-05 北京物联远信息技术有限公司 一种面向物联网的雾计算架构
CN110389817B (zh) * 2018-04-20 2023-05-23 伊姆西Ip控股有限责任公司 多云***的调度方法、装置和计算机可读介质
US11108655B2 (en) 2018-07-06 2021-08-31 International Business Machines Corporation Automated application deployment in a managed services domain
US10817157B2 (en) 2018-12-20 2020-10-27 Nutanix, Inc. User interface for database management services
US11010336B2 (en) 2018-12-27 2021-05-18 Nutanix, Inc. System and method for provisioning databases in a hyperconverged infrastructure system
US11816066B2 (en) 2018-12-27 2023-11-14 Nutanix, Inc. System and method for protecting databases in a hyperconverged infrastructure system
US11936640B2 (en) * 2020-07-28 2024-03-19 VMware LLC Method of distributing client certificates to machines with shared cloud account access
US11604705B2 (en) 2020-08-14 2023-03-14 Nutanix, Inc. System and method for cloning as SQL server AG databases in a hyperconverged system
US11907167B2 (en) 2020-08-28 2024-02-20 Nutanix, Inc. Multi-cluster database management services
US11640340B2 (en) 2020-10-20 2023-05-02 Nutanix, Inc. System and method for backing up highly available source databases in a hyperconverged system
US11604806B2 (en) 2020-12-28 2023-03-14 Nutanix, Inc. System and method for highly available database service
US11892918B2 (en) 2021-03-22 2024-02-06 Nutanix, Inc. System and method for availability group database patching
CN115714774A (zh) * 2021-08-18 2023-02-24 维沃移动通信有限公司 算力请求、算力分配、算力执行方法、终端及网络侧设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102281329A (zh) * 2011-08-02 2011-12-14 北京邮电大学 一种PaaS云平台的资源调度方法和***
US20120072579A1 (en) * 2010-09-17 2012-03-22 Microsoft Corporation Monitoring cloud-runtime operations
CN102427481A (zh) * 2012-01-12 2012-04-25 易云捷讯科技(北京)有限公司 用于对云计算服务进行管理的***及云计算管理方法
CN102739798A (zh) * 2012-07-05 2012-10-17 成都国腾实业集团有限公司 具有网络感知功能的云平台资源调度方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8171470B2 (en) * 2006-08-29 2012-05-01 Adobe Systems Incorporated Software installation and support
US9037692B2 (en) * 2008-11-26 2015-05-19 Red Hat, Inc. Multiple cloud marketplace aggregation
US8250135B2 (en) * 2010-07-09 2012-08-21 Sap Ag Brokered cloud computing architecture
CN101951411A (zh) * 2010-10-13 2011-01-19 戴元顺 云调度***及方法以及多级云调度***
CN101977242A (zh) * 2010-11-16 2011-02-16 西安电子科技大学 一种分层分布式云计算体系结构及服务提供方法
US10678602B2 (en) * 2011-02-09 2020-06-09 Cisco Technology, Inc. Apparatus, systems and methods for dynamic adaptive metrics based application deployment on distributed infrastructures
CN102111337B (zh) * 2011-03-14 2013-05-15 浪潮(北京)电子信息产业有限公司 任务调度方法和***
WO2012149718A1 (zh) * 2011-08-31 2012-11-08 华为技术有限公司 云计算***中云终端访问云服务器的方法及云计算***

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120072579A1 (en) * 2010-09-17 2012-03-22 Microsoft Corporation Monitoring cloud-runtime operations
CN102281329A (zh) * 2011-08-02 2011-12-14 北京邮电大学 一种PaaS云平台的资源调度方法和***
CN102427481A (zh) * 2012-01-12 2012-04-25 易云捷讯科技(北京)有限公司 用于对云计算服务进行管理的***及云计算管理方法
CN102739798A (zh) * 2012-07-05 2012-10-17 成都国腾实业集团有限公司 具有网络感知功能的云平台资源调度方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP2930909A4 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220294851A1 (en) * 2021-03-12 2022-09-15 Agarik Sas Control interface for the deployment of an application, system and method using such a control interface
US11785085B2 (en) * 2021-03-12 2023-10-10 Agarik Sas Control interface for the deployment of an application, system and method using such a control interface

Also Published As

Publication number Publication date
EP2930909A1 (en) 2015-10-14
US20150301814A1 (en) 2015-10-22
EP2930909A4 (en) 2015-12-09
CN103916417A (zh) 2014-07-09
CN103916417B (zh) 2017-09-05
EP2930909B1 (en) 2017-09-20
US9747090B2 (en) 2017-08-29

Similar Documents

Publication Publication Date Title
WO2014101727A1 (zh) 一种部署应用的方法和调度器
US11272036B2 (en) API hybrid multi-tenant routing method and system, and API gateway
WO2016015582A1 (zh) 传输报文的方法、装置和***
US20130254261A1 (en) System and Method of Managing Servers for Streaming Desktop Applications
KR20210030073A (ko) 엣지 컴퓨팅 서비스를 위한 방법 및 장치
CN104754003B (zh) 传输数据的方法及***
WO2019042186A1 (zh) 一种网络管理方法及相关设备
EP2824872B1 (en) Host providing system and communication control method
CN113497817A (zh) 流量调度方法、装置、cdn网络的边缘节点及服务器
WO2013000374A1 (zh) 一种实现负载均衡的方法、装置及机顶盒
US20140143427A1 (en) Providing Resources in a Cloud
US11316916B2 (en) Packet processing method, related device, and computer storage medium
WO2019139947A1 (en) Mechanisms for the adaptive control of service layer operations
US10135916B1 (en) Integration of service scaling and external health checking systems
US8855693B2 (en) Method and apparatus for controlling wireless devices
US11943801B2 (en) Method and apparatus for abstracting network resources to support end user mobility
WO2018086575A1 (zh) 媒体资源的控制方法及装置
EP3422674A1 (en) A method of resolving a domain name by a dns server to a plurality of ip addresses based on location information of the user equipment
TW201509158A (zh) 整合網路裝置及其服務整合方法
JP2014529806A (ja) クライアントの物理的な位置の決定
US10574526B2 (en) Control method for application feature rules and application feature server
EP3422675A1 (en) A method of requesting a resource by simultaneously transmitting the same request message to a plurality of servers
CN112449366A (zh) 报文转发方法、装置、无线ap设备及存储介质
WO2018000617A1 (zh) 一种数据库的更新方法及调度服务器
RU2022106944A (ru) Способ обращения к системе доменных имен и устройство связи

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 13868356

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

REEP Request for entry into the european phase

Ref document number: 2013868356

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2013868356

Country of ref document: EP