WO2015067144A1 - Method and apparatus for software disposition - Google Patents

Method and apparatus for software disposition Download PDF

Info

Publication number
WO2015067144A1
WO2015067144A1 PCT/CN2014/090021 CN2014090021W WO2015067144A1 WO 2015067144 A1 WO2015067144 A1 WO 2015067144A1 CN 2014090021 W CN2014090021 W CN 2014090021W WO 2015067144 A1 WO2015067144 A1 WO 2015067144A1
Authority
WO
WIPO (PCT)
Prior art keywords
host
hosts
cloud computing
computing system
affinity
Prior art date
Application number
PCT/CN2014/090021
Other languages
French (fr)
Chinese (zh)
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 华为技术有限公司
Publication of WO2015067144A1 publication Critical patent/WO2015067144A1/en

Links

Images

Classifications

    • 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
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • H04L41/122Discovery or management of network topologies of virtualised topologies, e.g. software-defined networks [SDN] or network function virtualisation [NFV]
    • 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/131Protocols for games, networked simulations or virtual reality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/34Signalling channels for network management communication
    • H04L41/342Signalling channels for network management communication between virtual entities, e.g. orchestrators, SDN or NFV entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/34Signalling channels for network management communication
    • H04L41/344Out-of-band transfers
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks

Definitions

  • the present invention relates to the field of information technology and, more particularly, to a method and apparatus for software deployment.
  • software automation deployment is one of the biggest highlights of cloud computing.
  • the so-called software automation deployment means that the system can automatically select the hardware host, and automatically configure and start the virtual machine on the selected host according to the requirements of the application software, and then automatically install the application software on the virtual machine, the entire process does not need to be Manual intervention.
  • the system can also automatically repeat the above process after the system load increases, so that more virtual machines and application software can process the service; or when the system load is reduced, the reverse process of the above process is automatically performed, and the virtual machine for processing the service is reduced. And the number of application software, so that some physical hosts can be released to enter a power-saving state, or release resources for use by other applications.
  • the application software running on the cloud is generally distributed application software, that is, there are multiple software modules providing services at the same time, and there must be communication traffic between the processing modules of the same application software.
  • the current cloud computing management system mainly relies on configuring enough hardware to ensure network bandwidth. For example, when deploying application software A and application software B from host 1 to host 10, the cloud management system only distributes application software A and application software B according to established rules, such as all host load averaging or integrated deployment to a small number of hosts.
  • the processing module is deployed on the host 1 to the host 10.
  • the embodiment of the invention provides a software deployment method and device, which can save communication bandwidth and reduce power consumption.
  • the first aspect provides a software deployment method, including: acquiring communication topology information of a cloud computing system; and selecting a virtual machine of the host deployment software system from the first host set according to the communication topology information, where the first The host collection is a collection of hosts of the virtual machine in the cloud computing system where the software system is to be deployed.
  • the virtual machine of the host deployment software system is selected from the first host set according to the communication topology information, including:
  • the affinity of the host in the first host set and all hosts in the second host set is determined according to the communication topology information, where The second host set is a set of hosts of the virtual machine in the cloud computing system where the software system has been deployed;
  • the communication topology information includes a hop count of a communication path between hosts in the cloud computing system
  • the affinity is determined according to the hop count of the communication path between the host in the first host set and all the hosts in the second host set.
  • the affinity is between the host in the first host set and all hosts in the second host set.
  • the average number of hops of the communication path or the sum of the sums is inversely proportional.
  • Obtaining communication topology information of the cloud computing system including:
  • each host in the cloud computing system Receiving, by each host in the cloud computing system, a hop count of a communication path between each host and other hosts in the cloud computing system, wherein each host and other hosts in the cloud computing system The number of hops of the communication path is obtained by each host through link tracking;
  • the number of hops of the communication path between the hosts in the cloud computing system is determined based on the number of hops of the communication path between each host and other hosts in the cloud computing system.
  • the communications topology information of the cloud computing system is obtained, including:
  • the communication topology information includes a number of connections between hosts in the cloud computing system
  • the affinity is determined according to the number of connections between the host in the first host set and all hosts in the second host set.
  • the affinity is the same as the host in the first host set and all hosts in the second host set.
  • the average number of connections or the sum of the sums is inversely proportional.
  • the communications topology information of the cloud computing system is obtained, including:
  • the neighbor node information sent by each host or network device is obtained by the LLDP or CDP mode by each host or network device;
  • the communications topology information of the cloud computing system is obtained, including:
  • the number of connections between hosts in the cloud computing system is determined according to a pre-configured connection relationship of all hosts and network devices in the cloud computing system.
  • the communication topology information includes network domain information of a host in the cloud computing system
  • the affinity is determined according to network domain information of the host in the first host set and network domain information of all hosts in the second host set.
  • the level of the affinity is the same as the network domain where the host in the first host set is located and the second host set
  • the size of the difference in the network domain in which all hosts are located is inversely proportional.
  • the communications topology information of the cloud computing system is obtained, including:
  • the communication topology information from the first host Select the virtual machine in the collection to deploy the software system to the host, including:
  • the third host set is a set of hosts of the virtual machine in the cloud computing system where other software systems have been deployed;
  • a virtual machine having a low affinity with all hosts in the third host set is selected from the first set of hosts to deploy a virtual machine of the software system.
  • the second aspect provides a software deployment apparatus, including: an obtaining module, configured to acquire communication topology information of a cloud computing system; and a deployment module, configured to select a host deployment software from the first host set according to the communication topology information.
  • the virtual machine of the system wherein the first host set is a set of hosts of the virtual machine in the cloud computing system to be deployed the software system.
  • the deployment module includes:
  • a first determining unit configured to: when the host of the virtual machine that has deployed the software system is deployed in the cloud computing system, determine, according to the communication topology information, a host in the first host set and all hosts in the second host set Affinity, wherein the second set of hosts is a set of hosts of the virtual machine in the cloud computing system that have deployed the software system;
  • a first deployment unit configured to select, from the first set of hosts, the virtual machine with the high affinity to deploy the virtual machine of the software system.
  • the communication topology information includes a hop count of a communication path between hosts in the cloud computing system
  • the first determining unit is specifically configured to determine the affinity according to a hop count of a communication path between the host in the first host set and all hosts in the second host set.
  • the affinity is between the host in the first host set and all hosts in the second host set.
  • the average number of hops of the communication path or the sum of the sums is inversely proportional.
  • the acquiring module is specifically configured to receive each host sent by each host in the cloud computing system and the The number of hops of the communication path between other hosts in the cloud computing system, where each host and the The number of hops of the communication path between other hosts in the cloud computing system is obtained by the each host through link tracking, and is determined according to the hop count of the communication path between each host and other hosts in the cloud computing system. The number of hops of the communication path between hosts in the cloud computing system.
  • the acquiring module is specifically configured to receive, by each host or network device, a neighboring node sent by the network computing system Information, wherein the neighbor node information sent by each host or network device is obtained by each host or network device by a link layer discovery protocol LLDP or a Cisco Discovery Protocol CDP mode, according to all hosts in the cloud computing system and The neighbor node information transmitted by the network device determines the hop count of the communication path between the hosts in the cloud computing system.
  • the communication topology information includes a number of connections between hosts in the cloud computing system
  • the first determining unit is specifically configured to determine the affinity according to the number of connections between the host in the first host set and all hosts in the second host set.
  • the affinity is between the host in the first host set and all hosts in the second host set.
  • the average number of connections or the sum of the sums is inversely proportional.
  • the acquiring module is specifically configured to receive, by each host or network device, a neighboring node sent by the network computing system Information, wherein the neighbor node information sent by each host or network device is obtained by the LLDP or CDP mode by each host or network device, and the neighbor node information sent by all hosts and network devices in the cloud computing system is obtained. Determine the number of connections between hosts in the cloud computing system.
  • the acquiring module is specifically configured to: according to a pre-configured connection relationship between all hosts and network devices in the cloud computing system Determine the number of connections between hosts in the cloud computing system.
  • the communication topology information includes network domain information of a host in the cloud computing system
  • the first determining unit is specifically configured to determine the affinity according to network domain information of the host in the first host set and network domain information of all hosts in the second host set.
  • the affinity is different from the network domain in which the host in the first host set is located and the second host set
  • the size of the difference in the network domain in which all hosts are located is inversely proportional.
  • the acquiring module is specifically configured to obtain network domain information of a host in the pre-configured cloud computing system.
  • the deployment module includes:
  • a second determining unit configured to: when the host of the virtual machine of the software system is deployed in the cloud computing system, determine, according to the communication topology information, all hosts in the first host set and the third host set Affinity, wherein the third host set is a set of hosts of the virtual machine in the cloud computing system where other software systems have been deployed;
  • a second deployment unit configured to select, from the first set of hosts, a virtual machine that has low affinity with all hosts in the third host set to deploy the virtual machine of the software system.
  • the software deployment method and device of the embodiment of the present invention can select a virtual machine of the host software system according to the communication topology information of the cloud computing system, and the virtual machine of the same software system can be deployed in a centralized manner, thereby saving communication. Bandwidth, reducing cost and power consumption.
  • FIG. 1 is a schematic flow chart of a method of software deployment in accordance with one embodiment of the present invention.
  • FIG. 2 is a schematic flow chart of a method for software deployment according to another embodiment of the present invention.
  • FIG. 3 is a schematic diagram of a cloud computing system in accordance with one embodiment of the present invention.
  • FIG. 4 is a schematic diagram of a cloud computing system in accordance with another embodiment of the present invention.
  • FIG. 5 is a schematic diagram of a cloud computing system in accordance with yet another embodiment of the present invention.
  • FIG. 6 is a schematic diagram of software deployment results in accordance with one embodiment of the present invention.
  • FIG. 7 is a schematic block diagram of an apparatus for software deployment in accordance with one embodiment of the present invention.
  • FIG. 8 is a schematic block diagram of a deployment module in accordance with one embodiment of the present invention.
  • FIG. 9 is a schematic block diagram of a deployment module in accordance with another embodiment of the present invention.
  • FIG. 10 is a schematic structural diagram of an apparatus for software deployment according to another embodiment of the present invention.
  • FIG. 1 shows a schematic flow diagram of a method 100 of software deployment in accordance with an embodiment of the present invention. As shown in FIG. 1, the method 100 includes:
  • the execution subject of the method 100 is a device deployed by software.
  • the device may be a device in the cloud computing management system or a cloud computing management system itself, which is not limited by the embodiment of the present invention.
  • the software system may also be expressed as software.
  • the virtual machine in which the software system is deployed is selected in the cloud computing system, and then the software system is installed on the virtual machine.
  • the software deployed device When the software system is deployed, the software deployed device first obtains the communication topology information of the cloud computing system, and then selects, according to the communication topology information, the virtual machine that the host deploys the software system from the first host set.
  • the first host set is a set of hosts of the virtual machine in the cloud computing system where the software system is to be deployed. It should be understood that the term "first host set" is used in the embodiment of the present invention for convenience of description, and does not limit the embodiment of the present invention.
  • the software deployment device selects the virtual machine of the host deployment software system according to the communication topology information of the cloud computing system, so that the result of the deployment is related to the communication topology of the cloud computing system, and is convenient for the same software system.
  • Virtual machine centralized deployment That is to say, virtual machines of the same software system can be deployed on hosts connected to the same or fewer switches, so communication traffic of the same software system can be forwarded by fewer switches, thereby saving communication bandwidth, reducing cost and power consumption. .
  • the software deployment method of the embodiment of the present invention can centrally deploy the virtual machine of the same software system by selecting the virtual machine of the host deployment software system according to the communication topology information of the cloud computing system, thereby saving communication bandwidth and reducing cost and Power consumption.
  • selecting a virtual machine of the host deployment software system from the first host set according to the communication topology information includes:
  • S121 when there is a host of the virtual machine in which the software system is deployed in the cloud computing system, determining, according to the communication topology information, an affinity between the host in the first host set and all hosts in the second host set,
  • the second host set is a set of hosts of the virtual machine in which the software system has been deployed in the cloud computing system;
  • the second host set is a set of hosts of the virtual machine in which the software system has been deployed in the cloud computing system. It should be understood that the embodiment of the present invention adopts the term second host set only for the purpose of The description is convenient and the invention is not limited in any way.
  • the software deployment device When the virtual machine of the software system is deployed according to the communication topology information, if the host of the virtual machine in which the software system is deployed is in the cloud computing system, that is, the second host set is not empty, the software deployment device first according to the communication topology information. Determining the affinity of the host in the first host set and all the hosts in the second host set, and then selecting, according to the affinity, the virtual machine that the host deploys the software system from the first host set. Specifically, the software deployed device selects a host with high affinity from the first set of hosts to deploy the virtual machine of the software system. For example, selecting the host with the highest affinity from the first host set to deploy the virtual machine of the software system, or selecting the remaining host with the highest affinity when the host with the highest affinity cannot deploy the virtual machine of the software system. The host deploys the virtual machine of the software system.
  • the affinity indicates the proximity relationship between a host and all hosts in a host set.
  • Affinity can be determined based on communication topology information. There are various ways to determine the affinity for the content of different communication topology information, which are described separately below.
  • the communication topology information includes a hop count of a communication path between hosts in the cloud computing system.
  • determining, according to the communication topology information, the affinity of the host in the first host set and all hosts in the second host set including:
  • the affinity is determined according to the hop count of the communication path between the host in the first host set and all the hosts in the second host set.
  • the communication topology information is the hop count of the communication path between the hosts in the cloud computing system.
  • the hop count of the communication path between the host 1-1 and the host 1-2 is 2; the hop of the communication path between the host 1-1 and the host 2-1
  • the number is 4.
  • the affinity of the host in the first host set and all the hosts in the second host set may be based on a communication path between the host in the first host set and all hosts in the second host set. The number of hops is determined.
  • the affinity is the same as the host in the first host set and the second host set.
  • the average or the sum of the hop counts of the communication paths between all the hosts is inversely proportional.
  • the second host set includes the host 1-1 and the host 1-2
  • the first host set includes the host 1-3, the host 2-1, the host 2-2, and the host 2 -3, that is, the host computer 1-1 and the host 1-2 have deployed the virtual machine of the software system, the host 1-3, the host 2-1, the host 2-2, and the host 2-3 to be deployed the virtual machine of the software system
  • it is required to determine the hop count of the communication path between each host in the first host set and all hosts in the second host set, thereby determining the number The affinity of each host in a set of hosts to all hosts in the second set of hosts.
  • the hop count of the communication path between the host 1-3 and the host 1-1 is 2, the hop count of the communication path with the host 1-2 is 2, the average value is 2, and the sum is 4;
  • the hop count of the communication path between the host 2-1 and the host 1-1 is 4, the hop count of the communication path with the host 1-2 is 4, the average value is 4, and the sum is 8;
  • the hop count of the communication path between the host 2-2 and the host 1-1 is 4, the hop count of the communication path with the host 1-2 is 4, the average value is 4, and the sum is 8;
  • the number of hops of the communication path between the host 2-3 and the host 1-1 is 4, the hop count of the communication path with the host 1-2 is 4, the average value is 4, and the sum is 8.
  • the level of affinity is inversely proportional to the average or sum of the hop counts of the communication paths between the hosts in the first set of hosts and all the hosts in the second set of hosts. Therefore, hosts 1-3 in the first set of hosts have the highest affinity, and hosts 1-3 are selected to deploy virtual machines of the software system. In this way, the virtual machines of the same software system are deployed on the host 1-1, the host 1-2, and the hosts 1-3.
  • the traffic in the software system only passes through the Ethernet switch L2-1, thereby saving communication bandwidth and reducing network equipment. Cost of use and power consumption.
  • the communication topology information is the hop count of the communication path between the hosts in the cloud computing system
  • the communication topology information is acquired in various ways.
  • acquiring communication topology information of the cloud computing system includes:
  • each host in the cloud computing system Receiving, by each host in the cloud computing system, a hop count of a communication path between each host and other hosts in the cloud computing system, wherein each host and other hosts in the cloud computing system The number of hops of the communication path is obtained by each host through link tracking;
  • the number of hops of the communication path between the hosts in the cloud computing system is determined based on the number of hops of the communication path between each host and other hosts in the cloud computing system.
  • each host obtains the hop count of the communication path between each host and other hosts in the cloud computing system through a link tracking manner.
  • the host 1-1 sends a link tracking message to all other hosts, wherein the link tracking message to the host 1-2 passes only through the Ethernet switch L2-1, the host 1-1 will receive two link tracking response messages from the Ethernet switch L2-1 and the host 1-2 on this path, so the host 1-1 can know the communication path between it and the host 1-2.
  • the number of hops is 2; the link trace message to host 2-1 will pass through Ethernet switch L2-1, Ethernet switch L1-1, and Ethernet switch L2-2, so it will receive from this path.
  • the four links of the Ethernet switch L2-1, the Ethernet switch L1-1, the Ethernet switch L2-2, and the host 2-1 track the response message, so the host 1-1 can know that it is between the host 2-1 and the host 2-1.
  • the number of hops of the communication path is 4. By analogy, each host knows the number of hops of its communication path with other hosts in the cloud computing system.
  • Each host sends a hop count of the communication path between each host and other hosts in the cloud computing system to the software deployed device, such that the software deployed device can be based on each host and other hosts in the cloud computing system
  • the hop count of the communication path determines the number of hops of the communication path between the hosts in the cloud computing system.
  • each host may send the hop count of the communication path between each host and other hosts in the cloud computing system to the software deployed device through the existing management channel in the cloud computing system.
  • Each host can periodically send link tracking messages to other hosts of the cloud computing system to automatically detect network changes and send the detected results to the software deployed device through the management channel to refresh the software deployed devices. Recorded results.
  • acquiring communication topology information of the cloud computing system includes:
  • LLDP Link Layer Discovery Protocol
  • CDP Cisco Discovery Protocol
  • each host or network device obtains neighbor node information through LLDP or CDP, and sends neighbor node information to the software deployment device, and the software deployment device determines the host in the cloud computing system according to the neighbor node information.
  • the software deployment device determines the host in the cloud computing system according to the neighbor node information. The number of hops between the communication paths.
  • the virtual switch and the Ethernet switch on each host obtain neighbor node information through LLDP or CDP, and then each host and the Ethernet switch pass their respective management channels.
  • Adjacent node information is sent to the device deployed by the software.
  • the software deployed device needs to establish a management channel with the Ethernet switch, and the Ethernet switch sends the neighbor node information to the software deployed device through the established management channel.
  • the communication topology information includes a number of connections between hosts in the cloud computing system.
  • determining, according to the communication topology information, the affinity of the host in the first host set and all hosts in the second host set including:
  • the affinity is determined according to the number of connections between the host in the first host set and all hosts in the second host set.
  • the communication topology information is the number of connections between hosts in the cloud computing system.
  • the number of connections between the host 1-1 and the host 1-2 is 2; the number of connections between the host 1-1 and the host 2-1 is 4.
  • the affinity of the host in the first host set and all the hosts in the second host set may be based on the first host set.
  • the number of connections between the host in the middle and all hosts in the second set of hosts is determined.
  • the affinity is inversely proportional to the average or the sum of the number of connections between the host in the first host set and all hosts in the second host set.
  • the second host set includes the host 1-1 and the host 1-2
  • the first host set includes the host 1-3, the host 2-1, the host 2-2, and the host 2 -3.
  • the number of connections between the host 1-3 and the host 1-1 is 2, the number of connections with the host 1-2 is 2, the average value is 2, and the sum is 4;
  • the number of connections between the host 2-1 and the host 1-1 is 4, the number of connections with the host 1-2 is 4, the average value is 4, and the sum is 8.
  • the number of connections between the host 2-2 and the host 1-1 is 4, the number of connections with the host 1-2 is 4, the average value is 4, and the sum is 8.
  • the number of connections between the host 2-3 and the host 1-1 is 4, the number of connections with the host 1-2 is 4, the average value is 4, and the sum is 8.
  • the level of affinity is inversely proportional to the average or sum of the number of connections between the host in the first set of hosts and all hosts in the second set of hosts. Therefore, hosts 1-3 in the first set of hosts have the highest affinity, and hosts 1-3 are selected to deploy virtual machines of the software system. In this way, the virtual machines of the same software system are deployed on the host 1-1, the host 1-2, and the hosts 1-3.
  • the traffic in the software system only passes through the Ethernet switch L2-1, thereby saving communication bandwidth and reducing network equipment. Cost of use and power consumption.
  • the communication topology information is the number of connections between hosts in the cloud computing system
  • the communication topology information is acquired in various ways.
  • acquiring communication topology information of the cloud computing system includes:
  • the software deployed device determines the number of connections between the hosts based on the neighbor node information.
  • acquiring communication topology information of the cloud computing system includes:
  • the number of connections between hosts in the cloud computing system is determined according to a pre-configured connection relationship of all hosts and network devices in the cloud computing system.
  • connection relationship of each node in the cloud computing system is pre-configured. That is to say, the connection relationship between each host and the network device in the cloud computing system is pre-configured to the software deployment device, so that the software deployed device can obtain the number of connections between the hosts according to the pre-configured connection relationship.
  • the communication topology information includes network domain information of the host in the cloud computing system.
  • determining, according to the communication topology information, the affinity of the host in the first host set and all hosts in the second host set including:
  • the affinity is determined according to network domain information of the host in the first host set and network domain information of all hosts in the second host set.
  • the communication topology information is network domain information of a host in the cloud computing system.
  • the cloud computing system is divided into multiple network domains.
  • the network domain L2-1 includes hosts 1-1, 1-2, and 1-3
  • the network domain L2-2 includes hosts 2-1, 2-2, and 2-3
  • the network domain L2-3 includes hosts 3-1.
  • the network domain L2-4 includes hosts 4-1, 4-2, 4-3.
  • the network domain can also be recursively nested.
  • the network domain L1-1 includes the network domains L2-1 and L2-2
  • the network domain L1-2 includes the network domains L2-3 and L2-4.
  • Affinity can be determined based on the host's network domain information. If the host is in the same network domain as the host in the second set, the affinity is high; if it is in a different network domain, the affinity is low.
  • the level of the affinity is inversely proportional to the size of the difference between the network domain in which the host in the first host set is located and the network domain in which all hosts in the second host set are located.
  • the second set of hosts includes the host 1-1 and the host 1-2
  • the other hosts constitute the first set of hosts.
  • the host 1-3 is selected to deploy the software.
  • the virtual machine of the system since the host 1-3 is in the same network domain as the host 1-1 and the host 1-2, the difference of the network domain is the smallest, so the host 1-3 is selected to deploy the software.
  • the virtual machine of the system In this way, the virtual machines of the same software system are deployed on the host 1-1, the host 1-2, and the hosts 1-3.
  • the traffic in the software system only passes through the Ethernet switch L2-1, thereby saving communication bandwidth and reducing network equipment. Cost of use and power consumption.
  • obtaining communication topology information of the cloud computing system including:
  • the network domain information of each host in the cloud computing system can be pre-configured to the software deployment device, so that the software deployed device can obtain the pre-configured network domain information.
  • the virtual machine of the same software system can be centrally deployed by selecting the virtual machine of the host deployment software system according to the affinity, thereby saving communication bandwidth and reducing cost and power consumption.
  • the method for selecting a virtual machine for deploying the software system by the host when the host of the virtual machine of the software system is deployed in the cloud computing system is described above.
  • the following describes the virtual machine in the cloud computing system where the software system has not been deployed.
  • select the method by which the host deploys the virtual machine of the software system select the method by which the host deploys the virtual machine of the software system.
  • selecting a virtual machine of the host deployment software system from the first host set according to the communication topology information including:
  • the affinity of the host in the first host set and all hosts in the third host set is determined according to the communication topology information, where
  • the third host set is a set of hosts of the virtual machine in the cloud computing system where other software systems have been deployed;
  • a virtual machine having a low affinity with all hosts in the third host set is selected from the first set of hosts to deploy a virtual machine of the software system.
  • the third host is a host of a virtual machine that has deployed other software systems.
  • a collection of hosts that is, a collection of hosts that have deployed virtual machines that are different from the software systems of the software systems to be deployed. It should be understood that the term "third host set" is used in the embodiment of the present invention for convenience of description, and does not limit the embodiment of the present invention.
  • the device deployed by the software is based on the host in the first host set. Selecting the host to deploy the virtual machine of the software system with the affinity of all hosts in the third host set. Specifically, the software deployed device selects a virtual machine of the software system from a first host set that selects a host with low affinity to all hosts in the third host set.
  • the software deployment method of the embodiment of the present invention can centrally deploy virtual machines of the same software system.
  • the virtual machine of the software system A is deployed on the hosts 1 to 5, and the virtual machines of the software system B are deployed on the hosts 5 to 10.
  • the traffic in software system A is mainly exchanged in Ethernet switches 2 and 3, and a small amount of traffic passes through Ethernet switch 1;
  • the traffic in software system B is mainly exchanged in Ethernet switches 3 and 4, and a small amount of traffic passes through the Ethernet switch. 1.
  • Such a deployment result can save network equipment usage cost and power consumption, and can avoid network bottlenecks.
  • FIG. 6 since the traffic passing through the Ethernet switch 1 is reduced, it is possible to prevent the transmission path bandwidth between the Ethernet switch 1 and other Ethernet switches from becoming a bottleneck.
  • the software deployed device may also directly select the virtual machine of the host deployment software system according to the communication topology information. For example, selecting the average or the sum of the hops of the communication paths with all the hosts in the second set of hosts, or selecting the average or sum of the number of connections with all the hosts in the second set of hosts The smallest host, or the host with the smallest difference between the selected network domain and the network domain in which all hosts in the second host set are located, deploy the virtual machine of the software system.
  • These embodiments are also intended to fall within the scope of the invention.
  • the software deployment method of the embodiment of the present invention can select a virtual machine of the host software system according to the communication topology information of the cloud computing system, and the virtual machine of the same software system can be deployed in a centralized manner, thereby saving communication bandwidth and reducing cost and power consumption. .
  • the size of the sequence numbers of the above processes does not mean the order of execution, and the order of execution of each process should be determined by its function and internal logic, and should not be taken to the embodiments of the present invention.
  • the implementation process constitutes any limitation.
  • FIG. 7 shows a schematic block diagram of an apparatus 700 for software deployment in accordance with an embodiment of the present invention. As shown in FIG. 7, the apparatus 700 includes:
  • the obtaining module 710 is configured to obtain communication topology information of the cloud computing system.
  • the deployment module 720 is configured to select, according to the communication topology information, a virtual machine of the host deployment software system from the first host set, where the first host set is a host of the virtual machine in the cloud computing system where the software system is to be deployed. Collection.
  • the software deployment device selects the virtual machine of the host deployment software system according to the communication topology information of the cloud computing system, so that the result of the deployment is related to the communication topology of the cloud computing system, and is convenient for the same software system.
  • Virtual machine centralized deployment That is to say, virtual machines of the same software system can be deployed on hosts connected to the same or fewer switches, so communication traffic of the same software system can be forwarded by fewer switches, thereby saving communication bandwidth, reducing cost and power consumption. .
  • the software deployment device of the embodiment of the present invention can centrally deploy the virtual machine of the same software system by selecting the virtual machine of the host deployment software system according to the communication topology information of the cloud computing system, thereby saving communication bandwidth and reducing cost and Power consumption.
  • the deployment module 720 includes:
  • the first determining unit 721 is configured to: when the host of the virtual machine of the software system is deployed in the cloud computing system, determine, according to the communication topology information, all the hosts in the first host set and the second host set The affinity of the host, wherein the second host set is a set of hosts of the virtual machine in the cloud computing system where the software system has been deployed;
  • the first deployment unit 722 is configured to select, from the first set of hosts, the virtual machine with the high affinity to deploy the virtual machine of the software system.
  • the communication topology information includes a hop count of a communication path between hosts in the cloud computing system.
  • the first determining unit 721 is specifically configured to determine the affinity according to the hop count of the communication path between the host in the first host set and all hosts in the second host set.
  • the average or the sum of the hops of the communication path between the host in the first host set and all the hosts in the second host set is The size is inversely proportional.
  • the obtaining module 710 is specifically configured to receive, by each host in the cloud computing system, a communication path between each host and other hosts in the cloud computing system.
  • the hop count wherein the hop count of the communication path between each host and other hosts in the cloud computing system is obtained by each host through a link tracking manner, according to each host and the cloud computing system
  • the number of hops of the communication path between other hosts determines the number of hops of the communication path between the hosts in the cloud computing system.
  • the acquiring module 710 is specifically configured to receive, by using each host or network device, the neighbor node information sent by the host or the network device.
  • the neighbor node information is obtained by each host or network device by using a link layer discovery protocol LLDP or a Cisco discovery protocol CDP mode, and determining the cloud computing system according to neighboring node information sent by all hosts and network devices in the cloud computing system. The number of hops of the communication path between the hosts in the host.
  • the communication topology information includes a host in the cloud computing system. The number of connections between.
  • the first determining unit 721 is specifically configured to determine the affinity according to the number of connections between the host in the first host set and all hosts in the second host set.
  • the affinity is inversely proportional to the average value or the sum of the connections between the host in the first host set and all the hosts in the second host set. .
  • the acquiring module 710 is specifically configured to receive, by using each host or network device, the neighbor node information sent by the host or the network device.
  • the neighboring node information is obtained by the LLDP or CDP mode by the host or the network device, and the number of connections between the hosts in the cloud computing system is determined according to the information of the neighboring nodes sent by all the hosts and the network devices in the cloud computing system. .
  • the obtaining module 710 is specifically configured to determine, according to a pre-configured connection relationship between all hosts and network devices in the cloud computing system, the number of connections between the hosts in the cloud computing system. .
  • the communication topology information includes network domain information of a host in the cloud computing system.
  • the first determining unit 721 is specifically configured to determine the affinity according to network domain information of the host in the first host set and network domain information of all hosts in the second host set.
  • the level of the affinity is different from the size of the network domain where the host in the first host set is located and the network domain where all hosts in the second host set are located. In inverse proportion.
  • the acquiring module 710 is specifically configured to obtain the pre-configured network domain information of the host in the cloud computing system.
  • the deployment module 720 optionally includes:
  • a second determining unit 723, configured to: in the cloud computing system, the virtual system that has deployed the software system
  • the host of the machine determines the affinity of the host in the first host set and all the hosts in the third host set according to the communication topology information, where the third host set is deployed in the cloud computing system.
  • the second deployment unit 724 is configured to select, from the first set of hosts, a virtual machine that has low affinity with all hosts in the third host set to deploy the virtual machine of the software system.
  • the virtual machine of the same software system can be centrally deployed by selecting the virtual machine of the host deployment software system according to the affinity, thereby saving communication bandwidth and reducing cost and power consumption.
  • the software-deployed apparatus 700 may correspond to an execution subject in a software-deployed method according to an embodiment of the present invention, and the above-described and other operations and/or functions of the respective modules in the apparatus 700 are respectively implemented in order to implement FIG.
  • the corresponding processes of the respective methods in FIG. 6 are not described herein again for the sake of brevity.
  • FIG. 10 shows a structure of an apparatus for software deployment according to still another embodiment of the present invention, including at least one processor 1002 (eg, a CPU), at least one network interface 1005 or other communication interface, a memory 1006, and at least one communication bus 1003. Used to implement connection communication between these devices.
  • the processor 1002 is configured to execute executable modules, such as computer programs, stored in the memory 1006.
  • the memory 1006 may include a high speed random access memory (RAM), and may also include a non-volatile memory such as at least one disk memory.
  • a communication connection with at least one other network element is achieved by at least one network interface 1005, which may be wired or wireless.
  • the memory 1006 stores a program 10061, and the processor 1002 executes the program 10061 for performing the following operations:
  • the processor 1002 is specifically configured to: when the host of the virtual machine of the software system is deployed in the cloud computing system, determine, according to the communication topology information, the host and the second host set in the first host set. Affinity of all the hosts in the set, wherein the second set of hosts is a set of hosts of the virtual machine in the cloud computing system where the software system has been deployed; selecting the host with high affinity from the first set of hosts Deploy the virtual machine of the software system.
  • the communication topology information includes a hop count of a communication path between hosts in the cloud computing system; the processor 1002 is specifically configured to: according to the host in the first host set and all hosts in the second host set The number of hops between the communication paths determines the affinity.
  • the level of the affinity is inversely proportional to the average value or the sum of the hop counts of the communication paths between the host in the first host set and all the hosts in the second host set.
  • the processor 1002 is specifically configured to receive, by using the network interface 1005, a hop count of a communication path between each host and each host in the cloud computing system sent by each host in the cloud computing system, where The number of hops of the communication path between each host and other hosts in the cloud computing system is obtained by each host through link tracking; according to each host and other hosts in the cloud computing system The number of hops of the communication path determines the number of hops of the communication path between the hosts in the cloud computing system.
  • the processor 1002 is specifically configured to receive, by using the network interface 1005, neighbor node information sent by each host or network device in the cloud computing system, where the neighbor node information sent by each host or network device is configured by Each host or network device is obtained through a link layer discovery protocol LLDP or a Cisco Discovery Protocol CDP mode; determining, according to neighboring node information sent by all hosts and network devices in the cloud computing system, between the hosts in the cloud computing system The number of hops for the communication path.
  • LLDP link layer discovery protocol
  • CDP mode Cisco Discovery Protocol CDP mode
  • the communication topology information includes a number of connections between hosts in the cloud computing system; the processor 1002 is specifically configured to use, according to the hosts in the first host set and all hosts in the second host set. The number of connections determines the affinity.
  • the affinity is inversely proportional to the average or the sum of the number of connections between the host in the first host set and all hosts in the second host set.
  • the processor 1002 is specifically configured to receive, by using the network interface 1005, neighbor node information sent by each host or network device in the cloud computing system, where the neighbor node information sent by each host or network device is configured by Each host or network device is obtained by means of LLDP or CDP; determining the number of connections between hosts in the cloud computing system according to neighboring node information sent by all hosts and network devices in the cloud computing system.
  • the processor 1002 is specifically configured to determine, according to a pre-configured connection relationship of all hosts and network devices in the cloud computing system, a number of connections between hosts in the cloud computing system.
  • the communication topology information includes network domain information of the host in the cloud computing system; the processor 1002 is specifically configured to: according to network domain information of the host in the first host set and all hosts in the second host set The network domain information determines the affinity.
  • the level of the affinity is inversely proportional to the size of the difference between the network domain in which the host in the first host set is located and the network domain in which all hosts in the second host set are located.
  • the processor 1002 is specifically configured to obtain network domain information of the host in the pre-configured cloud computing system.
  • the processor 1002 is specifically configured to: when the host of the virtual machine that has deployed the software system is not in the cloud computing system, determine, according to the communication topology information, the host in the first host set and the third host set. Affinity of all hosts, wherein the third set of hosts is a set of hosts of the virtual machine in which the other software systems have been deployed in the cloud computing system; selecting from the first set of hosts and the third set of hosts A host with low affinity for all hosts deploys virtual machines of the software system.
  • the virtual machine of the host software deployment system is selected according to the communication topology information of the cloud computing system, and the virtual machines of the same software system can be deployed in a centralized manner, thereby saving Communication bandwidth, reducing cost and power consumption.
  • the term "and/or" is merely a description of the associated object.
  • the association indicates that there can be three relationships.
  • a and/or B may indicate that A exists separately, and A and B exist simultaneously, and B cases exist alone.
  • the character "/" in this article generally indicates that the contextual object is an "or" relationship.
  • the disclosed systems, devices, and methods may be implemented in other manners.
  • the device embodiments described above are merely illustrative.
  • the division of the unit is only a logical function division.
  • there may be another division manner for example, multiple units or components may be combined or Can be integrated into another system, or some features can be ignored or not executed.
  • the mutual coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection through some interface, device or unit, or an electrical, mechanical or other form of connection.
  • the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, may be located in one place, or may be distributed to multiple network units. Some or all of the units may be selected according to actual needs to achieve the objectives of the embodiments of the present invention.
  • each functional unit in various embodiments of the present invention may be integrated in one processing unit. It is also possible that each unit physically exists alone, or two or more units may be integrated in one unit.
  • the above integrated unit can be implemented in the form of hardware or in the form of a software functional unit.
  • the integrated unit if implemented in the form of a software functional unit and sold or used as a standalone product, may be stored in a computer readable storage medium.
  • the technical solution of the present invention contributes in essence or to the prior art, or all or part of the technical solution may be embodied in the form of a software product stored in a storage medium.
  • a number of instructions are included to cause a computer device (which may be a personal computer, server, or network device, etc.) to perform all or part of the steps of the methods described in various embodiments of the present invention.
  • the foregoing storage medium includes: a U disk, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk, and the like. .

Abstract

A method and apparatus for software deployment are disclosed in the present invention. The method includes: obtaining communication topology information of a cloud computing system; according to the communication topology information, selecting a host computer from a first host computer set for deploying a virtual machine for a software system, wherein, the first host computer set is a set of host computers of the virtual machine for the software system to be disposed in the cloud computing system. The method and apparatus for software deployment of the present invention can save communication bandwidth and reduce cost and power consumption.

Description

软件部署的方法和装置Software deployment method and device
本申请要求于2013年11月8日提交中国专利局、申请号为201310556317.9、发明名称为“软件部署的方法和装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。The present application claims priority to Chinese Patent Application No. 20131055631, the entire disclosure of which is hereby incorporated by reference.
技术领域Technical field
本发明涉及信息技术领域,并且更具体地,涉及软件部署的方法和装置。The present invention relates to the field of information technology and, more particularly, to a method and apparatus for software deployment.
背景技术Background technique
在当前的云计算系统中,软件自动化部署是云计算的最大亮点之一。所谓软件自动化部署,就是指系统能够自动地选择硬件主机,并根据应用软件的需求,自动地在被选择的主机上配置和启动虚拟机,然后在虚拟机上自动地安装应用软件,整个过程无需人工干预。系统也能够在系统负荷升高后,自动地重复上述过程,使更多的虚拟机和应用软件处理业务;或者在系统负荷降低时,自动地进行上述过程的反过程,减少处理业务的虚拟机和应用软件数量,使部分物理主机能释放以进入节能状态,或者释放资源给其他的应用软件使用。In current cloud computing systems, software automation deployment is one of the biggest highlights of cloud computing. The so-called software automation deployment means that the system can automatically select the hardware host, and automatically configure and start the virtual machine on the selected host according to the requirements of the application software, and then automatically install the application software on the virtual machine, the entire process does not need to be Manual intervention. The system can also automatically repeat the above process after the system load increases, so that more virtual machines and application software can process the service; or when the system load is reduced, the reverse process of the above process is automatically performed, and the virtual machine for processing the service is reduced. And the number of application software, so that some physical hosts can be released to enter a power-saving state, or release resources for use by other applications.
在云上运行的应用软件,一般是分布式的应用软件,即有多个软件模块同时提供服务,同一个应用软件的处理模块之间必然有通信流量。当前云计算管理系统在部署软件时,主要依靠配置足够的硬件,保证网络带宽。比如在主机1到主机10上部署应用软件A和应用软件B时,云管理系统只按照既定规则,比如所有主机负荷平均或者集成部署到少数主机的策略,把应用软件A和应用软件B的分布式处理模块部署在主机1到主机10上。The application software running on the cloud is generally distributed application software, that is, there are multiple software modules providing services at the same time, and there must be communication traffic between the processing modules of the same application software. When deploying software, the current cloud computing management system mainly relies on configuring enough hardware to ensure network bandwidth. For example, when deploying application software A and application software B from host 1 to host 10, the cloud management system only distributes application software A and application software B according to established rules, such as all host load averaging or integrated deployment to a small number of hosts. The processing module is deployed on the host 1 to the host 10.
现有的软件部署方法可能会形成离散部署结果,导致同一个应用软件分布式模块间的大部分通信流量都经过多台以太网交换机转发,造成网络设备过度配置,不利于节约成本和降低能耗,也会带来更大的时延。当系统超过一定规 模的时候,核心交换机的流量有可能超过现有技术能达到的最大传输带宽。Existing software deployment methods may result in discrete deployment results, resulting in most of the communication traffic between the same application software distributed modules being forwarded by multiple Ethernet switches, resulting in over-provisioning of network devices, which is not conducive to cost savings and energy consumption. Will also bring more delays. When the system exceeds a certain rule At the time of modulo, the traffic of the core switch may exceed the maximum transmission bandwidth that the prior art can achieve.
发明内容Summary of the invention
本发明实施例提供了一种软件部署的方法和装置,能够节约通信带宽,降低功耗。The embodiment of the invention provides a software deployment method and device, which can save communication bandwidth and reduce power consumption.
第一方面,提供了一种软件部署的方法,包括:获取云计算系统的通信拓扑信息;根据该通信拓扑信息,从第一主机集合中选择主机部署软件系统的虚拟机,其中,该第一主机集合为该云计算系统中待部署该软件系统的虚拟机的主机的集合。The first aspect provides a software deployment method, including: acquiring communication topology information of a cloud computing system; and selecting a virtual machine of the host deployment software system from the first host set according to the communication topology information, where the first The host collection is a collection of hosts of the virtual machine in the cloud computing system where the software system is to be deployed.
在第一种可能的实现方式中,根据该通信拓扑信息,从第一主机集合中选择主机部署软件系统的虚拟机,包括:In a first possible implementation, the virtual machine of the host deployment software system is selected from the first host set according to the communication topology information, including:
在该云计算系统中有已部署该软件系统的虚拟机的主机时,根据该通信拓扑信息,确定该第一主机集合中的主机与第二主机集合中的所有主机的亲和性,其中,该第二主机集合为该云计算系统中已部署该软件系统的虚拟机的主机的集合;When the host of the virtual machine of the software system is deployed in the cloud computing system, the affinity of the host in the first host set and all hosts in the second host set is determined according to the communication topology information, where The second host set is a set of hosts of the virtual machine in the cloud computing system where the software system has been deployed;
从该第一主机集合中选择该亲和性高的主机部署该软件系统的虚拟机。Selecting the host with high affinity from the first set of hosts to deploy the virtual machine of the software system.
结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,该通信拓扑信息包括该云计算系统中的主机之间的通信路径的跳数;With reference to the first possible implementation manner of the first aspect, in a second possible implementation manner, the communication topology information includes a hop count of a communication path between hosts in the cloud computing system;
根据该通信拓扑信息,确定该第一主机集合中的主机与第二主机集合中的所有主机的亲和性,包括:Determining, according to the communication topology information, the affinity of the host in the first host set and all hosts in the second host set, including:
根据该第一主机集合中的主机与该第二主机集合中的所有主机之间的通信路径的跳数,确定该亲和性。The affinity is determined according to the hop count of the communication path between the host in the first host set and all the hosts in the second host set.
结合第一方面的第二种可能的实现方式,在第三种可能的实现方式中,该亲和性的高低同该第一主机集合中的主机与该第二主机集合中的所有主机之间的通信路径的跳数的平均值或者总和的大小成反比。In conjunction with the second possible implementation of the first aspect, in a third possible implementation, the affinity is between the host in the first host set and all hosts in the second host set. The average number of hops of the communication path or the sum of the sums is inversely proportional.
结合第一方面的第二或三种可能的实现方式,在第四种可能的实现方式 中,获取云计算系统的通信拓扑信息,包括:In combination with the second or third possible implementation of the first aspect, in a fourth possible implementation Obtaining communication topology information of the cloud computing system, including:
接收该云计算系统中的每个主机发送的该每个主机与该云计算系统中的其他主机之间的通信路径的跳数,其中,该每个主机与该云计算系统中的其他主机之间的通信路径的跳数由该每个主机通过链路跟踪方式获得;Receiving, by each host in the cloud computing system, a hop count of a communication path between each host and other hosts in the cloud computing system, wherein each host and other hosts in the cloud computing system The number of hops of the communication path is obtained by each host through link tracking;
根据该每个主机与该云计算系统中的其他主机之间的通信路径的跳数确定该云计算系统中的主机之间的通信路径的跳数。The number of hops of the communication path between the hosts in the cloud computing system is determined based on the number of hops of the communication path between each host and other hosts in the cloud computing system.
结合第一方面的第二或三种可能的实现方式,在第五种可能的实现方式中,获取云计算系统的通信拓扑信息,包括:With reference to the second or the third possible implementation manner of the first aspect, in a fifth possible implementation manner, the communications topology information of the cloud computing system is obtained, including:
接收该云计算系统中的每个主机或网络设备发送的相邻节点信息,其中,该每个主机或网络设备发送的相邻节点信息由该每个主机或网络设备通过链路层发现协议LLDP或思科发现协议CDP方式获得;Receiving neighbor node information sent by each host or network device in the cloud computing system, where neighboring node information sent by each host or network device is passed by the host layer or network device through a link layer discovery protocol LLDP Or Cisco Discovery Protocol CDP mode is obtained;
根据该云计算系统中的所有主机和网络设备发送的相邻节点信息确定该云计算系统中的主机之间的通信路径的跳数。Determining the number of hops of the communication path between the hosts in the cloud computing system according to neighboring node information sent by all hosts and network devices in the cloud computing system.
结合第一方面的第一种可能的实现方式,在第六种可能的实现方式中,该通信拓扑信息包括该云计算系统中的主机之间的连接数量;With reference to the first possible implementation manner of the first aspect, in a sixth possible implementation manner, the communication topology information includes a number of connections between hosts in the cloud computing system;
根据该通信拓扑信息,确定该第一主机集合中的主机与第二主机集合中的所有主机的亲和性,包括:Determining, according to the communication topology information, the affinity of the host in the first host set and all hosts in the second host set, including:
根据该第一主机集合中的主机与该第二主机集合中的所有主机之间的连接数量,确定该亲和性。The affinity is determined according to the number of connections between the host in the first host set and all hosts in the second host set.
结合第一方面的第六种可能的实现方式,在第七种可能的实现方式中,该亲和性的高低同该第一主机集合中的主机与该第二主机集合中的所有主机之间的连接数量的平均值或者总和的大小成反比。In conjunction with the sixth possible implementation of the first aspect, in a seventh possible implementation, the affinity is the same as the host in the first host set and all hosts in the second host set. The average number of connections or the sum of the sums is inversely proportional.
结合第一方面的第六或七种可能的实现方式,在第八种可能的实现方式中,获取云计算系统的通信拓扑信息,包括:With reference to the sixth or the seventh possible implementation manner of the first aspect, in an eighth possible implementation manner, the communications topology information of the cloud computing system is obtained, including:
接收该云计算系统中的每个主机或网络设备发送的相邻节点信息,其中, 该每个主机或网络设备发送的相邻节点信息由该每个主机或网络设备通过LLDP或CDP方式获得;Receiving information about neighboring nodes sent by each host or network device in the cloud computing system, where The neighbor node information sent by each host or network device is obtained by the LLDP or CDP mode by each host or network device;
根据该云计算系统中的所有主机和网络设备发送的相邻节点信息确定该云计算系统中的主机之间的连接数量。Determining the number of connections between hosts in the cloud computing system according to neighboring node information sent by all hosts and network devices in the cloud computing system.
结合第一方面的第六或七种可能的实现方式,在第九种可能的实现方式中,获取云计算系统的通信拓扑信息,包括:With reference to the sixth or the seventh possible implementation of the first aspect, in a ninth possible implementation manner, the communications topology information of the cloud computing system is obtained, including:
根据预配置的该云计算系统中的所有主机和网络设备的连接关系确定该云计算系统中的主机之间的连接数量。The number of connections between hosts in the cloud computing system is determined according to a pre-configured connection relationship of all hosts and network devices in the cloud computing system.
结合第一方面的第一种可能的实现方式,在第十种可能的实现方式中,该通信拓扑信息包括该云计算系统中的主机的网络域信息;With reference to the first possible implementation of the first aspect, in a tenth possible implementation, the communication topology information includes network domain information of a host in the cloud computing system;
根据该通信拓扑信息,确定该第一主机集合中的主机与第二主机集合中的所有主机的亲和性,包括:Determining, according to the communication topology information, the affinity of the host in the first host set and all hosts in the second host set, including:
根据该第一主机集合中的主机的网络域信息和该第二主机集合中的所有主机的网络域信息,确定该亲和性。The affinity is determined according to network domain information of the host in the first host set and network domain information of all hosts in the second host set.
结合第一方面的第十种可能的实现方式,在第十一种可能的实现方式中,该亲和性的高低同该第一主机集合中的主机所处的网络域与该第二主机集合中的所有主机所处的网络域的差别的大小成反比。With reference to the tenth possible implementation manner of the foregoing aspect, in an eleventh possible implementation manner, the level of the affinity is the same as the network domain where the host in the first host set is located and the second host set The size of the difference in the network domain in which all hosts are located is inversely proportional.
结合第一方面的第十或十一种可能的实现方式,在第十二种可能的实现方式中,获取云计算系统的通信拓扑信息,包括:With reference to the tenth or eleven possible implementation manners of the first aspect, in a twelfth possible implementation, the communications topology information of the cloud computing system is obtained, including:
获取预配置的该云计算系统中的主机的网络域信息。Obtain the pre-configured network domain information of the host in the cloud computing system.
结合第一方面或第一方面的第一至十二种可能的实现方式中的任一种可能的实现方式,在第十三种可能的实现方式中,根据该通信拓扑信息,从第一主机集合中选择主机部署软件系统的虚拟机,包括:With reference to the first aspect or any one of the first to the twelve possible implementation manners of the first aspect, in the thirteenth possible implementation manner, according to the communication topology information, from the first host Select the virtual machine in the collection to deploy the software system to the host, including:
在该云计算系统中没有已部署该软件系统的虚拟机的主机时,根据该通信拓扑信息,确定该第一主机集合中的主机与第三主机集合中的所有主机的亲和 性,其中,该第三主机集合为该云计算系统中已部署其他软件系统的虚拟机的主机的集合;When the host of the virtual machine of the software system is not deployed in the cloud computing system, determining, according to the communication topology information, the affinity of the host in the first host set and all hosts in the third host set. The third host set is a set of hosts of the virtual machine in the cloud computing system where other software systems have been deployed;
从该第一主机集合中选择与该第三主机集合中的所有主机的亲和性低的主机部署该软件系统的虚拟机。A virtual machine having a low affinity with all hosts in the third host set is selected from the first set of hosts to deploy a virtual machine of the software system.
第二方面,提供了一种软件部署的装置,包括:获取模块,用于获取云计算系统的通信拓扑信息;部署模块,用于根据该通信拓扑信息,从第一主机集合中选择主机部署软件系统的虚拟机,其中,该第一主机集合为该云计算系统中待部署该软件系统的虚拟机的主机的集合。The second aspect provides a software deployment apparatus, including: an obtaining module, configured to acquire communication topology information of a cloud computing system; and a deployment module, configured to select a host deployment software from the first host set according to the communication topology information. The virtual machine of the system, wherein the first host set is a set of hosts of the virtual machine in the cloud computing system to be deployed the software system.
在第一种可能的实现方式中,该部署模块包括:In a first possible implementation manner, the deployment module includes:
第一确定单元,用于在该云计算系统中有已部署该软件系统的虚拟机的主机时,根据该通信拓扑信息,确定该第一主机集合中的主机与第二主机集合中的所有主机的亲和性,其中,该第二主机集合为该云计算系统中已部署该软件系统的虚拟机的主机的集合;a first determining unit, configured to: when the host of the virtual machine that has deployed the software system is deployed in the cloud computing system, determine, according to the communication topology information, a host in the first host set and all hosts in the second host set Affinity, wherein the second set of hosts is a set of hosts of the virtual machine in the cloud computing system that have deployed the software system;
第一部署单元,用于从该第一主机集合中选择该亲和性高的主机部署该软件系统的虚拟机。And a first deployment unit, configured to select, from the first set of hosts, the virtual machine with the high affinity to deploy the virtual machine of the software system.
结合第二方面的第一种可能的实现方式,在第二种可能的实现方式中,该通信拓扑信息包括该云计算系统中的主机之间的通信路径的跳数;With reference to the first possible implementation manner of the second aspect, in a second possible implementation manner, the communication topology information includes a hop count of a communication path between hosts in the cloud computing system;
该第一确定单元具体用于根据该第一主机集合中的主机与该第二主机集合中的所有主机之间的通信路径的跳数,确定该亲和性。The first determining unit is specifically configured to determine the affinity according to a hop count of a communication path between the host in the first host set and all hosts in the second host set.
结合第二方面的第二种可能的实现方式,在第三种可能的实现方式中,该亲和性的高低同该第一主机集合中的主机与该第二主机集合中的所有主机之间的通信路径的跳数的平均值或者总和的大小成反比。With the second possible implementation of the second aspect, in a third possible implementation, the affinity is between the host in the first host set and all hosts in the second host set. The average number of hops of the communication path or the sum of the sums is inversely proportional.
结合第二方面的第二或三种可能的实现方式,在第四种可能的实现方式中,该获取模块具体用于,接收该云计算系统中的每个主机发送的该每个主机与该云计算系统中的其他主机之间的通信路径的跳数,其中,该每个主机与该 云计算系统中的其他主机之间的通信路径的跳数由该每个主机通过链路跟踪方式获得,根据该每个主机与该云计算系统中的其他主机之间的通信路径的跳数确定该云计算系统中的主机之间的通信路径的跳数。With reference to the second or the third possible implementation of the second aspect, in a fourth possible implementation, the acquiring module is specifically configured to receive each host sent by each host in the cloud computing system and the The number of hops of the communication path between other hosts in the cloud computing system, where each host and the The number of hops of the communication path between other hosts in the cloud computing system is obtained by the each host through link tracking, and is determined according to the hop count of the communication path between each host and other hosts in the cloud computing system. The number of hops of the communication path between hosts in the cloud computing system.
结合第二方面的第二或三种可能的实现方式,在第五种可能的实现方式中,该获取模块具体用于,接收该云计算系统中的每个主机或网络设备发送的相邻节点信息,其中,该每个主机或网络设备发送的相邻节点信息由该每个主机或网络设备通过链路层发现协议LLDP或思科发现协议CDP方式获得,根据该云计算系统中的所有主机和网络设备发送的相邻节点信息确定该云计算系统中的主机之间的通信路径的跳数。With reference to the second or the third possible implementation of the second aspect, in a fifth possible implementation, the acquiring module is specifically configured to receive, by each host or network device, a neighboring node sent by the network computing system Information, wherein the neighbor node information sent by each host or network device is obtained by each host or network device by a link layer discovery protocol LLDP or a Cisco Discovery Protocol CDP mode, according to all hosts in the cloud computing system and The neighbor node information transmitted by the network device determines the hop count of the communication path between the hosts in the cloud computing system.
结合第二方面的第一种可能的实现方式,在第六种可能的实现方式中,该通信拓扑信息包括该云计算系统中的主机之间的连接数量;With reference to the first possible implementation of the second aspect, in a sixth possible implementation, the communication topology information includes a number of connections between hosts in the cloud computing system;
该第一确定单元具体用于根据该第一主机集合中的主机与该第二主机集合中的所有主机之间的连接数量,确定该亲和性。The first determining unit is specifically configured to determine the affinity according to the number of connections between the host in the first host set and all hosts in the second host set.
结合第二方面的第六种可能的实现方式,在第七种可能的实现方式中,该亲和性的高低同该第一主机集合中的主机与该第二主机集合中的所有主机之间的连接数量的平均值或者总和的大小成反比。In conjunction with the sixth possible implementation of the second aspect, in a seventh possible implementation, the affinity is between the host in the first host set and all hosts in the second host set. The average number of connections or the sum of the sums is inversely proportional.
结合第二方面的第六或七种可能的实现方式,在第八种可能的实现方式中,该获取模块具体用于,接收该云计算系统中的每个主机或网络设备发送的相邻节点信息,其中,该每个主机或网络设备发送的相邻节点信息由该每个主机或网络设备通过LLDP或CDP方式获得,根据该云计算系统中的所有主机和网络设备发送的相邻节点信息确定该云计算系统中的主机之间的连接数量。With reference to the sixth or the seventh possible implementation of the second aspect, in an eighth possible implementation, the acquiring module is specifically configured to receive, by each host or network device, a neighboring node sent by the network computing system Information, wherein the neighbor node information sent by each host or network device is obtained by the LLDP or CDP mode by each host or network device, and the neighbor node information sent by all hosts and network devices in the cloud computing system is obtained. Determine the number of connections between hosts in the cloud computing system.
结合第二方面的第六或七种可能的实现方式,在第九种可能的实现方式中,该获取模块具体用于,根据预配置的该云计算系统中的所有主机和网络设备的连接关系确定该云计算系统中的主机之间的连接数量。With reference to the sixth or the seventh possible implementation of the second aspect, in a ninth possible implementation manner, the acquiring module is specifically configured to: according to a pre-configured connection relationship between all hosts and network devices in the cloud computing system Determine the number of connections between hosts in the cloud computing system.
结合第二方面的第一种可能的实现方式,在第十种可能的实现方式中,该 通信拓扑信息包括该云计算系统中的主机的网络域信息;In conjunction with the first possible implementation of the second aspect, in a tenth possible implementation, The communication topology information includes network domain information of a host in the cloud computing system;
该第一确定单元具体用于根据该第一主机集合中的主机的网络域信息和该第二主机集合中的所有主机的网络域信息,确定该亲和性。The first determining unit is specifically configured to determine the affinity according to network domain information of the host in the first host set and network domain information of all hosts in the second host set.
结合第二方面的第十种可能的实现方式,在第十一种可能的实现方式中,该亲和性的高低同该第一主机集合中的主机所处的网络域与该第二主机集合中的所有主机所处的网络域的差别的大小成反比。With reference to the tenth possible implementation manner of the second aspect, in an eleventh possible implementation manner, the affinity is different from the network domain in which the host in the first host set is located and the second host set The size of the difference in the network domain in which all hosts are located is inversely proportional.
结合第二方面的第十或十一种可能的实现方式,在第十二种可能的实现方式中,该获取模块具体用于获取预配置的该云计算系统中的主机的网络域信息。With reference to the tenth or eleven possible implementation manners of the second aspect, in a twelfth possible implementation, the acquiring module is specifically configured to obtain network domain information of a host in the pre-configured cloud computing system.
结合第二方面或第二方面的第一至十二种可能的实现方式中的任一种可能的实现方式,在第十三种可能的实现方式中,该部署模块包括:With reference to the second aspect or any one of the first to the twelve possible implementation manners of the second aspect, in a thirteenth possible implementation manner, the deployment module includes:
第二确定单元,用于在该云计算系统中没有已部署该软件系统的虚拟机的主机时,根据该通信拓扑信息,确定该第一主机集合中的主机与第三主机集合中的所有主机的亲和性,其中,该第三主机集合为该云计算系统中已部署其他软件系统的虚拟机的主机的集合;a second determining unit, configured to: when the host of the virtual machine of the software system is deployed in the cloud computing system, determine, according to the communication topology information, all hosts in the first host set and the third host set Affinity, wherein the third host set is a set of hosts of the virtual machine in the cloud computing system where other software systems have been deployed;
第二部署单元,用于从该第一主机集合中选择与该第三主机集合中的所有主机的亲和性低的主机部署该软件系统的虚拟机。And a second deployment unit, configured to select, from the first set of hosts, a virtual machine that has low affinity with all hosts in the third host set to deploy the virtual machine of the software system.
基于上述技术方案,本发明实施例的软件部署的方法和装置,通过根据云计算系统的通信拓扑信息选择主机部署软件系统的虚拟机,可以将同一软件系统的虚拟机集中部署,从而能够节约通信带宽,降低成本和功耗。Based on the foregoing technical solution, the software deployment method and device of the embodiment of the present invention can select a virtual machine of the host software system according to the communication topology information of the cloud computing system, and the virtual machine of the same software system can be deployed in a centralized manner, thereby saving communication. Bandwidth, reducing cost and power consumption.
附图说明DRAWINGS
为了更清楚地说明本发明实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。 In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings used in the embodiments or the prior art description will be briefly described below. Obviously, the drawings in the following description are only some of the present invention. For the embodiments, those skilled in the art can obtain other drawings according to the drawings without any creative work.
图1是根据本发明一个实施例的软件部署的方法的示意性流程图。1 is a schematic flow chart of a method of software deployment in accordance with one embodiment of the present invention.
图2是根据本发明另一实施例的软件部署的方法的示意性流程图。2 is a schematic flow chart of a method for software deployment according to another embodiment of the present invention.
图3是根据本发明一个实施例的云计算系统的示意图。3 is a schematic diagram of a cloud computing system in accordance with one embodiment of the present invention.
图4是根据本发明另一实施例的云计算系统的示意图。4 is a schematic diagram of a cloud computing system in accordance with another embodiment of the present invention.
图5是根据本发明又一实施例的云计算系统的示意图。FIG. 5 is a schematic diagram of a cloud computing system in accordance with yet another embodiment of the present invention.
图6是根据本发明一个实施例的软件部署结果的示意图。6 is a schematic diagram of software deployment results in accordance with one embodiment of the present invention.
图7是根据本发明一个实施例的软件部署的装置的示意性框图。7 is a schematic block diagram of an apparatus for software deployment in accordance with one embodiment of the present invention.
图8是根据本发明一个实施例的部署模块的示意性框图。Figure 8 is a schematic block diagram of a deployment module in accordance with one embodiment of the present invention.
图9是根据本发明另一实施例的部署模块的示意性框图。9 is a schematic block diagram of a deployment module in accordance with another embodiment of the present invention.
图10是根据本发明另一实施例的软件部署的装置的结构示意图。FIG. 10 is a schematic structural diagram of an apparatus for software deployment according to another embodiment of the present invention.
具体实施方式detailed description
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下获得的所有其他实施例,都属于本发明保护的范围。The technical solutions in the embodiments of the present invention are clearly and completely described in the following with reference to the accompanying drawings in the embodiments of the present invention. It is obvious that the described embodiments are only a part of the embodiments of the present invention, and not all embodiments. All other embodiments obtained by those skilled in the art based on the embodiments of the present invention without creative efforts are within the scope of the present invention.
图1示出了根据本发明实施例的软件部署的方法100的示意性流程图。如图1所示,该方法100包括:FIG. 1 shows a schematic flow diagram of a method 100 of software deployment in accordance with an embodiment of the present invention. As shown in FIG. 1, the method 100 includes:
S110,获取云计算系统的通信拓扑信息;S110. Obtain communication topology information of the cloud computing system.
S120,根据该通信拓扑信息,从第一主机集合中选择主机部署软件系统的虚拟机,其中,该第一主机集合为云计算系统中待部署该软件系统的虚拟机的主机的集合。S120. Select a virtual machine of the host deployment software system from the first host set according to the communication topology information, where the first host set is a set of hosts of the virtual machine in the cloud computing system where the software system is to be deployed.
在本发明实施例中,方法100的执行主体为软件部署的装置。该装置可以为云计算管理系统中的装置,也可以为云计算管理系统本身,本发明实施例对此并不限定。In the embodiment of the present invention, the execution subject of the method 100 is a device deployed by software. The device may be a device in the cloud computing management system or a cloud computing management system itself, which is not limited by the embodiment of the present invention.
应理解,在本发明实施例中,软件系统也可以表述为软件。在云计算系统 中部署软件系统时,需要在云计算系统中选择主机部署该软件系统的虚拟机,再在虚拟机上安装该软件系统。It should be understood that in the embodiments of the present invention, the software system may also be expressed as software. In the cloud computing system When the software system is deployed, the virtual machine in which the software system is deployed is selected in the cloud computing system, and then the software system is installed on the virtual machine.
在部署软件系统时,软件部署的装置首先获取云计算系统的通信拓扑信息,再根据该通信拓扑信息,从第一主机集合中选择主机部署该软件系统的虚拟机。在本发明实施例中,第一主机集合为云计算系统中待部署该软件系统的虚拟机的主机的集合。应理解,本发明实施例采用术语第一主机集合只是为了描述方便,不对本发明实施例作任何限定。在本发明实施例中,软件部署的装置根据云计算系统的通信拓扑信息选择主机部署软件系统的虚拟机,这样,部署的结果就会与云计算系统的通信拓扑相关,便于将同一软件系统的虚拟机集中部署。也就是说,同一软件系统的虚拟机可以部署在与同一个或较少交换机连接的主机上,因此同一软件系统的通信流量可以经过较少交换机转发,从而能够节约通信带宽,降低成本和功耗。When the software system is deployed, the software deployed device first obtains the communication topology information of the cloud computing system, and then selects, according to the communication topology information, the virtual machine that the host deploys the software system from the first host set. In the embodiment of the present invention, the first host set is a set of hosts of the virtual machine in the cloud computing system where the software system is to be deployed. It should be understood that the term "first host set" is used in the embodiment of the present invention for convenience of description, and does not limit the embodiment of the present invention. In the embodiment of the present invention, the software deployment device selects the virtual machine of the host deployment software system according to the communication topology information of the cloud computing system, so that the result of the deployment is related to the communication topology of the cloud computing system, and is convenient for the same software system. Virtual machine centralized deployment. That is to say, virtual machines of the same software system can be deployed on hosts connected to the same or fewer switches, so communication traffic of the same software system can be forwarded by fewer switches, thereby saving communication bandwidth, reducing cost and power consumption. .
因此,本发明实施例的软件部署的方法,通过根据云计算系统的通信拓扑信息选择主机部署软件系统的虚拟机,可以将同一软件系统的虚拟机集中部署,从而能够节约通信带宽,降低成本和功耗。Therefore, the software deployment method of the embodiment of the present invention can centrally deploy the virtual machine of the same software system by selecting the virtual machine of the host deployment software system according to the communication topology information of the cloud computing system, thereby saving communication bandwidth and reducing cost and Power consumption.
在本发明实施例中,可选地,如图2所示,根据该通信拓扑信息,从第一主机集合中选择主机部署软件系统的虚拟机,包括:In the embodiment of the present invention, optionally, as shown in FIG. 2, selecting a virtual machine of the host deployment software system from the first host set according to the communication topology information includes:
S121,在该云计算系统中有已部署该软件系统的虚拟机的主机时,根据该通信拓扑信息,确定该第一主机集合中的主机与第二主机集合中的所有主机的亲和性,其中,该第二主机集合为该云计算系统中已部署该软件系统的虚拟机的主机的集合;S121, when there is a host of the virtual machine in which the software system is deployed in the cloud computing system, determining, according to the communication topology information, an affinity between the host in the first host set and all hosts in the second host set, The second host set is a set of hosts of the virtual machine in which the software system has been deployed in the cloud computing system;
S122,从该第一主机集合中选择该亲和性高的主机部署该软件系统的虚拟机。S122. Select a host with high affinity from the first host set to deploy a virtual machine of the software system.
在本发明实施例中,第二主机集合为云计算系统中已部署该软件系统的虚拟机的主机的集合。应理解,本发明实施例采用术语第二主机集合也只是为了 描述方便,不对本发明实施例作任何限定。In the embodiment of the present invention, the second host set is a set of hosts of the virtual machine in which the software system has been deployed in the cloud computing system. It should be understood that the embodiment of the present invention adopts the term second host set only for the purpose of The description is convenient and the invention is not limited in any way.
在根据通信拓扑信息部署软件系统的虚拟机时,若云计算系统中有已部署该软件系统的虚拟机的主机,即第二主机集合不为空,软件部署的装置先根据该通信拓扑信息,确定第一主机集合中的主机与第二主机集合中的所有主机的亲和性,再根据该亲和性,从该第一主机集合中选择主机部署该软件系统的虚拟机。具体地,软件部署的装置从第一主机集合中选择亲和性高的主机部署该软件系统的虚拟机。例如,从第一主机集合中选择亲和性最高的主机部署该软件系统的虚拟机,或者,在亲和性最高的主机不能部署该软件系统的虚拟机时,选择剩余主机中亲和性最高的主机部署该软件系统的虚拟机。When the virtual machine of the software system is deployed according to the communication topology information, if the host of the virtual machine in which the software system is deployed is in the cloud computing system, that is, the second host set is not empty, the software deployment device first according to the communication topology information. Determining the affinity of the host in the first host set and all the hosts in the second host set, and then selecting, according to the affinity, the virtual machine that the host deploys the software system from the first host set. Specifically, the software deployed device selects a host with high affinity from the first set of hosts to deploy the virtual machine of the software system. For example, selecting the host with the highest affinity from the first host set to deploy the virtual machine of the software system, or selecting the remaining host with the highest affinity when the host with the highest affinity cannot deploy the virtual machine of the software system. The host deploys the virtual machine of the software system.
在本发明实施例中,亲和性表示一个主机与一个主机集合内的所有主机的远近关系。亲和性可以根据通信拓扑信息确定。对应不同的通信拓扑信息的内容,确定亲和性的方式也有多种,以下分别进行描述。In the embodiment of the present invention, the affinity indicates the proximity relationship between a host and all hosts in a host set. Affinity can be determined based on communication topology information. There are various ways to determine the affinity for the content of different communication topology information, which are described separately below.
在本发明实施例中,可选地,该通信拓扑信息包括该云计算系统中的主机之间的通信路径的跳数。In the embodiment of the present invention, optionally, the communication topology information includes a hop count of a communication path between hosts in the cloud computing system.
在这种情况下,根据该通信拓扑信息,确定该第一主机集合中的主机与第二主机集合中的所有主机的亲和性,包括:In this case, determining, according to the communication topology information, the affinity of the host in the first host set and all hosts in the second host set, including:
根据该第一主机集合中的主机与该第二主机集合中的所有主机之间的通信路径的跳数,确定该亲和性。The affinity is determined according to the hop count of the communication path between the host in the first host set and all the hosts in the second host set.
具体而言,在本实施例中,通信拓扑信息为云计算系统中的主机之间的通信路径的跳数。例如,在如图3所示的云计算系统中,主机1-1与主机1-2之间的通信路径的跳数为2;主机1-1与主机2-1之间的通信路径的跳数为4。在这种情况下,第一主机集合中的主机与第二主机集合中的所有主机的亲和性可以根据第一主机集合中的主机与第二主机集合中的所有主机之间的通信路径的跳数确定。Specifically, in this embodiment, the communication topology information is the hop count of the communication path between the hosts in the cloud computing system. For example, in the cloud computing system shown in FIG. 3, the hop count of the communication path between the host 1-1 and the host 1-2 is 2; the hop of the communication path between the host 1-1 and the host 2-1 The number is 4. In this case, the affinity of the host in the first host set and all the hosts in the second host set may be based on a communication path between the host in the first host set and all hosts in the second host set. The number of hops is determined.
可选地,该亲和性的高低同该第一主机集合中的主机与该第二主机集合中 的所有主机之间的通信路径的跳数的平均值或者总和的大小成反比。Optionally, the affinity is the same as the host in the first host set and the second host set. The average or the sum of the hop counts of the communication paths between all the hosts is inversely proportional.
以图3所示的云计算系统为例,假如第二主机集合包括主机1-1和主机1-2,第一主机集合包括主机1-3,主机2-1,主机2-2和主机2-3,即主机1-1和主机1-2已部署了软件系统的虚拟机,主机1-3,主机2-1,主机2-2和主机2-3待部署该软件系统的虚拟机,在从第一主机集合中选择主机部署该软件系统的虚拟机时,需要确定第一主机集合中的每个主机与第二主机集合中的所有主机之间的通信路径的跳数,进而确定第一主机集合中的每个主机与第二主机集合中的所有主机的亲和性。Taking the cloud computing system shown in FIG. 3 as an example, if the second host set includes the host 1-1 and the host 1-2, the first host set includes the host 1-3, the host 2-1, the host 2-2, and the host 2 -3, that is, the host computer 1-1 and the host 1-2 have deployed the virtual machine of the software system, the host 1-3, the host 2-1, the host 2-2, and the host 2-3 to be deployed the virtual machine of the software system, When selecting a virtual machine that deploys the software system from the first host set, it is required to determine the hop count of the communication path between each host in the first host set and all hosts in the second host set, thereby determining the number The affinity of each host in a set of hosts to all hosts in the second set of hosts.
主机1-3与主机1-1之间的通信路径的跳数为2,与主机1-2之间的通信路径的跳数为2,平均值为2,总和为4;The hop count of the communication path between the host 1-3 and the host 1-1 is 2, the hop count of the communication path with the host 1-2 is 2, the average value is 2, and the sum is 4;
主机2-1与主机1-1之间的通信路径的跳数为4,与主机1-2之间的通信路径的跳数为4,平均值为4,总和为8;The hop count of the communication path between the host 2-1 and the host 1-1 is 4, the hop count of the communication path with the host 1-2 is 4, the average value is 4, and the sum is 8;
主机2-2与主机1-1之间的通信路径的跳数为4,与主机1-2之间的通信路径的跳数为4,平均值为4,总和为8;The hop count of the communication path between the host 2-2 and the host 1-1 is 4, the hop count of the communication path with the host 1-2 is 4, the average value is 4, and the sum is 8;
主机2-3与主机1-1之间的通信路径的跳数为4,与主机1-2之间的通信路径的跳数为4,平均值为4,总和为8。The number of hops of the communication path between the host 2-3 and the host 1-1 is 4, the hop count of the communication path with the host 1-2 is 4, the average value is 4, and the sum is 8.
亲和性的高低同第一主机集合中的主机与第二主机集合中的所有主机之间的通信路径的跳数的平均值或者总和的大小成反比。因此,第一主机集合中主机1-3的亲和性最高,主机1-3被选择出来部署该软件系统的虚拟机。这样,同一软件系统的虚拟机部署在主机1-1,主机1-2和主机1-3上,该软件系统内的流量只经过以太网交换机L2-1,因此能够节约通信带宽,降低网络设备的使用成本和功耗。The level of affinity is inversely proportional to the average or sum of the hop counts of the communication paths between the hosts in the first set of hosts and all the hosts in the second set of hosts. Therefore, hosts 1-3 in the first set of hosts have the highest affinity, and hosts 1-3 are selected to deploy virtual machines of the software system. In this way, the virtual machines of the same software system are deployed on the host 1-1, the host 1-2, and the hosts 1-3. The traffic in the software system only passes through the Ethernet switch L2-1, thereby saving communication bandwidth and reducing network equipment. Cost of use and power consumption.
在通信拓扑信息为云计算系统中的主机之间的通信路径的跳数时,通信拓扑信息的获取方式也有多种。When the communication topology information is the hop count of the communication path between the hosts in the cloud computing system, the communication topology information is acquired in various ways.
在本发明实施例中,可选地,获取云计算系统的通信拓扑信息,包括: In the embodiment of the present invention, optionally, acquiring communication topology information of the cloud computing system includes:
接收该云计算系统中的每个主机发送的该每个主机与该云计算系统中的其他主机之间的通信路径的跳数,其中,该每个主机与该云计算系统中的其他主机之间的通信路径的跳数由该每个主机通过链路跟踪方式获得;Receiving, by each host in the cloud computing system, a hop count of a communication path between each host and other hosts in the cloud computing system, wherein each host and other hosts in the cloud computing system The number of hops of the communication path is obtained by each host through link tracking;
根据该每个主机与该云计算系统中的其他主机之间的通信路径的跳数确定该云计算系统中的主机之间的通信路径的跳数。The number of hops of the communication path between the hosts in the cloud computing system is determined based on the number of hops of the communication path between each host and other hosts in the cloud computing system.
具体而言,每个主机通过链路跟踪方式获得每个主机与该云计算系统中的其他主机之间的通信路径的跳数。例如,在如图3所示的云计算系统中,主机1-1向所有其他的主机发送链路跟踪消息,其中给主机1-2的链路跟踪消息只经过以太网交换机L2-1,主机1-1在这条路径上会收到来自以太网交换机L2-1和主机1-2的2条链路跟踪响应消息,因此主机1-1能够获知其与主机1-2之间的通信路径的跳数为2;而给主机2-1的链路跟踪消息会经过以太网交换机L2-1、以太网交换机L1-1、以太网交换机L2-2,所以在这条路径上会收到来自以太网交换机L2-1、以太网交换机L1-1、以太网交换机L2-2和主机2-1的4条链路跟踪响应消息,因此主机1-1能够获知其与主机2-1之间的通信路径的跳数为4。以此类推,每个主机都能知道自己与云计算系统中的其他主机之间的通信路径的跳数。Specifically, each host obtains the hop count of the communication path between each host and other hosts in the cloud computing system through a link tracking manner. For example, in the cloud computing system shown in FIG. 3, the host 1-1 sends a link tracking message to all other hosts, wherein the link tracking message to the host 1-2 passes only through the Ethernet switch L2-1, the host 1-1 will receive two link tracking response messages from the Ethernet switch L2-1 and the host 1-2 on this path, so the host 1-1 can know the communication path between it and the host 1-2. The number of hops is 2; the link trace message to host 2-1 will pass through Ethernet switch L2-1, Ethernet switch L1-1, and Ethernet switch L2-2, so it will receive from this path. The four links of the Ethernet switch L2-1, the Ethernet switch L1-1, the Ethernet switch L2-2, and the host 2-1 track the response message, so the host 1-1 can know that it is between the host 2-1 and the host 2-1. The number of hops of the communication path is 4. By analogy, each host knows the number of hops of its communication path with other hosts in the cloud computing system.
每个主机向软件部署的装置发送每个主机与云计算系统中的其他主机之间的通信路径的跳数,这样,软件部署的装置可以根据每个主机与云计算系统中的其他主机之间的通信路径的跳数确定云计算系统中的主机之间的通信路径的跳数。在本实施方式中,每个主机可以通过云计算系统中现有的管理通道向软件部署的装置发送每个主机与云计算系统中的其他主机之间的通信路径的跳数。Each host sends a hop count of the communication path between each host and other hosts in the cloud computing system to the software deployed device, such that the software deployed device can be based on each host and other hosts in the cloud computing system The hop count of the communication path determines the number of hops of the communication path between the hosts in the cloud computing system. In this embodiment, each host may send the hop count of the communication path between each host and other hosts in the cloud computing system to the software deployed device through the existing management channel in the cloud computing system.
每个主机可以周期性的向云计算系统的其他主机发送链路跟踪消息,以自动探测网络的变化,并将探测得到的结果通过管理通道发送到软件部署的装置,以使软件部署的装置刷新记录的结果。 Each host can periodically send link tracking messages to other hosts of the cloud computing system to automatically detect network changes and send the detected results to the software deployed device through the management channel to refresh the software deployed devices. Recorded results.
在本发明实施例中,可选地,获取云计算系统的通信拓扑信息,包括:In the embodiment of the present invention, optionally, acquiring communication topology information of the cloud computing system includes:
接收该云计算系统中的每个主机或网络设备发送的相邻节点信息,其中,该每个主机或网络设备发送的相邻节点信息由该每个主机或网络设备通过链路层发现协议(Link Layer Discovery Protocol,LLDP)或思科发现协议(Cisco Discovery Protocol,CDP)方式获得;Receiving neighbor node information sent by each host or network device in the cloud computing system, where neighboring node information sent by each host or network device is passed by the host layer or network device through a link layer discovery protocol ( Link Layer Discovery Protocol (LLDP) or Cisco Discovery Protocol (CDP) method;
根据该云计算系统中的所有主机和网络设备发送的相邻节点信息确定该云计算系统中的主机之间的通信路径的跳数。Determining the number of hops of the communication path between the hosts in the cloud computing system according to neighboring node information sent by all hosts and network devices in the cloud computing system.
具体而言,每个主机或网络设备通过LLDP或CDP方式获得相邻节点信息,并将相邻节点信息发送给软件部署的装置,软件部署的装置根据相邻节点信息确定云计算系统中的主机之间的通信路径的跳数。例如,在如图4所示的云计算系统中,每个主机上的虚拟交换机和以太网交换机通过LLDP或CDP方式获得相邻节点信息,然后,各主机以及以太网交换机通过管理通道将各自的相邻节点信息发送给软件部署的装置。在本实施方式中,软件部署的装置需要与以太网交换机建立管理通道,以太网交换机通过建立的管理通道向软件部署的装置发送相邻节点信息。Specifically, each host or network device obtains neighbor node information through LLDP or CDP, and sends neighbor node information to the software deployment device, and the software deployment device determines the host in the cloud computing system according to the neighbor node information. The number of hops between the communication paths. For example, in the cloud computing system shown in FIG. 4, the virtual switch and the Ethernet switch on each host obtain neighbor node information through LLDP or CDP, and then each host and the Ethernet switch pass their respective management channels. Adjacent node information is sent to the device deployed by the software. In this embodiment, the software deployed device needs to establish a management channel with the Ethernet switch, and the Ethernet switch sends the neighbor node information to the software deployed device through the established management channel.
在本发明实施例中,可选地,该通信拓扑信息包括该云计算系统中的主机之间的连接数量。In the embodiment of the present invention, optionally, the communication topology information includes a number of connections between hosts in the cloud computing system.
在这种情况下,根据该通信拓扑信息,确定该第一主机集合中的主机与第二主机集合中的所有主机的亲和性,包括:In this case, determining, according to the communication topology information, the affinity of the host in the first host set and all hosts in the second host set, including:
根据该第一主机集合中的主机与该第二主机集合中的所有主机之间的连接数量,确定该亲和性。The affinity is determined according to the number of connections between the host in the first host set and all hosts in the second host set.
具体而言,在本实施例中,通信拓扑信息为云计算系统中的主机之间的连接数量。例如,在如图4所示的云计算系统中,主机1-1与主机1-2之间的连接数量为2;主机1-1与主机2-1之间的连接数量为4。在这种情况下,第一主机集合中的主机与第二主机集合中的所有主机的亲和性可以根据第一主机集 合中的主机与第二主机集合中的所有主机之间的连接数量确定。Specifically, in this embodiment, the communication topology information is the number of connections between hosts in the cloud computing system. For example, in the cloud computing system shown in FIG. 4, the number of connections between the host 1-1 and the host 1-2 is 2; the number of connections between the host 1-1 and the host 2-1 is 4. In this case, the affinity of the host in the first host set and all the hosts in the second host set may be based on the first host set. The number of connections between the host in the middle and all hosts in the second set of hosts is determined.
可选地,该亲和性的高低同该第一主机集合中的主机与该第二主机集合中的所有主机之间的连接数量的平均值或者总和的大小成反比。Optionally, the affinity is inversely proportional to the average or the sum of the number of connections between the host in the first host set and all hosts in the second host set.
以图4所示的云计算系统为例,假如第二主机集合包括主机1-1和主机1-2,第一主机集合包括主机1-3,主机2-1,主机2-2和主机2-3。Taking the cloud computing system shown in FIG. 4 as an example, if the second host set includes the host 1-1 and the host 1-2, the first host set includes the host 1-3, the host 2-1, the host 2-2, and the host 2 -3.
主机1-3与主机1-1之间的连接数量为2,与主机1-2之间的连接数量为2,平均值为2,总和为4;The number of connections between the host 1-3 and the host 1-1 is 2, the number of connections with the host 1-2 is 2, the average value is 2, and the sum is 4;
主机2-1与主机1-1之间的连接数量为4,与主机1-2之间的连接数量为4,平均值为4,总和为8;The number of connections between the host 2-1 and the host 1-1 is 4, the number of connections with the host 1-2 is 4, the average value is 4, and the sum is 8.
主机2-2与主机1-1之间的连接数量为4,与主机1-2之间的连接数量为4,平均值为4,总和为8;The number of connections between the host 2-2 and the host 1-1 is 4, the number of connections with the host 1-2 is 4, the average value is 4, and the sum is 8.
主机2-3与主机1-1之间的连接数量为4,与主机1-2之间的连接数量为4,平均值为4,总和为8。The number of connections between the host 2-3 and the host 1-1 is 4, the number of connections with the host 1-2 is 4, the average value is 4, and the sum is 8.
亲和性的高低同第一主机集合中的主机与第二主机集合中的所有主机之间的连接数量的平均值或者总和的大小成反比。因此,第一主机集合中主机1-3的亲和性最高,主机1-3被选择出来部署该软件系统的虚拟机。这样,同一软件系统的虚拟机部署在主机1-1,主机1-2和主机1-3上,该软件系统内的流量只经过以太网交换机L2-1,因此能够节约通信带宽,降低网络设备的使用成本和功耗。The level of affinity is inversely proportional to the average or sum of the number of connections between the host in the first set of hosts and all hosts in the second set of hosts. Therefore, hosts 1-3 in the first set of hosts have the highest affinity, and hosts 1-3 are selected to deploy virtual machines of the software system. In this way, the virtual machines of the same software system are deployed on the host 1-1, the host 1-2, and the hosts 1-3. The traffic in the software system only passes through the Ethernet switch L2-1, thereby saving communication bandwidth and reducing network equipment. Cost of use and power consumption.
在通信拓扑信息为云计算系统中的主机之间的连接数量时,通信拓扑信息的获取方式也有多种。When the communication topology information is the number of connections between hosts in the cloud computing system, the communication topology information is acquired in various ways.
在本发明实施例中,可选地,获取云计算系统的通信拓扑信息,包括:In the embodiment of the present invention, optionally, acquiring communication topology information of the cloud computing system includes:
接收该云计算系统中的每个主机或网络设备发送的相邻节点信息,其中,该每个主机或网络设备发送的相邻节点信息由该每个主机或网络设备通过LLDP或CDP方式获得; Receiving, by the host or the network device, neighboring node information sent by the host or the network device, where the neighboring node information sent by each host or network device is obtained by using the LLDP or CDP mode;
根据该云计算系统中的所有主机和网络设备发送的相邻节点信息确定该云计算系统中的主机之间的连接数量。Determining the number of connections between hosts in the cloud computing system according to neighboring node information sent by all hosts and network devices in the cloud computing system.
在本实施方式中,软件部署的装置根据相邻节点信息,确定主机之间的连接数量。In this embodiment, the software deployed device determines the number of connections between the hosts based on the neighbor node information.
在本发明实施例中,可选地,获取云计算系统的通信拓扑信息,包括:In the embodiment of the present invention, optionally, acquiring communication topology information of the cloud computing system includes:
根据预配置的该云计算系统中的所有主机和网络设备的连接关系确定该云计算系统中的主机之间的连接数量。The number of connections between hosts in the cloud computing system is determined according to a pre-configured connection relationship of all hosts and network devices in the cloud computing system.
在本实施方式中,预配置云计算系统中各个节点的连接关系。也就是说,将云计算系统中各个主机和网络设备的连接关系预先配置到软件部署的装置,这样,软件部署的装置可以根据预配置的连接关系得到主机之间的连接数量。In this embodiment, the connection relationship of each node in the cloud computing system is pre-configured. That is to say, the connection relationship between each host and the network device in the cloud computing system is pre-configured to the software deployment device, so that the software deployed device can obtain the number of connections between the hosts according to the pre-configured connection relationship.
在本发明实施例中,可选地,通信拓扑信息包括该云计算系统中的主机的网络域信息。In the embodiment of the present invention, optionally, the communication topology information includes network domain information of the host in the cloud computing system.
在这种情况下,根据该通信拓扑信息,确定该第一主机集合中的主机与第二主机集合中的所有主机的亲和性,包括:In this case, determining, according to the communication topology information, the affinity of the host in the first host set and all hosts in the second host set, including:
根据该第一主机集合中的主机的网络域信息和该第二主机集合中的所有主机的网络域信息,确定该亲和性。The affinity is determined according to network domain information of the host in the first host set and network domain information of all hosts in the second host set.
具体而言,在本实施例中,通信拓扑信息为云计算系统中的主机的网络域信息。如图5所示,云计算系统被分为多个网络域。例如,网络域L2-1包含主机1-1、1-2、1-3,网络域L2-2包含主机2-1、2-2、2-3,网络域L2-3包含主机3-1、3-2、3-3,网络域L2-4包含主机4-1、4-2、4-3。网络域还可以递归嵌套,例如,网络域L1-1包含网络域L2-1、L2-2,网络域L1-2包含网络域L2-3、L2-4。根据主机的网络域信息,可以确定亲和性。若主机与第二集合中的主机处于同一网络域,则亲和性高;若处于不同的网络域,则亲和性低。Specifically, in this embodiment, the communication topology information is network domain information of a host in the cloud computing system. As shown in FIG. 5, the cloud computing system is divided into multiple network domains. For example, the network domain L2-1 includes hosts 1-1, 1-2, and 1-3, the network domain L2-2 includes hosts 2-1, 2-2, and 2-3, and the network domain L2-3 includes hosts 3-1. , 3-2, 3-3, the network domain L2-4 includes hosts 4-1, 4-2, 4-3. The network domain can also be recursively nested. For example, the network domain L1-1 includes the network domains L2-1 and L2-2, and the network domain L1-2 includes the network domains L2-3 and L2-4. Affinity can be determined based on the host's network domain information. If the host is in the same network domain as the host in the second set, the affinity is high; if it is in a different network domain, the affinity is low.
可选地,该亲和性的高低同该第一主机集合中的主机所处的网络域与该第二主机集合中的所有主机所处的网络域的差别的大小成反比。 Optionally, the level of the affinity is inversely proportional to the size of the difference between the network domain in which the host in the first host set is located and the network domain in which all hosts in the second host set are located.
例如,图5中,假如第二主机集合包括主机1-1和主机1-2,其他主机构成第一主机集合。在从其他主机中选择主机部署软件系统的虚拟机时,由于主机1-3与主机1-1和主机1-2处于同一网络域,网络域的差别最小,因此选择主机1-3部署该软件系统的虚拟机。这样,同一软件系统的虚拟机部署在主机1-1,主机1-2和主机1-3上,该软件系统内的流量只经过以太网交换机L2-1,因此能够节约通信带宽,降低网络设备的使用成本和功耗。For example, in FIG. 5, if the second set of hosts includes the host 1-1 and the host 1-2, the other hosts constitute the first set of hosts. When selecting a virtual machine of the host deployment software system from other hosts, since the host 1-3 is in the same network domain as the host 1-1 and the host 1-2, the difference of the network domain is the smallest, so the host 1-3 is selected to deploy the software. The virtual machine of the system. In this way, the virtual machines of the same software system are deployed on the host 1-1, the host 1-2, and the hosts 1-3. The traffic in the software system only passes through the Ethernet switch L2-1, thereby saving communication bandwidth and reducing network equipment. Cost of use and power consumption.
可选地,获取云计算系统的通信拓扑信息,包括:Optionally, obtaining communication topology information of the cloud computing system, including:
获取预配置的该云计算系统中的主机的网络域信息。Obtain the pre-configured network domain information of the host in the cloud computing system.
也就是说,云计算系统中各主机的网络域信息可以预配置到软件部署的装置,这样,软件部署的装置可以得到预配置的网络域信息。That is to say, the network domain information of each host in the cloud computing system can be pre-configured to the software deployment device, so that the software deployed device can obtain the pre-configured network domain information.
本发明实施例的软件部署的方法,通过根据亲和性选择主机部署软件系统的虚拟机,可以将同一软件系统的虚拟机集中部署,从而能够节约通信带宽,降低成本和功耗。In the software deployment method of the embodiment of the present invention, the virtual machine of the same software system can be centrally deployed by selecting the virtual machine of the host deployment software system according to the affinity, thereby saving communication bandwidth and reducing cost and power consumption.
以上描述了在云计算系统中有已部署该软件系统的虚拟机的主机时,选择主机部署该软件系统的虚拟机的方法,下面描述在云计算系统中没有已部署该软件系统的虚拟机的主机时,选择主机部署该软件系统的虚拟机的方法。The method for selecting a virtual machine for deploying the software system by the host when the host of the virtual machine of the software system is deployed in the cloud computing system is described above. The following describes the virtual machine in the cloud computing system where the software system has not been deployed. When the host is hosted, select the method by which the host deploys the virtual machine of the software system.
在本发明实施例中,可选地,根据该通信拓扑信息,从第一主机集合中选择主机部署软件系统的虚拟机,包括:In the embodiment of the present invention, optionally, selecting a virtual machine of the host deployment software system from the first host set according to the communication topology information, including:
在该云计算系统中没有已部署该软件系统的虚拟机的主机时,根据该通信拓扑信息,确定该第一主机集合中的主机与第三主机集合中的所有主机的亲和性,其中,该第三主机集合为该云计算系统中已部署其他软件系统的虚拟机的主机的集合;When the host of the virtual machine of the software system is deployed in the cloud computing system, the affinity of the host in the first host set and all hosts in the third host set is determined according to the communication topology information, where The third host set is a set of hosts of the virtual machine in the cloud computing system where other software systems have been deployed;
从该第一主机集合中选择与该第三主机集合中的所有主机的亲和性低的主机部署该软件系统的虚拟机。A virtual machine having a low affinity with all hosts in the third host set is selected from the first set of hosts to deploy a virtual machine of the software system.
在本发明实施例中,第三主机集合为已部署其他软件系统的虚拟机的主机 的集合,也就是说已部署了不同于待部署的软件系统的软件系统的虚拟机的主机的集合。应理解,本发明实施例采用术语第三主机集合也只是为了描述方便,不对本发明实施例作任何限定。In the embodiment of the present invention, the third host is a host of a virtual machine that has deployed other software systems. A collection of hosts, that is, a collection of hosts that have deployed virtual machines that are different from the software systems of the software systems to be deployed. It should be understood that the term "third host set" is used in the embodiment of the present invention for convenience of description, and does not limit the embodiment of the present invention.
在云计算系统中没有已部署该软件系统的虚拟机的主机时,也就是说,第一次选择主机部署该软件系统的虚拟机的主机时,软件部署的装置根据第一主机集合中的主机与第三主机集合中的所有主机的亲和性,选择主机部署该软件系统的虚拟机。具体地,软件部署的装置从第一主机集合中选择与第三主机集合中的所有主机的亲和性低的主机部署该软件系统的虚拟机。When there is no host of the virtual machine in which the software system is deployed in the cloud computing system, that is, when the host of the virtual machine that deploys the software system is selected for the first time, the device deployed by the software is based on the host in the first host set. Selecting the host to deploy the virtual machine of the software system with the affinity of all hosts in the third host set. Specifically, the software deployed device selects a virtual machine of the software system from a first host set that selects a host with low affinity to all hosts in the third host set.
应理解,在本发明实施例中,第一主机集合中的主机与第三主机集合中的所有主机的亲和性的确定方式,与第一主机集合中的主机与第二主机集合中的所有主机的亲和性的确定方式类似,为了简洁,再次不再赘述。It should be understood that, in the embodiment of the present invention, the manner in which the affinity between the host in the first host set and all the hosts in the third host set is determined, and all the hosts in the first host set and the second host set are determined. The affinity of the host is determined in a similar manner. For the sake of brevity, it will not be described again.
采用本发明实施例的软件部署的方法,可以将同一软件系统的虚拟机集中部署。如图6所示,软件系统A的虚拟机部署在主机1~5,软件系统B的虚拟机部署在主机5~10。软件系统A内的流量主要在以太网交换机2和3内完成交换,少量流量经过以太网交换机1;软件系统B内的流量主要在以太网交换机3和4内完成交换,少量流量经过以太网交换机1。这样的部署结果既能够节省网络设备的使用成本和功耗,又能够规避网络瓶颈。如图6所示,由于减少了经过以太网交换机1的流量,因此能够避免以太网交换机1与其他以太网交换机间的传输路径带宽成为瓶颈。The software deployment method of the embodiment of the present invention can centrally deploy virtual machines of the same software system. As shown in FIG. 6, the virtual machine of the software system A is deployed on the hosts 1 to 5, and the virtual machines of the software system B are deployed on the hosts 5 to 10. The traffic in software system A is mainly exchanged in Ethernet switches 2 and 3, and a small amount of traffic passes through Ethernet switch 1; the traffic in software system B is mainly exchanged in Ethernet switches 3 and 4, and a small amount of traffic passes through the Ethernet switch. 1. Such a deployment result can save network equipment usage cost and power consumption, and can avoid network bottlenecks. As shown in FIG. 6, since the traffic passing through the Ethernet switch 1 is reduced, it is possible to prevent the transmission path bandwidth between the Ethernet switch 1 and other Ethernet switches from becoming a bottleneck.
应理解,在本发明实施例中,软件部署的装置也可以直接根据通信拓扑信息选择主机部署软件系统的虚拟机。例如,选择与第二主机集合中的所有主机之间的通信路径的跳数的平均值或者总和最小的主机,或者选择与第二主机集合中的所有主机之间的连接数量的平均值或者总和最小的主机,或者选择所处的网络域与第二主机集合中的所有主机所处的网络域的差别最小的主机部署该软件系统的虚拟机。这些实施方式也应落入本发明的保护范围之内。 It should be understood that, in the embodiment of the present invention, the software deployed device may also directly select the virtual machine of the host deployment software system according to the communication topology information. For example, selecting the average or the sum of the hops of the communication paths with all the hosts in the second set of hosts, or selecting the average or sum of the number of connections with all the hosts in the second set of hosts The smallest host, or the host with the smallest difference between the selected network domain and the network domain in which all hosts in the second host set are located, deploy the virtual machine of the software system. These embodiments are also intended to fall within the scope of the invention.
本发明实施例的软件部署的方法,通过根据云计算系统的通信拓扑信息选择主机部署软件系统的虚拟机,可以将同一软件系统的虚拟机集中部署,从而能够节约通信带宽,降低成本和功耗。The software deployment method of the embodiment of the present invention can select a virtual machine of the host software system according to the communication topology information of the cloud computing system, and the virtual machine of the same software system can be deployed in a centralized manner, thereby saving communication bandwidth and reducing cost and power consumption. .
应注意,本发明实施例中的例子只是为了帮助本领域技术人员更好地理解本发明实施例,而非限制本发明实施例的范围。It should be noted that the examples in the embodiments of the present invention are only intended to help those skilled in the art to better understand the embodiments of the present invention, and do not limit the scope of the embodiments of the present invention.
应理解,在本发明的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。It should be understood that, in various embodiments of the present invention, the size of the sequence numbers of the above processes does not mean the order of execution, and the order of execution of each process should be determined by its function and internal logic, and should not be taken to the embodiments of the present invention. The implementation process constitutes any limitation.
上文中结合图1至图6,详细描述了根据本发明实施例的软件部署的方法,下面将结合图7至图10,描述根据本发明实施例的软件部署的装置。The method of software deployment according to an embodiment of the present invention is described in detail above with reference to FIG. 1 to FIG. 6. Hereinafter, an apparatus for software deployment according to an embodiment of the present invention will be described with reference to FIG. 7 to FIG.
图7示出了根据本发明实施例的软件部署的装置700的示意性框图。如图7所示,该装置700包括:FIG. 7 shows a schematic block diagram of an apparatus 700 for software deployment in accordance with an embodiment of the present invention. As shown in FIG. 7, the apparatus 700 includes:
获取模块710,用于获取云计算系统的通信拓扑信息;The obtaining module 710 is configured to obtain communication topology information of the cloud computing system.
部署模块720,用于根据该通信拓扑信息,从第一主机集合中选择主机部署软件系统的虚拟机,其中,该第一主机集合为该云计算系统中待部署该软件系统的虚拟机的主机的集合。The deployment module 720 is configured to select, according to the communication topology information, a virtual machine of the host deployment software system from the first host set, where the first host set is a host of the virtual machine in the cloud computing system where the software system is to be deployed. Collection.
在本发明实施例中,软件部署的装置根据云计算系统的通信拓扑信息选择主机部署软件系统的虚拟机,这样,部署的结果就会与云计算系统的通信拓扑相关,便于将同一软件系统的虚拟机集中部署。也就是说,同一软件系统的虚拟机可以部署在与同一个或较少交换机连接的主机上,因此同一软件系统的通信流量可以经过较少交换机转发,从而能够节约通信带宽,降低成本和功耗。In the embodiment of the present invention, the software deployment device selects the virtual machine of the host deployment software system according to the communication topology information of the cloud computing system, so that the result of the deployment is related to the communication topology of the cloud computing system, and is convenient for the same software system. Virtual machine centralized deployment. That is to say, virtual machines of the same software system can be deployed on hosts connected to the same or fewer switches, so communication traffic of the same software system can be forwarded by fewer switches, thereby saving communication bandwidth, reducing cost and power consumption. .
因此,本发明实施例的软件部署的装置,通过根据云计算系统的通信拓扑信息选择主机部署软件系统的虚拟机,可以将同一软件系统的虚拟机集中部署,从而能够节约通信带宽,降低成本和功耗。Therefore, the software deployment device of the embodiment of the present invention can centrally deploy the virtual machine of the same software system by selecting the virtual machine of the host deployment software system according to the communication topology information of the cloud computing system, thereby saving communication bandwidth and reducing cost and Power consumption.
在本发明实施例中,可选地,如图8所示,该部署模块720包括: In the embodiment of the present invention, optionally, as shown in FIG. 8, the deployment module 720 includes:
第一确定单元721,用于在该云计算系统中有已部署该软件系统的虚拟机的主机时,根据该通信拓扑信息,确定该第一主机集合中的主机与第二主机集合中的所有主机的亲和性,其中,该第二主机集合为该云计算系统中已部署该软件系统的虚拟机的主机的集合;The first determining unit 721 is configured to: when the host of the virtual machine of the software system is deployed in the cloud computing system, determine, according to the communication topology information, all the hosts in the first host set and the second host set The affinity of the host, wherein the second host set is a set of hosts of the virtual machine in the cloud computing system where the software system has been deployed;
第一部署单元722,用于从该第一主机集合中选择该亲和性高的主机部署该软件系统的虚拟机。The first deployment unit 722 is configured to select, from the first set of hosts, the virtual machine with the high affinity to deploy the virtual machine of the software system.
在本发明实施例中,可选地,该通信拓扑信息包括该云计算系统中的主机之间的通信路径的跳数。In the embodiment of the present invention, optionally, the communication topology information includes a hop count of a communication path between hosts in the cloud computing system.
该第一确定单元721具体用于根据该第一主机集合中的主机与该第二主机集合中的所有主机之间的通信路径的跳数,确定该亲和性。The first determining unit 721 is specifically configured to determine the affinity according to the hop count of the communication path between the host in the first host set and all hosts in the second host set.
在本发明实施例中,可选地,该亲和性的高低同该第一主机集合中的主机与该第二主机集合中的所有主机之间的通信路径的跳数的平均值或者总和的大小成反比。In the embodiment of the present invention, optionally, the average or the sum of the hops of the communication path between the host in the first host set and all the hosts in the second host set is The size is inversely proportional.
在本发明实施例中,可选地,该获取模块710具体用于,接收该云计算系统中的每个主机发送的该每个主机与该云计算系统中的其他主机之间的通信路径的跳数,其中,该每个主机与该云计算系统中的其他主机之间的通信路径的跳数由该每个主机通过链路跟踪方式获得,根据该每个主机与该云计算系统中的其他主机之间的通信路径的跳数确定该云计算系统中的主机之间的通信路径的跳数。In the embodiment of the present invention, the obtaining module 710 is specifically configured to receive, by each host in the cloud computing system, a communication path between each host and other hosts in the cloud computing system. The hop count, wherein the hop count of the communication path between each host and other hosts in the cloud computing system is obtained by each host through a link tracking manner, according to each host and the cloud computing system The number of hops of the communication path between other hosts determines the number of hops of the communication path between the hosts in the cloud computing system.
在本发明实施例中,可选地,该获取模块710具体用于,接收该云计算系统中的每个主机或网络设备发送的相邻节点信息,其中,该每个主机或网络设备发送的相邻节点信息由该每个主机或网络设备通过链路层发现协议LLDP或思科发现协议CDP方式获得,根据该云计算系统中的所有主机和网络设备发送的相邻节点信息确定该云计算系统中的主机之间的通信路径的跳数。In the embodiment of the present invention, the acquiring module 710 is specifically configured to receive, by using each host or network device, the neighbor node information sent by the host or the network device. The neighbor node information is obtained by each host or network device by using a link layer discovery protocol LLDP or a Cisco discovery protocol CDP mode, and determining the cloud computing system according to neighboring node information sent by all hosts and network devices in the cloud computing system. The number of hops of the communication path between the hosts in the host.
在本发明实施例中,可选地,该通信拓扑信息包括该云计算系统中的主机 之间的连接数量。In the embodiment of the present invention, optionally, the communication topology information includes a host in the cloud computing system. The number of connections between.
该第一确定单元721具体用于根据该第一主机集合中的主机与该第二主机集合中的所有主机之间的连接数量,确定该亲和性。The first determining unit 721 is specifically configured to determine the affinity according to the number of connections between the host in the first host set and all hosts in the second host set.
在本发明实施例中,可选地,该亲和性的高低同该第一主机集合中的主机与该第二主机集合中的所有主机之间的连接数量的平均值或者总和的大小成反比。In the embodiment of the present invention, optionally, the affinity is inversely proportional to the average value or the sum of the connections between the host in the first host set and all the hosts in the second host set. .
在本发明实施例中,可选地,该获取模块710具体用于,接收该云计算系统中的每个主机或网络设备发送的相邻节点信息,其中,该每个主机或网络设备发送的相邻节点信息由该每个主机或网络设备通过LLDP或CDP方式获得,根据该云计算系统中的所有主机和网络设备发送的相邻节点信息确定该云计算系统中的主机之间的连接数量。In the embodiment of the present invention, the acquiring module 710 is specifically configured to receive, by using each host or network device, the neighbor node information sent by the host or the network device. The neighboring node information is obtained by the LLDP or CDP mode by the host or the network device, and the number of connections between the hosts in the cloud computing system is determined according to the information of the neighboring nodes sent by all the hosts and the network devices in the cloud computing system. .
在本发明实施例中,可选地,该获取模块710具体用于,根据预配置的该云计算系统中的所有主机和网络设备的连接关系确定该云计算系统中的主机之间的连接数量。In the embodiment of the present invention, the obtaining module 710 is specifically configured to determine, according to a pre-configured connection relationship between all hosts and network devices in the cloud computing system, the number of connections between the hosts in the cloud computing system. .
在本发明实施例中,可选地,该通信拓扑信息包括该云计算系统中的主机的网络域信息。In the embodiment of the present invention, optionally, the communication topology information includes network domain information of a host in the cloud computing system.
该第一确定单元721具体用于根据该第一主机集合中的主机的网络域信息和该第二主机集合中的所有主机的网络域信息,确定该亲和性。The first determining unit 721 is specifically configured to determine the affinity according to network domain information of the host in the first host set and network domain information of all hosts in the second host set.
在本发明实施例中,可选地,该亲和性的高低同该第一主机集合中的主机所处的网络域与该第二主机集合中的所有主机所处的网络域的差别的大小成反比。In the embodiment of the present invention, optionally, the level of the affinity is different from the size of the network domain where the host in the first host set is located and the network domain where all hosts in the second host set are located. In inverse proportion.
在本发明实施例中,可选地,该获取模块710具体用于获取预配置的该云计算系统中的主机的网络域信息。In the embodiment of the present invention, the acquiring module 710 is specifically configured to obtain the pre-configured network domain information of the host in the cloud computing system.
在本发明实施例中,如图9所示,可选地,该部署模块720包括:In the embodiment of the present invention, as shown in FIG. 9, the deployment module 720 optionally includes:
第二确定单元723,用于在该云计算系统中没有已部署该软件系统的虚拟 机的主机时,根据该通信拓扑信息,确定该第一主机集合中的主机与第三主机集合中的所有主机的亲和性,其中,该第三主机集合为该云计算系统中已部署其他软件系统的虚拟机的主机的集合;a second determining unit 723, configured to: in the cloud computing system, the virtual system that has deployed the software system The host of the machine determines the affinity of the host in the first host set and all the hosts in the third host set according to the communication topology information, where the third host set is deployed in the cloud computing system. a collection of hosts of a virtual machine of a software system;
第二部署单元724,用于从该第一主机集合中选择与该第三主机集合中的所有主机的亲和性低的主机部署该软件系统的虚拟机。The second deployment unit 724 is configured to select, from the first set of hosts, a virtual machine that has low affinity with all hosts in the third host set to deploy the virtual machine of the software system.
本发明实施例的软件部署的方法,通过根据亲和性选择主机部署软件系统的虚拟机,可以将同一软件系统的虚拟机集中部署,从而能够节约通信带宽,降低成本和功耗。In the software deployment method of the embodiment of the present invention, the virtual machine of the same software system can be centrally deployed by selecting the virtual machine of the host deployment software system according to the affinity, thereby saving communication bandwidth and reducing cost and power consumption.
根据本发明实施例的软件部署的装置700可对应于根据本发明实施例的软件部署的方法中的执行主体,并且装置700中的各个模块的上述和其它操作和/或功能分别为了实现图1至图6中的各个方法的相应流程,为了简洁,在此不再赘述。The software-deployed apparatus 700 according to an embodiment of the present invention may correspond to an execution subject in a software-deployed method according to an embodiment of the present invention, and the above-described and other operations and/or functions of the respective modules in the apparatus 700 are respectively implemented in order to implement FIG. The corresponding processes of the respective methods in FIG. 6 are not described herein again for the sake of brevity.
图10示出了本发明又一实施例提供的软件部署的装置的结构,包括至少一个处理器1002(例如CPU),至少一个网络接口1005或者其他通信接口,存储器1006,和至少一个通信总线1003,用于实现这些器件之间的连接通信。处理器1002用于执行存储器1006中存储的可执行模块,例如计算机程序。存储器1006可能包含高速随机存取存储器(RAM:Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个网络接口1005(可以是有线或者无线)实现与至少一个其他网元之间的通信连接。FIG. 10 shows a structure of an apparatus for software deployment according to still another embodiment of the present invention, including at least one processor 1002 (eg, a CPU), at least one network interface 1005 or other communication interface, a memory 1006, and at least one communication bus 1003. Used to implement connection communication between these devices. The processor 1002 is configured to execute executable modules, such as computer programs, stored in the memory 1006. The memory 1006 may include a high speed random access memory (RAM), and may also include a non-volatile memory such as at least one disk memory. A communication connection with at least one other network element is achieved by at least one network interface 1005, which may be wired or wireless.
在一些实施方式中,存储器1006存储了程序10061,处理器1002执行程序10061,用于执行以下操作:In some embodiments, the memory 1006 stores a program 10061, and the processor 1002 executes the program 10061 for performing the following operations:
获取云计算系统的通信拓扑信息;Obtaining communication topology information of the cloud computing system;
根据该通信拓扑信息,从第一主机集合中选择主机部署软件系统的虚拟机,其中,该第一主机集合为该云计算系统中待部署该软件系统的虚拟机的主 机的集合。Determining, according to the communication topology information, a virtual machine of the host deployment software system from the first host set, where the first host set is a host of the virtual machine in the cloud computing system to be deployed by the software system Machine collection.
可选地,处理器1002具体用于,在该云计算系统中有已部署该软件系统的虚拟机的主机时,根据该通信拓扑信息,确定该第一主机集合中的主机与第二主机集合中的所有主机的亲和性,其中,该第二主机集合为该云计算系统中已部署该软件系统的虚拟机的主机的集合;从该第一主机集合中选择该亲和性高的主机部署该软件系统的虚拟机。Optionally, the processor 1002 is specifically configured to: when the host of the virtual machine of the software system is deployed in the cloud computing system, determine, according to the communication topology information, the host and the second host set in the first host set. Affinity of all the hosts in the set, wherein the second set of hosts is a set of hosts of the virtual machine in the cloud computing system where the software system has been deployed; selecting the host with high affinity from the first set of hosts Deploy the virtual machine of the software system.
可选地,该通信拓扑信息包括该云计算系统中的主机之间的通信路径的跳数;处理器1002具体用于根据该第一主机集合中的主机与该第二主机集合中的所有主机之间的通信路径的跳数,确定该亲和性。Optionally, the communication topology information includes a hop count of a communication path between hosts in the cloud computing system; the processor 1002 is specifically configured to: according to the host in the first host set and all hosts in the second host set The number of hops between the communication paths determines the affinity.
可选地,该亲和性的高低同该第一主机集合中的主机与该第二主机集合中的所有主机之间的通信路径的跳数的平均值或者总和的大小成反比。Optionally, the level of the affinity is inversely proportional to the average value or the sum of the hop counts of the communication paths between the host in the first host set and all the hosts in the second host set.
可选地,处理器1002具体用于通过网络接口1005接收该云计算系统中的每个主机发送的该每个主机与该云计算系统中的其他主机之间的通信路径的跳数,其中,该每个主机与该云计算系统中的其他主机之间的通信路径的跳数由该每个主机通过链路跟踪方式获得;根据该每个主机与该云计算系统中的其他主机之间的通信路径的跳数确定该云计算系统中的主机之间的通信路径的跳数。Optionally, the processor 1002 is specifically configured to receive, by using the network interface 1005, a hop count of a communication path between each host and each host in the cloud computing system sent by each host in the cloud computing system, where The number of hops of the communication path between each host and other hosts in the cloud computing system is obtained by each host through link tracking; according to each host and other hosts in the cloud computing system The number of hops of the communication path determines the number of hops of the communication path between the hosts in the cloud computing system.
可选地,处理器1002具体用于通过网络接口1005接收该云计算系统中的每个主机或网络设备发送的相邻节点信息,其中,该每个主机或网络设备发送的相邻节点信息由该每个主机或网络设备通过链路层发现协议LLDP或思科发现协议CDP方式获得;根据该云计算系统中的所有主机和网络设备发送的相邻节点信息确定该云计算系统中的主机之间的通信路径的跳数。Optionally, the processor 1002 is specifically configured to receive, by using the network interface 1005, neighbor node information sent by each host or network device in the cloud computing system, where the neighbor node information sent by each host or network device is configured by Each host or network device is obtained through a link layer discovery protocol LLDP or a Cisco Discovery Protocol CDP mode; determining, according to neighboring node information sent by all hosts and network devices in the cloud computing system, between the hosts in the cloud computing system The number of hops for the communication path.
可选地,该通信拓扑信息包括该云计算系统中的主机之间的连接数量;处理器1002具体用于根据该第一主机集合中的主机与该第二主机集合中的所有主机之间的连接数量,确定该亲和性。 Optionally, the communication topology information includes a number of connections between hosts in the cloud computing system; the processor 1002 is specifically configured to use, according to the hosts in the first host set and all hosts in the second host set. The number of connections determines the affinity.
可选地,该亲和性的高低同该第一主机集合中的主机与该第二主机集合中的所有主机之间的连接数量的平均值或者总和的大小成反比。Optionally, the affinity is inversely proportional to the average or the sum of the number of connections between the host in the first host set and all hosts in the second host set.
可选地,处理器1002具体用于通过网络接口1005接收该云计算系统中的每个主机或网络设备发送的相邻节点信息,其中,该每个主机或网络设备发送的相邻节点信息由该每个主机或网络设备通过LLDP或CDP方式获得;根据该云计算系统中的所有主机和网络设备发送的相邻节点信息确定该云计算系统中的主机之间的连接数量。Optionally, the processor 1002 is specifically configured to receive, by using the network interface 1005, neighbor node information sent by each host or network device in the cloud computing system, where the neighbor node information sent by each host or network device is configured by Each host or network device is obtained by means of LLDP or CDP; determining the number of connections between hosts in the cloud computing system according to neighboring node information sent by all hosts and network devices in the cloud computing system.
可选地,处理器1002具体用于根据预配置的该云计算系统中的所有主机和网络设备的连接关系确定该云计算系统中的主机之间的连接数量。Optionally, the processor 1002 is specifically configured to determine, according to a pre-configured connection relationship of all hosts and network devices in the cloud computing system, a number of connections between hosts in the cloud computing system.
可选地,该通信拓扑信息包括该云计算系统中的主机的网络域信息;处理器1002具体用于根据该第一主机集合中的主机的网络域信息和该第二主机集合中的所有主机的网络域信息,确定该亲和性。Optionally, the communication topology information includes network domain information of the host in the cloud computing system; the processor 1002 is specifically configured to: according to network domain information of the host in the first host set and all hosts in the second host set The network domain information determines the affinity.
可选地,该亲和性的高低同该第一主机集合中的主机所处的网络域与该第二主机集合中的所有主机所处的网络域的差别的大小成反比。Optionally, the level of the affinity is inversely proportional to the size of the difference between the network domain in which the host in the first host set is located and the network domain in which all hosts in the second host set are located.
可选地,处理器1002具体用于获取预配置的该云计算系统中的主机的网络域信息。Optionally, the processor 1002 is specifically configured to obtain network domain information of the host in the pre-configured cloud computing system.
可选地,处理器1002具体用于在该云计算系统中没有已部署该软件系统的虚拟机的主机时,根据该通信拓扑信息,确定该第一主机集合中的主机与第三主机集合中的所有主机的亲和性,其中,该第三主机集合为该云计算系统中已部署其他软件系统的虚拟机的主机的集合;从该第一主机集合中选择与该第三主机集合中的所有主机的亲和性低的主机部署该软件系统的虚拟机。Optionally, the processor 1002 is specifically configured to: when the host of the virtual machine that has deployed the software system is not in the cloud computing system, determine, according to the communication topology information, the host in the first host set and the third host set. Affinity of all hosts, wherein the third set of hosts is a set of hosts of the virtual machine in which the other software systems have been deployed in the cloud computing system; selecting from the first set of hosts and the third set of hosts A host with low affinity for all hosts deploys virtual machines of the software system.
从本发明实施例提供的以上技术方案可以看出,本发明实施例通过根据云计算系统的通信拓扑信息选择主机部署软件系统的虚拟机,可以将同一软件系统的虚拟机集中部署,从而能够节约通信带宽,降低成本和功耗。It can be seen from the foregoing technical solutions provided by the embodiments of the present invention that the virtual machine of the host software deployment system is selected according to the communication topology information of the cloud computing system, and the virtual machines of the same software system can be deployed in a centralized manner, thereby saving Communication bandwidth, reducing cost and power consumption.
应理解,在本发明实施例中,术语“和/或”仅仅是一种描述关联对象的关 联关系,表示可以存在三种关系。例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。It should be understood that in the embodiment of the present invention, the term "and/or" is merely a description of the associated object. The association indicates that there can be three relationships. For example, A and/or B may indicate that A exists separately, and A and B exist simultaneously, and B cases exist alone. In addition, the character "/" in this article generally indicates that the contextual object is an "or" relationship.
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。Those of ordinary skill in the art will appreciate that the elements and algorithm steps of the various examples described in connection with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of both, for clarity of hardware and software. Interchangeability, the composition and steps of the various examples have been generally described in terms of function in the above description. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the solution. A person skilled in the art can use different methods for implementing the described functions for each particular application, but such implementation should not be considered to be beyond the scope of the present invention.
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。A person skilled in the art can clearly understand that, for the convenience and brevity of the description, the specific working process of the system, the device and the unit described above can refer to the corresponding process in the foregoing method embodiment, and details are not described herein again.
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。In the several embodiments provided by the present application, it should be understood that the disclosed systems, devices, and methods may be implemented in other manners. For example, the device embodiments described above are merely illustrative. For example, the division of the unit is only a logical function division. In actual implementation, there may be another division manner, for example, multiple units or components may be combined or Can be integrated into another system, or some features can be ignored or not executed. In addition, the mutual coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection through some interface, device or unit, or an electrical, mechanical or other form of connection.
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。The units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, may be located in one place, or may be distributed to multiple network units. Some or all of the units may be selected according to actual needs to achieve the objectives of the embodiments of the present invention.
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中, 也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。In addition, each functional unit in various embodiments of the present invention may be integrated in one processing unit. It is also possible that each unit physically exists alone, or two or more units may be integrated in one unit. The above integrated unit can be implemented in the form of hardware or in the form of a software functional unit.
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。The integrated unit, if implemented in the form of a software functional unit and sold or used as a standalone product, may be stored in a computer readable storage medium. Based on such understanding, the technical solution of the present invention contributes in essence or to the prior art, or all or part of the technical solution may be embodied in the form of a software product stored in a storage medium. A number of instructions are included to cause a computer device (which may be a personal computer, server, or network device, etc.) to perform all or part of the steps of the methods described in various embodiments of the present invention. The foregoing storage medium includes: a U disk, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk, and the like. .
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。 The above is only the specific embodiment of the present invention, but the scope of the present invention is not limited thereto, and any equivalent person can be easily conceived within the technical scope of the present invention by any person skilled in the art. Modifications or substitutions are intended to be included within the scope of the invention. Therefore, the scope of protection of the present invention should be determined by the scope of the claims.

Claims (28)

  1. 一种软件部署的方法,其特征在于,包括:A method of software deployment, comprising:
    获取云计算系统的通信拓扑信息;Obtaining communication topology information of the cloud computing system;
    根据所述通信拓扑信息,从第一主机集合中选择主机部署软件系统的虚拟机,其中,所述第一主机集合为所述云计算系统中待部署所述软件系统的虚拟机的主机的集合。And selecting, according to the communication topology information, a virtual machine of the host deployment software system, where the first host set is a set of hosts of the virtual machine in the cloud computing system where the software system is to be deployed. .
  2. 根据权利要求1所述的方法,其特征在于,所述根据所述通信拓扑信息,从第一主机集合中选择主机部署软件系统的虚拟机,包括:The method according to claim 1, wherein the selecting a virtual machine of the host deployment software system from the first set of hosts according to the communication topology information comprises:
    在所述云计算系统中有已部署所述软件系统的虚拟机的主机时,根据所述通信拓扑信息,确定所述第一主机集合中的主机与第二主机集合中的所有主机的亲和性,其中,所述第二主机集合为所述云计算系统中已部署所述软件系统的虚拟机的主机的集合;When the host of the virtual machine of the software system is deployed in the cloud computing system, determining, according to the communication topology information, the affinity of the host in the first host set and all hosts in the second host set. The second set of hosts is a set of hosts of the virtual machine in which the software system has been deployed in the cloud computing system;
    从所述第一主机集合中选择所述亲和性高的主机部署所述软件系统的虚拟机。Selecting the host with high affinity from the first set of hosts to deploy a virtual machine of the software system.
  3. 根据权利要求2所述的方法,其特征在于,所述通信拓扑信息包括所述云计算系统中的主机之间的通信路径的跳数;The method according to claim 2, wherein the communication topology information comprises a hop count of a communication path between hosts in the cloud computing system;
    所述根据所述通信拓扑信息,确定所述第一主机集合中的主机与第二主机集合中的所有主机的亲和性,包括:Determining, according to the communication topology information, the affinity of the host in the first host set and all the hosts in the second host set, including:
    根据所述第一主机集合中的主机与所述第二主机集合中的所有主机之间的通信路径的跳数,确定所述亲和性。The affinity is determined according to a hop count of a communication path between a host in the first host set and all hosts in the second host set.
  4. 根据权利要求3所述的方法,其特征在于,所述亲和性的高低同所述第一主机集合中的主机与所述第二主机集合中的所有主机之间的通信路径的跳数的平均值或者总和的大小成反比。The method according to claim 3, wherein the level of the affinity is the same as the number of hops of the communication path between the host in the first host set and all the hosts in the second host set. The average or the size of the sum is inversely proportional.
  5. 根据权利要求3或4所述的方法,其特征在于,所述获取云计算系统的通信拓扑信息,包括: The method according to claim 3 or 4, wherein the obtaining the communication topology information of the cloud computing system comprises:
    接收所述云计算系统中的每个主机发送的所述每个主机与所述云计算系统中的其他主机之间的通信路径的跳数,其中,所述每个主机与所述云计算系统中的其他主机之间的通信路径的跳数由所述每个主机通过链路跟踪方式获得;Receiving, by each host in the cloud computing system, a hop count of a communication path between each host and other hosts in the cloud computing system, wherein each of the hosts and the cloud computing system The number of hops of the communication path between other hosts in the medium is obtained by each of the hosts through link tracking;
    根据所述每个主机与所述云计算系统中的其他主机之间的通信路径的跳数确定所述云计算系统中的主机之间的通信路径的跳数。Determining a hop count of a communication path between hosts in the cloud computing system according to a hop count of a communication path between each host and other hosts in the cloud computing system.
  6. 根据权利要求3或4所述的方法,其特征在于,所述获取云计算系统的通信拓扑信息,包括:The method according to claim 3 or 4, wherein the obtaining the communication topology information of the cloud computing system comprises:
    接收所述云计算系统中的每个主机或网络设备发送的相邻节点信息,其中,所述每个主机或网络设备发送的相邻节点信息由所述每个主机或网络设备通过链路层发现协议LLDP或思科发现协议CDP方式获得;Receiving neighbor node information sent by each host or network device in the cloud computing system, where neighboring node information sent by each host or network device is passed by the host layer or network device through a link layer Discovery protocol LLDP or Cisco Discovery Protocol CDP mode is obtained;
    根据所述云计算系统中的所有主机和网络设备发送的相邻节点信息确定所述云计算系统中的主机之间的通信路径的跳数。Determining a hop count of a communication path between hosts in the cloud computing system according to neighboring node information sent by all hosts and network devices in the cloud computing system.
  7. 根据权利要求2所述的方法,其特征在于,所述通信拓扑信息包括所述云计算系统中的主机之间的连接数量;The method of claim 2, wherein the communication topology information comprises a number of connections between hosts in the cloud computing system;
    所述根据所述通信拓扑信息,确定所述第一主机集合中的主机与第二主机集合中的所有主机的亲和性,包括:Determining, according to the communication topology information, the affinity of the host in the first host set and all the hosts in the second host set, including:
    根据所述第一主机集合中的主机与所述第二主机集合中的所有主机之间的连接数量,确定所述亲和性。The affinity is determined according to the number of connections between the host in the first host set and all hosts in the second host set.
  8. 根据权利要求7所述的方法,其特征在于,所述亲和性的高低同所述第一主机集合中的主机与所述第二主机集合中的所有主机之间的连接数量的平均值或者总和的大小成反比。The method according to claim 7, wherein the level of the affinity is the same as the average number of connections between the host in the first host set and all hosts in the second host set or The sum of the sum is inversely proportional.
  9. 根据权利要求7或8所述的方法,其特征在于,所述获取云计算系统的通信拓扑信息,包括:The method according to claim 7 or 8, wherein the obtaining the communication topology information of the cloud computing system comprises:
    接收所述云计算系统中的每个主机或网络设备发送的相邻节点信息,其 中,所述每个主机或网络设备发送的相邻节点信息由所述每个主机或网络设备通过LLDP或CDP方式获得;Receiving neighbor node information sent by each host or network device in the cloud computing system, The neighbor node information sent by each host or network device is obtained by each host or network device by using LLDP or CDP;
    根据所述云计算系统中的所有主机和网络设备发送的相邻节点信息确定所述云计算系统中的主机之间的连接数量。Determining the number of connections between hosts in the cloud computing system according to neighboring node information sent by all hosts and network devices in the cloud computing system.
  10. 根据权利要求7或8所述的方法,其特征在于,所述获取云计算系统的通信拓扑信息,包括:The method according to claim 7 or 8, wherein the obtaining the communication topology information of the cloud computing system comprises:
    根据预配置的所述云计算系统中的所有主机和网络设备的连接关系确定所述云计算系统中的主机之间的连接数量。Determining the number of connections between hosts in the cloud computing system according to a pre-configured connection relationship of all hosts and network devices in the cloud computing system.
  11. 根据权利要求2所述的方法,其特征在于,所述通信拓扑信息包括所述云计算系统中的主机的网络域信息;The method according to claim 2, wherein the communication topology information comprises network domain information of a host in the cloud computing system;
    所述根据所述通信拓扑信息,确定所述第一主机集合中的主机与第二主机集合中的所有主机的亲和性,包括:Determining, according to the communication topology information, the affinity of the host in the first host set and all the hosts in the second host set, including:
    根据所述第一主机集合中的主机的网络域信息和所述第二主机集合中的所有主机的网络域信息,确定所述亲和性。The affinity is determined according to network domain information of the host in the first host set and network domain information of all hosts in the second host set.
  12. 根据权利要求11所述的方法,其特征在于,所述亲和性的高低同所述第一主机集合中的主机所处的网络域与所述第二主机集合中的所有主机所处的网络域的差别的大小成反比。The method according to claim 11, wherein the level of the affinity is the same as the network in which the host in the first host set is located and the network in which all hosts in the second host set are located. The size of the difference in the domain is inversely proportional.
  13. 根据权利要求11或12所述的方法,其特征在于,所述获取云计算系统的通信拓扑信息,包括:The method according to claim 11 or 12, wherein the obtaining the communication topology information of the cloud computing system comprises:
    获取预配置的所述云计算系统中的主机的网络域信息。Obtaining network domain information of the host in the pre-configured cloud computing system.
  14. 根据权利要求1至13中任一项所述的方法,其特征在于,所述根据所述通信拓扑信息,从第一主机集合中选择主机部署软件系统的虚拟机,包括:The method according to any one of claims 1 to 13, wherein the selecting a virtual machine of the host deployment software system from the first set of hosts according to the communication topology information comprises:
    在所述云计算系统中没有已部署所述软件系统的虚拟机的主机时,根据所述通信拓扑信息,确定所述第一主机集合中的主机与第三主机集合中的所有主机的亲和性,其中,所述第三主机集合为所述云计算系统中已部署其他软件系 统的虚拟机的主机的集合;When the host of the virtual machine of the software system is deployed in the cloud computing system, determining, according to the communication topology information, the affinity of the host in the first host set and all hosts in the third host set. Sex, wherein the third host set is another software system deployed in the cloud computing system a collection of hosts for the virtual machine;
    从所述第一主机集合中选择与所述第三主机集合中的所有主机的亲和性低的主机部署所述软件系统的虚拟机。Selecting, from the first set of hosts, a virtual machine having low affinity with all hosts in the third host set to deploy a virtual machine of the software system.
  15. 一种软件部署的装置,其特征在于,包括:A device for software deployment, comprising:
    获取模块,用于获取云计算系统的通信拓扑信息;An obtaining module, configured to obtain communication topology information of the cloud computing system;
    部署模块,用于根据所述通信拓扑信息,从第一主机集合中选择主机部署软件系统的虚拟机,其中,所述第一主机集合为所述云计算系统中待部署所述软件系统的虚拟机的主机的集合。a deployment module, configured to select a virtual machine of the host deployment software system from the first host set according to the communication topology information, where the first host set is a virtual to be deployed in the cloud computing system A collection of hosts for the machine.
  16. 根据权利要求15所述的装置,其特征在于,所述部署模块包括:The device according to claim 15, wherein the deployment module comprises:
    第一确定单元,用于在所述云计算系统中有已部署所述软件系统的虚拟机的主机时,根据所述通信拓扑信息,确定所述第一主机集合中的主机与第二主机集合中的所有主机的亲和性,其中,所述第二主机集合为所述云计算系统中已部署所述软件系统的虚拟机的主机的集合;a first determining unit, configured to determine, according to the communication topology information, a host and a second host set in the first host set, when a host of the virtual machine of the software system is deployed in the cloud computing system Affinity of all hosts in the cloud, wherein the second set of hosts is a set of hosts of the virtual machine in which the software system has been deployed in the cloud computing system;
    第一部署单元,用于从所述第一主机集合中选择所述亲和性高的主机部署所述软件系统的虚拟机。a first deployment unit, configured to select, from the first set of hosts, the virtual machine with the high affinity to deploy a virtual machine of the software system.
  17. 根据权利要求16所述的装置,其特征在于,所述通信拓扑信息包括所述云计算系统中的主机之间的通信路径的跳数;The apparatus according to claim 16, wherein said communication topology information comprises a hop count of a communication path between hosts in said cloud computing system;
    所述第一确定单元具体用于根据所述第一主机集合中的主机与所述第二主机集合中的所有主机之间的通信路径的跳数,确定所述亲和性。The first determining unit is specifically configured to determine the affinity according to a hop count of a communication path between a host in the first host set and all hosts in the second host set.
  18. 根据权利要求17所述的装置,其特征在于,所述亲和性的高低同所述第一主机集合中的主机与所述第二主机集合中的所有主机之间的通信路径的跳数的平均值或者总和的大小成反比。The apparatus according to claim 17, wherein the level of the affinity is the same as the number of hops of the communication path between the host in the first host set and all the hosts in the second host set. The average or the size of the sum is inversely proportional.
  19. 根据权利要求17或18所述的装置,其特征在于,所述获取模块具体用于,接收所述云计算系统中的每个主机发送的所述每个主机与所述云计算系统中的其他主机之间的通信路径的跳数,其中,所述每个主机与所述云计算系 统中的其他主机之间的通信路径的跳数由所述每个主机通过链路跟踪方式获得,根据所述每个主机与所述云计算系统中的其他主机之间的通信路径的跳数确定所述云计算系统中的主机之间的通信路径的跳数。The device according to claim 17 or 18, wherein the obtaining module is specifically configured to receive each host sent by each host in the cloud computing system and other ones in the cloud computing system The number of hops of the communication path between the hosts, wherein each of the hosts and the cloud computing system The number of hops of the communication path between the other hosts in the system is obtained by the each host through the link tracking manner, according to the hop count of the communication path between each host and other hosts in the cloud computing system. Determining the number of hops of the communication path between the hosts in the cloud computing system.
  20. 根据权利要求17或18所述的装置,其特征在于,所述获取模块具体用于,接收所述云计算系统中的每个主机或网络设备发送的相邻节点信息,其中,所述每个主机或网络设备发送的相邻节点信息由所述每个主机或网络设备通过链路层发现协议LLDP或思科发现协议CDP方式获得,根据所述云计算系统中的所有主机和网络设备发送的相邻节点信息确定所述云计算系统中的主机之间的通信路径的跳数。The device according to claim 17 or 18, wherein the acquiring module is specifically configured to receive neighboring node information sent by each host or network device in the cloud computing system, where each of the The neighbor node information sent by the host or the network device is obtained by each host or network device through a link layer discovery protocol LLDP or a Cisco Discovery Protocol CDP mode, according to the phase sent by all hosts and network devices in the cloud computing system. The neighbor information determines the number of hops of the communication path between the hosts in the cloud computing system.
  21. 根据权利要求16所述的装置,其特征在于,所述通信拓扑信息包括所述云计算系统中的主机之间的连接数量;The apparatus according to claim 16, wherein said communication topology information comprises a number of connections between hosts in said cloud computing system;
    所述第一确定单元具体用于根据所述第一主机集合中的主机与所述第二主机集合中的所有主机之间的连接数量,确定所述亲和性。The first determining unit is specifically configured to determine the affinity according to the number of connections between the host in the first host set and all hosts in the second host set.
  22. 根据权利要求21所述的装置,其特征在于,所述亲和性的高低同所述第一主机集合中的主机与所述第二主机集合中的所有主机之间的连接数量的平均值或者总和的大小成反比。The apparatus according to claim 21, wherein the level of the affinity is an average of the number of connections between the host in the first host set and all hosts in the second host set or The sum of the sum is inversely proportional.
  23. 根据权利要求21或22所述的装置,其特征在于,所述获取模块具体用于,接收所述云计算系统中的每个主机或网络设备发送的相邻节点信息,其中,所述每个主机或网络设备发送的相邻节点信息由所述每个主机或网络设备通过LLDP或CDP方式获得,根据所述云计算系统中的所有主机和网络设备发送的相邻节点信息确定所述云计算系统中的主机之间的连接数量。The device according to claim 21 or 22, wherein the acquiring module is specifically configured to receive neighboring node information sent by each host or network device in the cloud computing system, where each of the The neighboring node information sent by the host or the network device is obtained by the LLDP or CDP mode by the host or the network device, and the cloud computing is determined according to the neighboring node information sent by all the hosts and the network device in the cloud computing system. The number of connections between hosts in the system.
  24. 根据权利要求21或22所述的装置,其特征在于,所述获取模块具体用于,根据预配置的所述云计算系统中的所有主机和网络设备的连接关系确定所述云计算系统中的主机之间的连接数量。The device according to claim 21 or 22, wherein the obtaining module is configured to determine, according to a pre-configured connection relationship between all hosts and network devices in the cloud computing system, the cloud computing system The number of connections between hosts.
  25. 根据权利要求16所述的装置,其特征在于,所述通信拓扑信息包括 所述云计算系统中的主机的网络域信息;The apparatus of claim 16 wherein said communication topology information comprises Network domain information of the host in the cloud computing system;
    所述第一确定单元具体用于根据所述第一主机集合中的主机的网络域信息和所述第二主机集合中的所有主机的网络域信息,确定所述亲和性。The first determining unit is specifically configured to determine the affinity according to network domain information of a host in the first host set and network domain information of all hosts in the second host set.
  26. 根据权利要求25所述的装置,其特征在于,所述亲和性的高低同所述第一主机集合中的主机所处的网络域与所述第二主机集合中的所有主机所处的网络域的差别的大小成反比。The apparatus according to claim 25, wherein the level of the affinity is the same as the network in which the host in the first host set is located and the network in which all hosts in the second host set are located. The size of the difference in the domain is inversely proportional.
  27. 根据权利要求25或26所述的装置,其特征在于,所述获取模块具体用于获取预配置的所述云计算系统中的主机的网络域信息。The device according to claim 25 or 26, wherein the obtaining module is specifically configured to acquire network domain information of a host in the pre-configured cloud computing system.
  28. 根据权利要求15至27中任一项所述的装置,其特征在于,所述部署模块包括:The apparatus according to any one of claims 15 to 27, wherein the deployment module comprises:
    第二确定单元,用于在所述云计算系统中没有已部署所述软件系统的虚拟机的主机时,根据所述通信拓扑信息,确定所述第一主机集合中的主机与第三主机集合中的所有主机的亲和性,其中,所述第三主机集合为所述云计算系统中已部署其他软件系统的虚拟机的主机的集合;a second determining unit, configured to determine, according to the communication topology information, a host and a third host set in the first host set, when the host of the virtual machine of the software system is not deployed in the cloud computing system Affinity of all hosts in the set, wherein the third set of hosts is a set of hosts of virtual machines in the cloud computing system that have deployed other software systems;
    第二部署单元,用于从所述第一主机集合中选择与所述第三主机集合中的所有主机的亲和性低的主机部署所述软件系统的虚拟机。 And a second deployment unit, configured to select, from the first set of hosts, a virtual machine that has low affinity with all hosts in the third host set to deploy a virtual machine of the software system.
PCT/CN2014/090021 2013-11-08 2014-10-31 Method and apparatus for software disposition WO2015067144A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201310556317.9A CN103580923B (en) 2013-11-08 2013-11-08 Software deploying method and device
CN201310556317.9 2013-11-08

Publications (1)

Publication Number Publication Date
WO2015067144A1 true WO2015067144A1 (en) 2015-05-14

Family

ID=50051904

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2014/090021 WO2015067144A1 (en) 2013-11-08 2014-10-31 Method and apparatus for software disposition

Country Status (2)

Country Link
CN (1) CN103580923B (en)
WO (1) WO2015067144A1 (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103580923B (en) * 2013-11-08 2017-02-15 华为技术有限公司 Software deploying method and device
US9965261B2 (en) * 2015-08-18 2018-05-08 International Business Machines Corporation Dependency-based container deployment
CN108351795A (en) * 2015-10-30 2018-07-31 华为技术有限公司 Method and system for maps virtual machine communication path
CN108073426B (en) * 2017-03-29 2021-07-06 北京青云科技股份有限公司 Software management method, device and system based on cloud computing
CN108900362B (en) * 2018-08-13 2021-07-30 郑州云海信息技术有限公司 Cloud network access layer physical link topology generation method and device
CN110597664A (en) * 2019-09-17 2019-12-20 深信服科技股份有限公司 High-availability cluster resource deployment method, device and related components

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110119381A1 (en) * 2009-11-16 2011-05-19 Rene Glover Methods and apparatus to allocate resources associated with a distributive computing network
CN102426543A (en) * 2010-10-20 2012-04-25 微软公司 Placing objects on hosts using hard and soft constraints
US20130086130A1 (en) * 2011-09-30 2013-04-04 Oracle International Corporation Executor for software configuration automation
CN103226489A (en) * 2012-01-30 2013-07-31 国际商业机器公司 Integrated virtual infrastructure system
CN103580923A (en) * 2013-11-08 2014-02-12 华为技术有限公司 Software deploying method and device

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9350623B2 (en) * 2010-09-07 2016-05-24 Hewlett Packard Enterprise Development Lp System and method for automated deployment of multi-component computer environment
CN102646052B (en) * 2011-02-16 2016-01-27 中国移动通信集团公司 A kind of virtual machine deployment method, Apparatus and system
US9110728B2 (en) * 2012-01-31 2015-08-18 Vmware, Inc. Elastic allocation of computing resources to software applications
CN103176849B (en) * 2013-03-12 2016-04-27 浙江大学 A kind of dispositions method of the cluster virtual machine based on resource classification

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110119381A1 (en) * 2009-11-16 2011-05-19 Rene Glover Methods and apparatus to allocate resources associated with a distributive computing network
CN102426543A (en) * 2010-10-20 2012-04-25 微软公司 Placing objects on hosts using hard and soft constraints
US20130086130A1 (en) * 2011-09-30 2013-04-04 Oracle International Corporation Executor for software configuration automation
CN103226489A (en) * 2012-01-30 2013-07-31 国际商业机器公司 Integrated virtual infrastructure system
CN103580923A (en) * 2013-11-08 2014-02-12 华为技术有限公司 Software deploying method and device

Also Published As

Publication number Publication date
CN103580923B (en) 2017-02-15
CN103580923A (en) 2014-02-12

Similar Documents

Publication Publication Date Title
WO2015067144A1 (en) Method and apparatus for software disposition
US10182496B2 (en) Spanning tree protocol optimization
Jin et al. Joint host-network optimization for energy-efficient data center networking
Kliazovich et al. GreenCloud: a packet-level simulator of energy-aware cloud computing data centers
US9300574B2 (en) Link aggregation emulation for virtual NICs in a cluster server
US20160359711A1 (en) Late data detection in data center
US9477280B1 (en) Specification for automatic power management of network-on-chip and system-on-chip
US9264346B2 (en) Resilient duplicate link aggregation emulation
CN103560967B (en) The virtual data center mapping method of a kind of business demand perception
CN108337179B (en) Link flow control method and device
CN113810205B (en) Service computing power information reporting and receiving method, server and data center gateway
CN104038570B (en) A kind of data processing method and device
CN104219075A (en) OpenFlow protocol based link aggregation control protocol (LACP) loop detection method and device
WO2014044093A1 (en) Disjoint multi-paths with service guarantee extension
CN113992588B (en) Data transmission method, device, electronic equipment and readable storage medium
Wang et al. CFR: A cooperative link failure recovery scheme in software‐defined networks
CN105530115A (en) Method and device for realizing operation management and maintenance function
US20140047260A1 (en) Network management system, network management computer and network management method
US20140112205A1 (en) System and method for pinning virtual machine adapters to physical adapters in a network environment
Araujo et al. BEEP: Balancing energy, redundancy, and performance in fat-tree data center networks
US20160149747A1 (en) Port Number Extension Method and Switch
CN104468386B (en) Flow equalization method and device in a kind of Ethernet virtualization internet network
JP5951147B2 (en) Information processing apparatus, information processing method, and program
CN105515807B (en) Up cfm message processing method and system and network data exchange equipment
Kiriha et al. Survey on data center networking technologies

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: 14860164

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14860164

Country of ref document: EP

Kind code of ref document: A1