СПОСОБ И УСТРОЙСТВО БАЛАНСИРОВКИ СЕТЕВЫХ РЕСУРСОВ
METHOD AND DEVICE FOR NETWORK RESOURCE BALANCING

ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
[0001] Варианты осуществления настоящего изобретения относятся к области связи, и, более конкретно, к способу и устройству балансировки сетевых ресурсов.
УРОВЕНЬ ТЕХНИКИ
[0002] Облачные вычисления являются режимом вычислений, в котором динамически масштабируемые и виртуализованные ресурсы обеспечиваются способом обслуживания по сети Интернет. Ресурсы включают в себя ряд ресурсов, которые могут динамически обновляться и виртуализироваться, и ресурсы могут совместно использоваться пользователями облачных вычислений и к ним может легко осуществляться доступ по сети Интернет.
[0003] Технология виртуализации является ключевой технологией, которая реализует облачные вычисления. На платформе облачных вычислений существует шаблон виртуальной машины, и запускается экземпляр шаблона виртуальной машины, чтобы генерировать множество виртуальных машин для пользователей для использования. Чтобы улучшать использование сетевых ресурсов, множество виртуальных машин должны использоваться сбалансированным образом. В текущих облачных вычислениях, способ балансировки нагрузки сетевых ресурсов уведомляет клиента о состоянии ресурсов каждой виртуальной машины. Конкретно, независимый адрес протокола Интернет (IP для краткости) сначала назначается каждой виртуальной машине. Когда пользователь осуществляет доступ к сети посредством использования клиента, платформа облачных вычислений отправляет содержимое, такое как адрес IP каждой виртуальной машины и информацию нагрузки виртуальной машины, в клиент. Клиент выбирает виртуальную машину согласно информации нагрузки виртуальной машины посредством использования конкретного протокола выбора.
[0004] В существующей технологии облачных вычислений, способ балансировки нагрузки сетевых ресурсов должен осуществляться посредством использования внешних функциональных возможностей, то есть, способ должен осуществляться посредством взаимодействия между клиентом и платформой облачных вычислений. В дополнение, должен добавляться новый протокол. Когда виртуальная машина является шлюзом, виртуальная машина должна адаптивно конфигурироваться посредством использования протокола выбора шлюза; когда виртуальная машина является сущностью управления, виртуальная машина должна адаптивно конфигурироваться посредством использования протокола выбора виртуальной машины. Как описано выше, балансировка нагрузки сетевых ресурсов должна осуществляться посредством взаимодействия между платформой облачных вычислений и внешним клиентом и посредством добавления нового протокола, что несомненно уменьшает эффективность балансировки сетевых ресурсов.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
[0005] Варианты осуществления настоящего изобретения обеспечивают способ балансировки сетевых ресурсов, который эффективно улучшает эффективность балансировки сетевых ресурсов посредством балансировки сетевых ресурсов в платформе облачных вычислений.
[0006] Согласно первому аспекту, обеспечивается способ балансировки сетевых ресурсов, включающий в себя:
прием, посредством модуля балансировки, идентификационной информации и информации нагрузки виртуальной машины, которые отправлены контроллером, и идентификационной информации, которая отправлена контроллером, области, которая включает в себя множество виртуальных машин и которой виртуальная машина принадлежит, где существует соответствие между идентификационной информацией виртуальной машины и идентификационной информацией области, включающей в себя множество виртуальных машин; и прием, посредством модуля балансировки, пакета запроса доступа, определение согласно идентификационной информации, которая относится к области, включающей в себя виртуальные машины, и которая переносится в пакете запроса доступа, идентификационной информации множества виртуальных машин в области и информации нагрузки множества виртуальных машин в области, где идентификационная информация множества виртуальных машин в области соответствует идентификационной информации, которая относится к области и которая переносится в пакете запроса доступа, выбор виртуальной машины согласно информации нагрузки множества виртуальных  машин и отправку пакета запроса доступа в выбранную виртуальную машину согласно идентификационной информации выбранной виртуальной машины.
[0007] Со ссылкой на первый аспект, в первом возможном варианте воплощения, идентификационная информация виртуальной машины включает в себя адрес IP и адрес MAC, идентификационная информация области, включающей в себя множество виртуальных машин, включает в себя адрес IP, такой же как адрес IP виртуальной машины, и адрес MAC, отличающийся от адреса MAC виртуальной машины, и виртуальные машины в области, включающей в себя множество виртуальных машин, имеют один и тот же адрес IP и разные адреса MAC.
[0008] Со ссылкой на первый возможный вариант воплощения первого аспекта, во втором возможном варианте воплощения, способ дополнительно включает в себя: отправку, посредством модуля балансировки, адреса IP области, включающей в себя множество виртуальных машин, в сервер системы доменных имен DNS, так что клиент получает согласно доменному имени адрес IP области, включающей в себя множество виртуальных машин, от сервера DNS.
[0009] Со ссылкой на второй возможный вариант воплощения первого аспекта, в третьем возможном варианте воплощения, способ дополнительно включает в себя: прием, посредством модуля балансировки, информации запроса протокола разрешения адресов ARP, отправленной предыдущим транзитным устройством модуля балансировки, где информация запроса ARP включает в себя адрес IP области, включающей в себя множество виртуальных машин, и используется, чтобы запрашивать адрес MAC, соответствующий адресу IP области; отправку, посредством модуля балансировки, адреса MAC области, включающей в себя множество виртуальных машин, в предыдущее транзитное устройство модуля балансировки; и прием, посредством модуля балансировки, пакета запроса доступа включает в себя:
прием, посредством модуля балансировки, пакета запроса доступа, который переносит идентификационную информацию области, включающей в себя множество виртуальных машин, и который отправлен предыдущим транзитным устройством модуля балансировки согласно адресу MAC области, включающей в себя множество виртуальных машин.
[0010] Со ссылкой на любой из первого аспекта, или с первого по третий варианты воплощения первого аспекта, в четвертом возможном варианте воплощения, отправка пакета запроса доступа в выбранную виртуальную машину согласно идентификационной информации выбранной виртуальной машины включает в себя: изменение, посредством модуля балансировки, адреса MAC назначения пакета запроса доступа на адрес MAC выбранной виртуальной машины, и отправку пакета запроса доступа в выбранную виртуальную машину.
[0011] Со ссылкой на третий или четвертый возможный вариант воплощения первого аспекта, в пятом возможном варианте воплощения, адрес IP в информации запроса ARP переносится в пакете запроса доступа, который отправляется клиентом согласно адресу IP области, включающей в себя множество виртуальных машин, и который принимается предыдущим транзитным устройством модуля балансировки.
[0012] Согласно второму аспекту, обеспечивается способ балансировки сетевых ресурсов, включающий в себя: запуск, посредством контроллера, множества виртуальных машин и отдельное назначение идентификационной информации множеству виртуальных машин; назначение, посредством контроллера согласно идентификационной информации, назначенной множеству виртуальных машин, идентификационной информации области, включающей в себя множество виртуальных машин; прием, посредством контроллера, информации нагрузки, отправленной множеством виртуальных машин; и отправку, посредством контроллера в модуль балансировки, идентификационной информации множества виртуальных машин, информации нагрузки множества виртуальных машин и идентификационной информации области, включающей в себя множество виртуальных машин.
[0013] Со ссылкой на второй аспект, в первом возможном варианте воплощения, отдельное назначение, посредством контроллера, идентификационной информации множеству виртуальных машин включает в себя: назначение, посредством контроллера, одного и тот же адреса IP протокола Интернет и разных адресов MAC управления доступом к среде передачи множеству виртуальных машин; и назначение, посредством контроллера согласно идентификационной информации, назначенной множеству виртуальных машин, идентификационной информации области, включающей в себя множество виртуальных машин, включает в себя: назначение, посредством контроллера согласно одному и тому же адресу IP и разным адресам MAC, назначенным множеству виртуальных машин, адреса IP, такого же как адрес IP множества виртуальных машин, и адреса MAC, отличающегося от адресов MAC множества виртуальных машин, области, включающей в себя множество виртуальных машин.
[0014] Со ссылкой на второй аспект или первый возможный вариант воплощения второго аспекта, во втором возможном варианте воплощения, до приема, посредством контроллера, информации нагрузки виртуальных машин, способ дополнительно включает в себя: отправку, посредством контроллера, информации запроса в множество виртуальных машин, чтобы запрашивать информацию нагрузки множества виртуальных машин; и прием, посредством контроллера, информации нагрузки, отправленной множеством виртуальных машин; или прием, посредством контроллера, информации нагрузки множества виртуальных машин включает в себя: прием, посредством контроллера, информации нагрузки, упреждающим образом отправленной множеством виртуальных машин.
[0015] Со ссылкой на второй аспект или первый или второй возможный вариант воплощения второго аспекта, в третьем возможном варианте воплощения, когда нагрузка вычислительных узлов является несбалансированной, контроллер выбирает виртуальную машину в вычислительных узлах и инструктирует виртуальную машину переместиться.
[0016] Со ссылкой на третий возможный вариант воплощения второго аспекта, в четвертом возможном варианте воплощения, то, что контроллер выбирает виртуальную машину в вычислительных узлах и инструктирует виртуальную машину переместиться, включает в себя: выбор, посредством контроллера согласно информации нагрузки виртуальных машин в вычислительных узлах, виртуальной машины, чья нагрузка является несбалансированной, и отправку сообщения в виртуальную машину, где сообщение используется, чтобы инструктировать виртуальную машину переместиться в другой вычислительный узел.
[0017] Согласно третьему аспекту, обеспечивается устройство балансировки сетевых ресурсов, включающее в себя: модуль приема, сконфигурированный с возможностью принимать идентификационную информацию и информацию нагрузки виртуальной машины, которые отправлены контроллером, и идентификационную информацию, которая отправлена контроллером, области, которая включает в себя множество виртуальных машин и которой виртуальная машина принадлежит, где существует соответствие между идентификационной информацией виртуальной машины и идентификационной информацией области, включающей в себя множество виртуальных машин; и модуль обработки, сконфигурированный с возможностью: после того, как пакет запроса доступа принимается, определять согласно идентификационной информации, которая относится к области, включающей в себя множество виртуальных машин, и которая переносится в пакете запроса доступа, идентификационную информацию множества виртуальных машин в области и информацию нагрузки множества виртуальных машин в области, где идентификационная информация множества виртуальных машин в области соответствует идентификатору, который относится к области и который переносится в пакете запроса доступа, выбирать виртуальную машину согласно информации нагрузки множества виртуальных машин, и отправлять пакет запроса доступа в выбранную виртуальную машину согласно идентификационной информации выбранной виртуальной машины.
[0018] Со ссылкой на третий аспект, обеспечивается устройство балансировки сетевых ресурсов, включающее в себя: модуль приема, сконфигурированный с возможностью принимать идентификационную информацию и информацию нагрузки виртуальной машины, которые отправлены контроллером, и идентификационную информацию, которая отправлена контроллером, области, которая включает в себя множество виртуальных машин и которой виртуальная машина принадлежит, где существует соответствие между идентификационной информацией виртуальной машины и идентификационной информацией области, включающей в себя множество виртуальных машин; и модуль обработки, сконфигурированный с возможностью: после того, как пакет запроса доступа принимается, определять согласно идентификационной информации, которая относится к области, включающей в себя множество виртуальных машин, и которая переносится в пакете запроса доступа, идентификационную информацию множества виртуальных машин в области и информацию нагрузки множества виртуальных машин в области, где идентификационная информация множества виртуальных машин в области соответствует идентификатору, который относится к области и который переносится в пакете запроса доступа, выбирать виртуальную машину согласно информации нагрузки множества виртуальных машин, и отправлять пакет запроса доступа в выбранную виртуальную машину согласно идентификационной информации выбранной виртуальной машины.
[0019] Со ссылкой на третий аспект, первый возможный вариант воплощения третьего аспекта включает в себя: идентификационная информация виртуальной машины включает в себя адрес IP и адрес MAC, идентификационная информация области, включающей в себя множество виртуальных машин, включает в себя адрес IP, такой же как адрес IP виртуальной машины, и адрес MAC, отличающийся от адреса MAC виртуальной машины, и виртуальные машины в области, включающей в себя множество виртуальных машин, имеют один и тот же адрес IP и разные адреса MAC.
[0020] Со ссылкой на первый возможный вариант воплощения третьего аспекта, второй возможный вариант воплощения включает в себя модуль отправки, сконфигурированный с возможностью отправлять адрес IP области, включающей в себя множество виртуальных машин, в сервер системы доменных имен DNS, так что клиент получает согласно доменному имени адрес IP области, включающей в себя множество виртуальных машин, от сервера DNS.
[0021] Со ссылкой на второй возможный вариант воплощения третьего аспекта, третий возможный вариант воплощения включает в себя: модуль приема дополнительно сконфигурирован с возможностью принимать информацию запроса протокола разрешения адресов ARP, отправленную предыдущим транзитным устройством устройства, где информация запроса ARP включает в себя адрес IP области, включающей в себя множество виртуальных машин, и используется, чтобы запрашивать адрес MAC, соответствующий адресу IP области; модуль отправки дополнительно сконфигурирован с возможностью отправлять адрес MAC области, включающей в себя множество виртуальных машин, в предыдущее транзитное устройство устройства; и то, что модуль приема сконфигурирован с возможностью принимать пакет запроса доступа, включает в себя: модуль приема сконфигурирован с возможностью принимать пакет запроса доступа, который переносит идентификационную информацию области, включающей в себя множество виртуальных машин, и который отправлен предыдущим транзитным устройством устройства согласно адресу MAC области, включающей в себя множество виртуальных машин.
[0022] Со ссылкой на любой из третьего аспекта, или с первого по третий возможные варианты воплощения третьего аспекта, в четвертом возможном варианте воплощения третьего аспекта, то, что модуль обработки сконфигурирован с возможностью отправлять пакет запроса доступа в выбранную виртуальную машину согласно идентификационной информации выбранной виртуальной машины, включает в себя: модуль обработки сконфигурирован с возможностью: изменять адрес MAC назначения пакета запроса доступа на адрес MAC выбранной виртуальной машины, и отправлять измененный пакет запроса доступа в выбранную виртуальную машину.
[0023] Со ссылкой на третий или четвертый возможный вариант воплощения третьего аспекта, в пятом возможном варианте воплощения, адрес IP в сообщении запроса ARP переносится в пакете запроса доступа, который отправляется клиентом согласно адресу IP области, включающей в себя множество виртуальных машин, и который принимается предыдущим транзитным устройством устройства.
[0024] Согласно четвертому аспекту, обеспечивается устройство балансировки сетевых ресурсов, включающее в себя: модуль обработки, сконфигурированный с возможностью запускать множество виртуальных машин и отдельно назначать идентификационную информацию множеству виртуальных машин, и дополнительно сконфигурированный с возможностью назначать согласно идентификационной информации, назначенной множеству виртуальных машин, идентификационную информацию области, включающей в себя множество виртуальных машин; модуль приема, сконфигурированный с возможностью принимать информацию нагрузки, отправленную множеством виртуальных машин; и модуль отправки, сконфигурированный с возможностью отправлять в модуль балансировки идентификационную информацию множества виртуальных машин, информацию нагрузки множества виртуальных машин и идентификационную информацию области, включающей в себя множество виртуальных машин.
[0025] Со ссылкой на четвертый аспект, в первом возможном варианте воплощения, то, что модуль обработки устройства сконфигурирован с возможностью отдельно назначать идентификационную информацию множеству виртуальных машин, включает в себя: модуль обработки сконфигурирован с возможностью назначать один и тот же адрес IP протокола Интернет и разные адреса MAC управления доступом к среде передачи множеству виртуальных машин; и то, что модуль обработки сконфигурирован с возможностью назначать согласно идентификационной информации, назначенной множеству виртуальных машин, идентификационную информацию области, включающей в себя множество виртуальных машин, включает в себя: модуль обработки сконфигурирован с возможностью назначать согласно одному и тому же адресу IP и разным адресам MAC, назначенным множеству виртуальных машин, адрес IP, такой же как адрес IP множества виртуальных машин, и адрес MAC, отличающийся от адресов MAC множества виртуальных машин, области, включающей в себя множество виртуальных машин.
[0026] Со ссылкой на четвертый аспект или первый возможный вариант воплощения четвертого аспекта, во втором возможном варианте воплощения, модуль отправки дополнительно сконфигурирован с возможностью отправлять информацию запроса в множество виртуальных машин, чтобы запрашивать информацию нагрузки множества виртуальных машин, и модуль приема сконфигурирован с возможностью принимать информацию нагрузки, отправленную множеством виртуальных машин; или то, что модуль приема сконфигурирован с возможностью принимать информацию нагрузки, отправленную множеством виртуальных машин, включает в себя: модуль приема сконфигурирован с возможностью принимать информацию нагрузки, упреждающим образом отправленную множеством виртуальных машин.
[0027] Со ссылкой на четвертый аспект, или первый или второй возможный вариант воплощения четвертого аспекта, в третьем возможном варианте воплощения, когда нагрузка вычислительных узлов является несбалансированной, обрабатывающий модуль дополнительно сконфигурирован с возможностью выбирать виртуальную машину в вычислительных узлах и инструктировать виртуальную машину переместиться.
[0028] Со ссылкой на третий возможный вариант воплощения четвертого аспекта, в четвертом возможном варианте воплощения, то, что модуль обработки сконфигурирован с возможностью выбирать виртуальную машину в вычислительных узлах и инструктировать виртуальную машину переместиться, включает в себя: модуль обработки сконфигурирован с возможностью: выбирать согласно информации нагрузки виртуальных машин в вычислительных узлах виртуальную машину, чья нагрузка является несбалансированной, и отправлять сообщение в виртуальную машину, где сообщение используется, чтобы инструктировать виртуальную машину переместиться в другой вычислительный узел.
[0029] Поэтому, на основе технических решений, обеспеченных в вариантах осуществления настоящего изобретения, модуль балансировки в платформе облачных вычислений получает идентификационную информацию виртуальной машины и идентификационную информацию области, включающей в себя виртуальные машины, которые отправлены контроллером в платформе облачных вычислений, где существует соответствие между идентификационной информацией виртуальной машины и идентификационной информацией области, включающей в себя виртуальные машины; и после приема пакета запроса доступа, модуль балансировки определяет виртуальные машины в области согласно идентификационной информации области в пакете запроса доступа, дополнительно выбирает виртуальную машину согласно информации нагрузки виртуальных машин в области, и отправляет пакет запроса доступа в выбранную виртуальную машину. Этим способом, может обеспечиваться балансировка сетевых ресурсов в платформе облачных вычислений, вместо балансировки сетевых ресурсов посредством взаимодействия между платформой облачных вычислений и внешним клиентом и посредством добавления нового протокола. Поэтому, эффективность балансировки сетевых ресурсов эффективно улучшается.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0030] Чтобы описывать технические решения в вариантах осуществления настоящего изобретения более ясно, последующее кратко описывает сопровождающие чертежи, требуемые для описания вариантов осуществления настоящего изобретения или предшествующего уровня техники. Должно быть ясно, что сопровождающие чертежи в последующем описании показывают всего лишь некоторые варианты осуществления настоящего изобретения, и специалист в данной области техники может все еще выводить другие чертежи из этих сопровождающих чертежей без творческих усилий.
[0031] Фиг. 1 показывает схематическую диаграмму сетевой архитектуры, на которой основываются варианты осуществления настоящего изобретения;
[0032] Фиг. 2 показывает схематическую блок-схему последовательности операций способа балансировки сетевых ресурсов согласно одному варианту осуществления настоящего изобретения;
[0033] Фиг. 3 показывает схематическую блок-схему последовательности операций способа балансировки сетевых ресурсов согласно одному варианту осуществления настоящего изобретения;
[0034] Фиг. 4 показывает схематическую блок-схему устройства балансировки сетевых ресурсов согласно одному варианту осуществления настоящего изобретения;
[0035] Фиг. 5 показывает схематическую блок-схему устройства балансировки сетевых ресурсов согласно одному варианту осуществления настоящего изобретения;
[0036] Фиг. 6 показывает схематическую блок-схему устройства балансировки сетевых ресурсов согласно одному варианту осуществления настоящего изобретения; и
[0037] Фиг. 7 показывает схематическую блок-схему устройства балансировки сетевых ресурсов согласно одному варианту осуществления настоящего изобретения.
ОПИСАНИЕ ВАРИАНТОВ ОСУЩЕСТВЛЕНИЯ
[0038] Последующее явным образом и полностью описывает технические решения в вариантах осуществления настоящего изобретения со ссылкой на сопровождающие чертежи в вариантах осуществления настоящего изобретения. Должно быть ясно, что описанные варианты осуществления являются частью, нежели всеми из вариантов осуществления настоящего изобретения. Все другие варианты осуществления, полученные специалистом в данной области техники на основе вариантов осуществления настоящего изобретения без творческих усилий, должны попадать в пределы объема защиты настоящего изобретения.
[0039] Следует понимать, что, технические решения в вариантах осуществления настоящего изобретения могут применяться к различным системам связи, таким как: система Глобальной системы мобильной связи (Global System of Mobile communication, GSM для краткости), система множественного доступа с кодовым разделением каналов (Code Division Multiple Access, CDMA для краткости), система широкополосного множественного доступа с кодовым разделением каналов (Wideband Code Division Multiple Access, WCDMA для краткости), пакетная радиосвязь общего назначения (General Packet Radio Service, GPRS для краткости), система долговременного развития (Long Term Evolution, LTE для краткости), система дуплекса с частотным разделением LTE (Frequency Division Duplex, FDD для краткости), дуплекс с временным разделением LTE (Time Division Duplex, TDD для краткости), Универсальная система мобильной связи (Universal Mobile Telecommunication System, UMTS для краткости), система Всемирной способности к взаимодействию для микроволнового доступа (Worldwide Interoperability for Microwave Access, WiMAX для краткости).
[0040] Фиг. 1 показывает схематическую диаграмму сетевой архитектуры, на которой основываются варианты осуществления настоящего изобретения. Следует понимать, что сетевая архитектура, показанная на фиг. 1, является предпочтительной прикладной архитектурой вариантов осуществления настоящего изобретения, но варианты осуществления настоящего изобретения также могут основываются на другой сетевой архитектуре, что не ограничено в вариантах осуществления настоящего изобретения.
[0041] Как показано на фиг. 1, платформа облачных вычислений включает в себя узел управления, вычислительный узел, и узел управления сетью.
[0042] Облачные вычисления являются режимом вычислений, в котором динамически масштабируемые и виртуализованные ресурсы обеспечиваются способом обслуживания по сети Интернет. Ресурсы включают в себя ряд ресурсов, которые могут динамически обновляться и виртуализироваться, и ресурсы могут совместно использоваться пользователями облачных вычислений и к ним может легко осуществляться доступ по сети Интернет. В облачных вычислениях, в общем, используется модель "оплата за использование". В модели, обеспечивается доступный, удобный, и обеспечиваемый по требованию сетевой доступ для осуществления доступа к совместно используемому пулу конфигурируемых вычислительных ресурсов (ресурсы включают в себя сеть, сервер, хранилище, прикладное программное обеспечение, и услугу). Ресурсы могут быстро предоставляться, и требуется только минимальное усилие управления, или выполняется малое количество взаимодействий с поставщиком услуг.
[0043] Платформа для осуществления функций облачных вычислений упоминается как платформа облачных вычислений. Платформа облачных вычислений также упоминается как облачная платформа. Платформа облачных вычислений может классифицироваться на три типа: облачная платформа хранения, фокусирующаяся на хранении данных, вычислительная облачная платформа, фокусирующаяся на обработке данных, и комплексная платформа облачных вычислений, на которой осуществляются как вычислительная обработка, так и обработка по хранению данных. Платформа облачных вычислений может исполняться на сервере, что не ограничено в настоящем изобретении.
[0044] Платформа облачных вычислений включает в себя узел управления, вычислительный узел, и узел управления сетью. Узел управления используется, чтобы управлять жизненным циклом исполнения виртуальной машины на всей платформе облачных вычислений, чтобы осуществлять управление на вычислительном ресурсе. Контроллер может располагаться в узле управления, и главным образом используется, чтобы управлять виртуальной машиной, например, чтобы запускать и генерировать виртуальную машину, принимать и обрабатывать информацию об удаленной виртуальной машине, и осуществлять другие функции управления. Вычислительный узел используется, чтобы исполнять виртуальную машину. Узел управления и вычислительный узел являются логическим разделением, и оба могут располагаться в одной и той же физической машине. Узел управления сетью используется, чтобы обеспечивать услугу сети для платформы облачных вычислений. Модуль балансировки располагается в узле управления сетью, и главным образом используется, чтобы осуществлять функцию балансировки нагрузки между виртуальными машинами. Подобным образом, узел управления сетью, узел управления, и вычислительный узел также являются логическим разделением, и могут развертываться в одной и той же физической машине.
[0045] Фиг. 2 показывает схематическую блок-схему последовательности операций способа балансировки сетевых ресурсов согласно одному варианту осуществления настоящего изобретения. Способ может исполняться посредством любого соответствующего устройства, например, может исполняться посредством контроллера, что, однако, не ограничено в настоящем изобретении. Как показано на фиг. 2, способ включает в себя следующие этапы.
[0046] S201. Контроллер запускает множество виртуальных машин и отдельно назначает идентификационную информацию множеству виртуальных машин.
[0047] Контроллер может создавать виртуальную машину на платформе облачных вычислений. То есть, контроллер запускает множество виртуальных машин на платформе облачных вычислений. Контроллер назначает идентификационную информацию множеству виртуальных машин. В общем, идентификационная информация может быть адресом IP и адресом управления доступом к среде передачи (Media Access Control, MAC для краткости) виртуальной машины. Контроллер может отдельно назначать один и тот же адрес IP и разные адреса MAC множеству виртуальных машин.
[0048] S202. Контроллер назначает согласно идентификационной информации, назначенной множеству виртуальных машин, идентификационную информацию области, включающей в себя множество виртуальных машин.
[0049] Конкретно, после того, как контроллер отдельно назначает идентификационную информацию множеству виртуальных машин (то есть, контроллер отдельно назначает один и тот же адрес IP и разные адреса MAC множеству виртуальных машин на S201), контроллер назначает, на основе идентификационной информации, назначенной множеству виртуальных машин, идентификационную информацию области, включающей в себя множество виртуальных машин. Конкретно, контроллер назначает, области, включающей в себя множество виртуальных машин, адрес IP, такой же как адрес IP множества виртуальных машин, и адрес MAC, отличающийся от адресов MAC множества виртуальных машин.
[0050] Поэтому, формируется соответствие между областью, включающей в себя множество виртуальных машин, и множеством виртуальных машин из-за одного и того же адреса IP.
[0051] S203. Контроллер принимает информацию нагрузки, отправленную множеством виртуальных машин.
[0052] Конкретно, контроллер может отправлять сообщение запроса множеству виртуальных машин, чтобы запрашивать информацию нагрузки множества виртуальных машин, и множество виртуальных машин отправляют соответствующую информацию нагрузки в контроллер. Альтернативно, множество виртуальных машин упреждающим образом отправляют соответствующую информацию нагрузки в контроллер.
[0053] В дополнение, этот вариант осуществления настоящего изобретения не накладывает ограничение на порядок S203 и S202.
[0054] S204. Контроллер отправляет в модуль балансировки идентификационную информацию множества виртуальных машин, информацию нагрузки множества виртуальных машин и идентификационную информацию области, включающей в себя множество виртуальных машин.
[0055] Конкретно, контроллер отправляет идентификационную информацию множества виртуальных машин (адрес IP и адреса MAC множества виртуальных машин), информацию нагрузки множества виртуальных машин и идентификационную информацию области, включающей в себя множество виртуальных машин (адрес IP и адрес MAC области, включающей в себя множество виртуальных машин).
[0056] В заключение, согласно способу балансировки сетевых ресурсов, обеспеченному в этом варианте осуществления настоящего изобретения, контроллер запускает множество виртуальных машин, назначает идентификационную информацию множеству виртуальных машин, и назначает, на основе идентификационной информации, назначенной множеству виртуальных машин, идентификационную информацию области, включающей в себя множество виртуальных машин, так что формируется соответствие между множеством виртуальных машин и областью, включающей в себя множество виртуальных машин; контроллер принимает информацию нагрузки, отправленную множеством виртуальных машин; контроллер дополнительно отправляет в модуль балансировки идентификационную информацию множества виртуальных машин, идентификационную информацию области, включающей в себя множество виртуальных машин, и информацию нагрузки множества виртуальных машин, так что модуль балансировки может отправлять идентификационную информацию области, включающей в себя множество виртуальных машин, в клиент, и выбирать соответствующую виртуальную машину для клиента согласно идентификационной информации области, включающей в себя множество виртуальных машин, информации нагрузки множества виртуальных машин и идентификационной информации множества виртуальных машин после приема пакета запроса доступа клиента. Этим способом, на основе взаимодействия между контроллером и машиной запросов в платформе облачных вычислений, балансировка сетевых ресурсов может осуществляться в платформе облачных вычислений, вместо балансировки сетевых ресурсов посредством взаимодействия между платформой облачных вычислений и внешним клиентом и посредством добавления нового протокола. Поэтому, эффективность балансировки сетевых ресурсов эффективно улучшается.
[0057] Необязательно, техническое решение, обеспеченное в этом варианте осуществления настоящего изобретения, может дополнительно включать в себя:
когда нагрузка вычислительных узлов является несбалансированной, контроллер может регулировать местоположения виртуальных машин в разных вычислительных узлах, чтобы осуществлять балансировку нагрузки между вычислительными узлами. То есть, этот вариант осуществления настоящего изобретения может дополнительно включать в себя:
контроллер выбирает виртуальную машину в вычислительных узлах и инструктирует виртуальную машину переместиться.
[0058] Конкретно, контроллер выбирает согласно информации нагрузки виртуальных машин в вычислительных узлах виртуальную машину, чья нагрузка является несбалансированной, и отправляет сообщение в выбранную виртуальную машину, где сообщение используется, чтобы инструктировать виртуальную машину переместиться.
[0059] Виртуальная машина подвергается перемещению виртуальной машины между разными вычислительными узлами согласно сообщению, отправленному контроллером.
[0060] Когда виртуальная машина перемещается в другой вычислительный узел, адрес IP и адрес MAC виртуальной машины не изменяются. Поэтому, модуль балансировки может все еще выбирать соответствующую виртуальную машину согласно исходному адресу IP и исходному адресу MAC виртуальной машины, и отправляет пакет запроса доступа.
[0061] Поэтому, на основе предшествующего технического решения, когда нагрузка вычислительных узлов является несбалансированной, контроллер инструктирует согласно информации нагрузки виртуальных машин в вычислительных узлах виртуальную машину переместиться. Когда виртуальная машина перемещается, адрес IP и идентификационная информация виртуальной машины не изменяются. Поэтому, эффект балансировки нагрузки вычислительных узлов достигается посредством использования платформы облачных вычислений, без оказания влияния на клиентский доступ.
[0062] Фиг. 3 показывает схематическую блок-схему последовательности операций способа балансировки сетевых ресурсов согласно одному варианту осуществления настоящего изобретения. Способ может исполняться посредством модуля балансировки, что, однако, не ограничено в настоящем изобретении. Способ, обеспеченный в этом варианте осуществления настоящего изобретения, и способ, обеспеченный в варианте осуществления настоящего изобретения, показанный на фиг. 2, могут использоваться вместе.
[0063] S301. Модуль балансировки принимает идентификационную информацию и информацию нагрузки виртуальной машины, которые отправлены контроллером, и идентификационную информацию, которая отправлена контроллером, области, которая включает в себя множество виртуальных машин и которой виртуальная машина принадлежит, где существует соответствие между идентификационной информацией виртуальной машины и идентификационной информацией области, включающей в себя множество виртуальных машин.
[0064] Идентификационная информация виртуальной машины включает в себя адрес IP и адрес MAC. Идентификационная информация области, включающей в себя множество виртуальных машин, включает в себя адрес IP, такой же как адрес IP виртуальной машины, и адрес MAC, отличающийся от адреса MAC виртуальной машины. Виртуальные машины в области, включающей в себя множество виртуальных машин, имеют один и тот же адрес IP и разные адреса MAC.
[0065] Дополнительно, модуль балансировки поддерживает идентификационную информацию области, включающей в себя множество виртуальных машин, и обеспечивает адрес IP в идентификационной информации области для сервера системы доменных имен (Domain Name System, DNS для краткости).
[0066] Адрес IP в идентификационной информации области может поддерживаться посредством использования сервера DNS, так что клиент может получать адрес IP согласно доменному имени, и, поэтому, может отправлять пакет запроса доступа на адрес IP. Например, клиент может найти адрес IP компании Google от сервера DNS согласно доменному имени Google компании Google.
[0067] Клиент получает адрес IP области, включающей в себя множество виртуальных машин, от сервера DNS, и адрес IP используется, чтобы отправлять пакет запроса доступа в модуль балансировки. Конкретно, клиент получает, посредством запроса согласно доменному имени, адрес IP области, включающей в себя множество виртуальных машин, от сервера DNS. Клиент отправляет пакет запроса доступа в предыдущее транзитное устройство модуля балансировки согласно адресу IP посредством использования промежуточного устройства (промежуточного устройства между клиентом и модулем балансировки). Конкретно, клиент отправляет пакет запроса доступа в следующее транзитное устройство клиента согласно адресу IP. Следующее транзитное устройство напрямую или косвенно (то есть, следующее транзитное устройство отправляет пакет запроса доступа в следующее транзитное устройство следующего транзитного устройства согласно адресу IP) отправляет пакет запроса доступа в предыдущее транзитное устройство модуля балансировки согласно адресу IP. Пакет запроса доступа переносит адрес IP области, включающей в себя множество виртуальных машин. Предыдущее транзитное устройство может быть, например, устройством, соединенным с модулем балансировки, таким как коммутатор или маршрутизатор.
[0068] S302. После приема пакета запроса доступа, модуль балансировки определяет идентификационную информацию множества виртуальных машин в области и информацию нагрузки множества виртуальных машин в области согласно идентификационной информации, которая относится к области, включающей в себя множество виртуальных машин, и которая переносится в пакете запроса доступа, выбирает виртуальную машину согласно информации нагрузки множества виртуальных машин, и отправляет пакет запроса доступа в выбранную виртуальную машину согласно идентификационной информации выбранной виртуальной машины.
[0069] То, что модуль балансировки принимает пакет запроса доступа, конкретно включает в себя: предыдущее транзитное устройство модуля балансировки принимает пакет запроса доступа, который переносит адрес IP области, включающей в себя множество виртуальных машин; когда предыдущее транзитное устройство отправляет запрос протокола разрешения адресов (Address Resolution Protocol, ARP для краткости) в отношении адреса IP в модуль балансировки, модуль балансировки может возвращать соответствующий адрес MAC, так что модуль балансировки может принимать пакет запроса доступа, подлежащий отправке на адрес IP. Конкретно, модуль балансировки принимает информацию запроса протокола разрешения адресов ARP, отправленную предыдущим транзитным устройством модуля балансировки. Информация запроса ARP включает в себя адрес IP области, включающей в себя множество виртуальных машин, и используется, чтобы запрашивать адрес MAC, соответствующий адресу IP области. Модуль балансировки отправляет адрес MAC области, включающей в себя множество виртуальных машин, в предыдущее транзитное устройство модуля балансировки, и дополнительно, предыдущее транзитное устройство модуля балансировки отправляет пакет запроса доступа в модуль балансировки согласно адресу MAC области, включающей в себя множество виртуальных машин. Пакет запроса доступа переносит идентификационную информацию области, включающей в себя множество виртуальных машин.
[0070] После приема пакета запроса доступа, модуль балансировки выбирает виртуальную машину согласно идентификационной информации области, включающей в себя множество виртуальных машин, информации нагрузки множества виртуальных машин и идентификационной информации множества виртуальных машин и отправляет пакет запроса доступа в соответствующую виртуальную машину согласно идентификационной информации виртуальной машины. После приема пакета запроса доступа, который переносит идентификационную информацию области, включающей в себя множество виртуальных машин, модуль балансировки определяет идентификационную информацию множества виртуальных машин и информацию нагрузки множества виртуальных машин согласно идентификационной информации области, включающей в себя множество виртуальных машин, и выбирает виртуальную машину. Формируется соответствие между идентификационной информацией области, включающей в себя множество виртуальных машин, и идентификационной информацией множества виртуальных машин на основе одного и того же адреса IP. Поэтому, модуль балансировки определяет идентификационную информацию множества виртуальных машин в области согласно идентификационной информации области, включающей в себя множество виртуальных машин, и выбирает идентификатор виртуальной машины согласно информации нагрузки множества виртуальных машин и идентификационной информации множества виртуальных машин, чтобы удовлетворять требование к балансировке нагрузки. Конкретно, информация адреса MAC в идентификационной информации выбранной виртуальной машины может использоваться, чтобы заменять адрес MAC, переносимый в пакете запроса доступа, так что пакет запроса доступа может отправляться в соответствующую виртуальную машину. При отправке пакета запроса доступа впоследствии, платформа облачных вычислений изменяет адрес MAC источника пакета запроса доступа на адрес MAC модуля балансировки.
[0071] Поэтому, на основе способа балансировки сетевых ресурсов, обеспеченного в этом варианте осуществления настоящего изобретения, модуль балансировки принимает идентификационную информацию и информацию нагрузки виртуальной машины, которые отправлены контроллером, и идентификационную информацию, которая отправлена контроллером, области, которая включает в себя множество виртуальных машин и которой виртуальная машина принадлежит, где существует соответствие между идентификационной информацией виртуальной машины и идентификационной информацией области, включающей в себя множество виртуальных машин; после приема пакета запроса доступа, модуль балансировки определяет идентификационную информацию множества виртуальных машин в области и информацию нагрузки множества виртуальных машин в области согласно идентификационной информации, которая относится к области, включающей в себя множество виртуальных машин, и которая переносится в пакете запроса доступа, выбирает виртуальную машину согласно информации нагрузки множества виртуальных машин, и отправляет пакет запроса доступа в выбранную виртуальную машину согласно идентификационной информации выбранной виртуальной машины. На основе технического решения, обеспеченного в вышеупомянутом варианте осуществления, балансировка нагрузки сетевых ресурсов должна осуществляться только в платформе облачных вычислений на основе взаимодействия между контроллером и машиной запросов в платформе облачных вычислений, без получения, клиентом посредством взаимодействия с платформой облачных вычислений, информации нагрузки виртуальной машины, чтобы выбирать соответствующую виртуальную машину. Поэтому, эффективность балансировки сетевых ресурсов улучшается.
[0072] Фиг. 4 показывает схематическую блок-схему устройства балансировки сетевых ресурсов согласно одному варианту осуществления настоящего изобретения. Устройство балансировки сетевых ресурсов может быть контроллером, что, однако, не ограничено в настоящем изобретении. Устройство, обеспеченное в этом варианте осуществления настоящего изобретения, показанном на фиг. 4, может исполнять способ балансировки сетевых ресурсов, показанный на фиг. 2.
[0073] Как показано на фиг. 4, устройство включает в себя модуль 401 обработки, модуль 402 приема, и модуль 403 отправки.
[0074] Модуль 401 обработки сконфигурирован с возможностью запускать множество виртуальных машин и отдельно назначать идентификационную информацию множеству виртуальных машин, и дополнительно сконфигурирован с возможностью назначать согласно идентификационной информации, назначенной множеству виртуальных машин, идентификационную информацию области, включающей в себя множество виртуальных машин.
[0075] То, что модуль 401 обработки сконфигурирован с возможностью отдельно назначать идентификационную информацию множеству виртуальных машин, включает в себя: модуль обработки сконфигурирован с возможностью назначать один и тот же адрес IP протокола Интернет и разные адреса MAC управления доступом к среде передачи множеству виртуальных машин, то есть, модуль 401 обработки назначает один и тот же адрес IP и разные адреса MAC всем виртуальным машинам в множестве виртуальных машин. То, что модуль обработки сконфигурирован с возможностью назначать согласно идентификационной информации, назначенной множеству виртуальных машин, идентификационную информацию области, включающей в себя множество виртуальных машин, включает в себя: модуль обработки сконфигурирован с возможностью назначать согласно одному и тому же адресу IP и разным адресам MAC, назначенным множеству виртуальных машин, адрес IP, такой же как адрес IP множества виртуальных машин, и адрес MAC, отличающийся от адресов MAC множества виртуальных машин, области, включающей в себя множество виртуальных машин.
[0076] Модуль 402 приема сконфигурирован с возможностью принимать информацию нагрузки, отправленную множеством виртуальных машин.
[0077] Модуль 403 отправки сконфигурирован с возможностью отправлять в модуль балансировки идентификационную информацию множества виртуальных машин, информацию нагрузки множества виртуальных машин и идентификационную информацию области, включающей в себя множество виртуальных машин.
[0078] Модуль 403 отправки дополнительно сконфигурирован с возможностью отправлять информацию запроса в множество виртуальных машин, чтобы запрашивать информацию нагрузки множества виртуальных машин, и модуль 402 приема сконфигурирован с возможностью принимать информацию нагрузки, отправленную множеством виртуальных машин. Альтернативно, то, что модуль 402 приема сконфигурирован с возможностью принимать информацию нагрузки, отправленную множеством виртуальных машин, включает в себя:
модуль 402 приема сконфигурирован с возможностью принимать информацию нагрузки всех виртуальных машин, которая упреждающим образом отправляется множеством виртуальных машин.
[0079] Когда нагрузка вычислительных узлов является несбалансированной, модуль 401 обработки дополнительно сконфигурирован с возможностью выбирать виртуальную машину в вычислительных узлах и инструктировать виртуальную машину переместиться, что конкретно включает в себя: модуль 401 обработки сконфигурирован с возможностью: выбирать согласно информации нагрузки виртуальных машин в вычислительных узлах виртуальную машину, чья нагрузка является несбалансированной, и отправлять сообщение в виртуальную машину, где сообщение используется, чтобы инструктировать виртуальную машину переместиться в другой вычислительный узел.
[0080] Устройство, обеспеченное в этом варианте осуществления настоящего изобретения, может соответствовать контроллеру в способе, показанном на фиг. 2. В дополнение, вышеупомянутые и другие операции и/или функции всех модулей в устройстве, обеспеченном в настоящем изобретении, отдельно используются, чтобы осуществлять соответствующие обработки способов, показанных на фиг. 1 и фиг. 2, и, для краткости, подробности здесь не описываются.
[0081] Поэтому, на основе устройства балансировки сетевых ресурсов, обеспеченного в этом варианте осуществления настоящего изобретения, устройство запускает множество виртуальных машин, назначает идентификационную информацию множеству виртуальных машин, и назначает, на основе идентификационной информации, назначенной множеству виртуальных машин, идентификационную информацию области, включающей в себя множество виртуальных машин, так что формируется соответствие между множеством виртуальных машин и областью, включающей в себя множество виртуальных машин; контроллер принимает информацию нагрузки, отправленную множеством виртуальных машин, и дополнительно отправляет в модуль балансировки идентификационную информацию множества виртуальных машин, идентификационную информацию области, включающей в себя множество виртуальных машин, и информацию нагрузки множества виртуальных машин, так что модуль балансировки может отправлять идентификационную информацию области, включающей в себя множество виртуальных машин, в клиент, и выбирать соответствующую виртуальную машину для клиента согласно идентификационной информации области, включающей в себя множество виртуальных машин, информации нагрузки множества виртуальных машин и идентификационной информации множества виртуальных машин после приема пакета запроса доступа клиента.
[0082] Фиг. 5 показывает схематическую блок-схему устройства балансировки сетевых ресурсов согласно одному варианту осуществления настоящего изобретения. Устройство балансировки сетевых ресурсов может быть модулем балансировки, что, однако, не ограничено в настоящем изобретении. Устройство, обеспеченное в этом варианте осуществления настоящего изобретения, показанном на фиг. 5, может исполнять способ балансировки сетевых ресурсов, показанный на фиг. 3.
[0083] Как показано на фиг. 5, устройство включает в себя модуль 501 приема и модуль 502 обработки.
[0084] Модуль 501 приема сконфигурирован с возможностью принимать идентификационную информацию и информацию нагрузки виртуальной машины, которые отправлены контроллером, и идентификационную информацию, которая отправлена контроллером, области, которая включает в себя множество виртуальных машин и которой виртуальная машина принадлежит, где существует соответствие между идентификационной информацией виртуальной машины и идентификационной информацией области, включающей в себя множество виртуальных машин.
[0085] Идентификационная информация виртуальной машины, которая отправляется контроллером, включает в себя адрес IP и адрес MAC. Идентификационная информация области, включающей в себя множество виртуальных машин, включает в себя адрес IP, такой же как адрес IP виртуальной машины, и адрес MAC, отличающийся от адреса MAC виртуальной машины. Виртуальные машины в области, включающей в себя множество виртуальных машин, имеют один и тот же адрес IP и разные адреса MAC.
[0086] Модуль 502 обработки сконфигурирован с возможностью: после того, как пакет запроса доступа принимается, определять согласно идентификационной информации, которая относится к области, включающей в себя множество виртуальных машин, и которая переносится в пакете запроса доступа, идентификационную информацию множества виртуальных машин в области и информацию нагрузки множества виртуальных машин в области, где идентификационная информация множества виртуальных машин в области соответствует идентификатору, который относится к области и который переносится в пакете запроса доступа, выбирать виртуальную машину согласно информации нагрузки множества виртуальных машин, и отправлять пакет запроса доступа в выбранную виртуальную машину согласно идентификационной информации выбранной виртуальной машины.
[0087] Устройство дополнительно включает в себя модуль 503 отправки, сконфигурированный с возможностью отправлять адрес IP области, включающей в себя множество виртуальных машин, в сервер системы доменных имен DNS, так что клиент получает согласно доменному имени адрес IP области, включающей в себя множество виртуальных машин, от сервера DNS.
[0088] Дополнительно, модуль 501 приема дополнительно сконфигурирован с возможностью принимать информацию запроса протокола разрешения адресов ARP, отправленную предыдущим транзитным устройством устройства, где информация запроса ARP включает в себя адрес IP области, включающей в себя множество виртуальных машин, и используется, чтобы запрашивать адрес MAC, соответствующий адресу IP области. Модуль 503 отправки дополнительно сконфигурирован с возможностью отправлять адрес MAC области, включающей в себя множество виртуальных машин, в предыдущее транзитное устройство устройства. То, что модуль 501 приема сконфигурирован с возможностью принимать пакет запроса доступа, включает в себя: модуль 501 приема сконфигурирован с возможностью принимать пакет запроса доступа, который переносит идентификационную информацию области, включающей в себя множество виртуальных машин, и который отправлен предыдущим транзитным устройством устройства согласно адресу MAC области, включающей в себя множество виртуальных машин.
[0089] Дополнительно, то, что модуль 502 обработки сконфигурирован с возможностью отправлять пакет запроса доступа в выбранную виртуальную машину согласно идентификационной информации выбранной виртуальной машины, включает в себя: модуль 502 обработки сконфигурирован с возможностью: изменять адрес MAC назначения пакета запроса доступа на адрес MAC выбранной виртуальной машины, и отправлять измененный пакет запроса доступа в выбранную виртуальную машину.
[0090] Необязательно, адрес IP в сообщении запроса ARP переносится в пакете запроса доступа, который отправляется клиентом согласно адресу IP области, включающей в себя множество виртуальных машин, и который принимается предыдущим транзитным устройством устройства.
[0091] Устройство, обеспеченное в этом варианте осуществления настоящего изобретения, может соответствовать модулю балансировки в способе, показанном на фиг. 3. В дополнение, вышеупомянутые и другие операции и/или функции всех модулей в устройстве, обеспеченном в настоящем изобретении, отдельно используются, чтобы осуществлять соответствующие обработки способов, показанных на фиг. 1 и фиг. 3, и, для краткости, подробности здесь не описываются.
[0092] Поэтому, на основе устройства балансировки сетевых ресурсов, обеспеченного в этом варианте осуществления настоящего изобретения, устройство принимает идентификационную информацию множества виртуальных машин, информацию нагрузки множества виртуальных машин и идентификационную информацию области, включающей в себя множество виртуальных машин, которые отправлены контроллером; и отправляет идентификационную информацию области, включающей в себя множество виртуальных машин, в клиент, так что сообщение запроса доступа переносит идентификационную информацию области, когда клиент отправляет сообщение запроса доступа; и устройство определяет идентификационную информацию множества виртуальных машин в области согласно идентификационной информации области, выбирает соответствующую виртуальную машину согласно идентификационной информации множества виртуальных машин в области и информации нагрузки множества виртуальных машин, и отправляет пакет запроса доступа в соответствующую виртуальную машину. На основе технического решения, обеспеченного в вышеупомянутом варианте осуществления, балансировка нагрузки сетевых ресурсов должна осуществляться только в платформе облачных вычислений на основе взаимодействия между контроллером и машиной запросов в платформе облачных вычислений, без получения, клиентом посредством взаимодействия с платформой облачных вычислений, информации нагрузки виртуальной машины, чтобы выбирать соответствующую виртуальную машину. Поэтому, эффективность балансировки сетевых ресурсов улучшается.
[0093] Фиг. 6 показывает схематическую блок-схему устройства балансировки сетевых ресурсов согласно одному варианту осуществления настоящего изобретения. Устройство балансировки сетевых ресурсов может быть контроллером, что, однако, не ограничено в настоящем изобретении. Устройство, обеспеченное в этом варианте осуществления настоящего изобретения, показанном на фиг. 6, может исполнять способ балансировки сетевых ресурсов, показанный на фиг. 2.
[0094] Как показано на фиг. 6, устройство включает в себя процессор 601, приемник 602, и передатчик 603.
[0095] Процессор 601 сконфигурирован с возможностью запускать множество виртуальных машин и отдельно назначать идентификационную информацию множеству виртуальных машин, и дополнительно сконфигурирован с возможностью назначать согласно идентификационной информации, назначенной множеству виртуальных машин, идентификационную информацию области, включающей в себя множество виртуальных машин.
[0096] То, что процессор 601 сконфигурирован с возможностью отдельно назначать идентификационную информацию множеству виртуальных машин, включает в себя: модуль обработки сконфигурирован с возможностью назначать один и тот же адрес IP протокола Интернет и разные адреса MAC управления доступом к среде передачи множеству виртуальных машин, то есть, процессор 601 назначает один и тот же адрес IP и разные адреса MAC всем виртуальным машинам в множестве виртуальных машин. То, что модуль обработки сконфигурирован с возможностью назначать согласно идентификационной информации, назначенной множеству виртуальных машин, идентификационную информацию области, включающей в себя множество виртуальных машин, включает в себя: модуль обработки сконфигурирован с возможностью назначать согласно одному и тому же адресу IP и разным адресам MAC, назначенным множеству виртуальных машин, адрес IP, такой же как адрес IP множества виртуальных машин, и адрес MAC, отличающийся от адресов MAC множества виртуальных машин, области, включающей в себя множество виртуальных машин.
[0097] Приемник 602 сконфигурирован с возможностью принимать информацию нагрузки, отправленную множеством виртуальных машин.
[0098] Передатчик 603 сконфигурирован с возможностью отправлять в модуль балансировки идентификационную информацию множества виртуальных машин, информацию нагрузки множества виртуальных машин и идентификационную информацию области, включающей в себя множество виртуальных машин.
[0099] Передатчик 603 дополнительно сконфигурирован с возможностью отправлять информацию запроса в множество виртуальных машин, чтобы запрашивать информацию нагрузки множества виртуальных машин, и приемник 602 сконфигурирован с возможностью принимать информацию нагрузки, отправленную множеством виртуальных машин. Альтернативно, то, что приемник 602 сконфигурирован с возможностью принимать информацию нагрузки, отправленную множеством виртуальных машин, включает в себя:
приемник 602 сконфигурирован с возможностью принимать информацию нагрузки всех виртуальных машин, которая упреждающим образом отправляется множеством виртуальных машин.
[0100] Когда нагрузка вычислительных узлов является несбалансированной, процессор 601 дополнительно сконфигурирован с возможностью выбирать виртуальную машину в вычислительных узлах и инструктировать виртуальную машину переместиться, что конкретно включает в себя: процессор 601 сконфигурирован с возможностью: выбирать согласно информации нагрузки виртуальных машин в вычислительных узлах виртуальную машину, чья нагрузка является несбалансированной, и отправлять сообщение в виртуальную машину, где сообщение используется, чтобы инструктировать виртуальную машину переместиться в другой вычислительный узел.
[0101] Устройство, обеспеченное в этом варианте осуществления настоящего изобретения, может соответствовать контроллеру в способе, показанном на фиг. 2. В дополнение, вышеупомянутые и другие операции и/или функции всех модулей в устройстве, обеспеченном в настоящем изобретении, отдельно используются, чтобы осуществлять соответствующие обработки способов, показанных на фиг. 1 и фиг. 2, и, для краткости, подробности здесь не описываются.
[0102] Поэтому, на основе устройства балансировки сетевых ресурсов, обеспеченного в этом варианте осуществления настоящего изобретения, устройство запускает множество виртуальных машин, назначает идентификационную информацию множеству виртуальных машин, и назначает, на основе идентификационной информации, назначенной множеству виртуальных машин, идентификационную информацию области, включающей в себя множество виртуальных машин, так что формируется соответствие между множеством виртуальных машин и областью, включающей в себя множество виртуальных машин; контроллер принимает информацию нагрузки, отправленную множеством виртуальных машин, и дополнительно отправляет в модуль балансировки идентификационную информацию множества виртуальных машин, идентификационную информацию области, включающей в себя множество виртуальных машин, и информацию нагрузки множества виртуальных машин, так что модуль балансировки может отправлять идентификационную информацию области, включающей в себя множество виртуальных машин, в клиент, и выбирать соответствующую виртуальную машину для клиента согласно идентификационной информации области, включающей в себя множество виртуальных машин, информации нагрузки множества виртуальных машин и идентификационной информации множества виртуальных машин после приема пакета запроса доступа клиента.
[0103] Следует понимать, что, в этом варианте осуществления настоящего изобретения, процессор может быть центральным блоком обработки (Central Processing Unit, CPU для краткости), или процессор может быть другим процессором общего назначения, цифровым сигнальным процессором (DSP), специализированной интегральной схемой (ASIC), программируемой пользователем вентильной матрицей (FPGA), или другим программируемым логическим устройством, дискретным логическим элементом или транзисторным логическим устройством, дискретным аппаратным компонентом, или подобным. Процессор общего назначения может быть микропроцессором, или процессор может быть любым стандартным процессором или подобным.
[0104] В процессе осуществления, предшествующие этапы могут совершаться посредством использования аппаратно интегрированной логической схемы в процессоре, или посредством использования инструкций в форме программного обеспечения. Этапы способа, раскрытые со ссылкой на варианты осуществления настоящего изобретения, могут напрямую выполняться посредством аппаратного процессора, или могут выполняться посредством использования комбинации аппаратного обеспечения в процессоре и программного модуля. Программный модуль может располагаться в обычном запоминающем носителе в данной области техники, таком как память с произвольным доступом, флэш-память, постоянное запоминающее устройство, программируемое постоянное запоминающее устройство, электрически стираемая программируемая память, регистр, или подобное. Запоминающий носитель располагается в памяти, и процессор считывает информацию из памяти и совершает этапы в вышеупомянутых способах в комбинации с аппаратным обеспечением в процессоре. Чтобы избегать повторения, подробности здесь не описываются.
[0105] Фиг. 7 показывает схематическую блок-схему устройства балансировки сетевых ресурсов согласно одному варианту осуществления настоящего изобретения. Устройство балансировки сетевых ресурсов может быть модулем балансировки, что, однако, не ограничено в настоящем изобретении. Устройство, обеспеченное в этом варианте осуществления настоящего изобретения, показанном на фиг. 7, может исполнять способ балансировки сетевых ресурсов, показанный на фиг. 3.
[0106] Как показано на фиг. 7, устройство включает в себя приемник 701 и процессор 702.
[0107] Приемник 701 сконфигурирован с возможностью принимать идентификационную информацию и информацию нагрузки виртуальной машины, которые отправлены контроллером, и идентификационную информацию, которая отправлена контроллером, области, которая включает в себя множество виртуальных машин и которой виртуальная машина принадлежит, где существует соответствие между идентификационной информацией виртуальной машины и идентификационной информацией области, включающей в себя множество виртуальных машин.
[0108] Идентификационная информация виртуальной машины, которая отправляется контроллером, включает в себя адрес IP и адрес MAC. Идентификационная информация области, включающей в себя множество виртуальных машин, включает в себя адрес IP, такой же как адрес IP виртуальной машины, и адрес MAC, отличающийся от адреса MAC виртуальной машины. Виртуальные машины в области, включающей в себя множество виртуальных машин, имеют один и тот же адрес IP и разные адреса MAC.
[0109] Процессор 702 сконфигурирован с возможностью: после того, как пакет запроса доступа принимается, определять согласно идентификационной информации, которая относится к области, включающей в себя множество виртуальных машин, и которая переносится в пакете запроса доступа, идентификационную информацию множества виртуальных машин в области и информацию нагрузки множества виртуальных машин в области, где идентификационная информация множества виртуальных машин в области соответствует идентификатору, который относится к области и который переносится в пакете запроса доступа, выбирать виртуальную машину согласно информации нагрузки множества виртуальных машин, и отправлять пакет запроса доступа в выбранную виртуальную машину согласно идентификационной информации выбранной виртуальной машины.
[0110] Устройство дополнительно включает в себя передатчик 703, сконфигурированный с возможностью отправлять адрес IP области, включающей в себя множество виртуальных машин, в сервер системы доменных имен DNS, так что клиент получает согласно доменному имени адрес IP области, включающей в себя множество виртуальных машин, от сервера DNS.
[0111] Дополнительно, приемник 701 дополнительно сконфигурирован с возможностью принимать информацию запроса протокола разрешения адресов ARP, отправленную предыдущим транзитным устройством устройства, где информация запроса ARP включает в себя адрес IP области, включающей в себя множество виртуальных машин, и используется, чтобы запрашивать адрес MAC, соответствующий адресу IP области. Модуль 503 отправки дополнительно сконфигурирован с возможностью отправлять адрес MAC области, включающей в себя множество виртуальных машин, в предыдущее транзитное устройство устройства. То, что приемник 701 сконфигурирован с возможностью принимать пакет запроса доступа, включает в себя: приемник 701 сконфигурирован с возможностью принимать пакет запроса доступа, который переносит идентификационную информацию области, включающей в себя множество виртуальных машин, и который отправлен предыдущим транзитным устройством устройства согласно адресу MAC области, включающей в себя множество виртуальных машин.
[0112] Дополнительно, то, что процессор 702 сконфигурирован с возможностью отправлять пакет запроса доступа в выбранную виртуальную машину согласно идентификационной информации выбранной виртуальной машины, включает в себя: процессор 702 сконфигурирован с возможностью: изменять адрес MAC назначения пакета запроса доступа на адрес MAC выбранной виртуальной машины, и отправлять измененный пакет запроса доступа в выбранную виртуальную машину.
[0113] Необязательно, адрес IP в сообщении запроса ARP переносится в пакете запроса доступа, который отправляется клиентом согласно адресу IP области, включающей в себя множество виртуальных машин, и который принимается предыдущим транзитным устройством устройства.
[0114] Устройство, обеспеченное в этом варианте осуществления настоящего изобретения, может соответствовать модулю балансировки в способе, показанном на фиг. 3. В дополнение, вышеупомянутые и другие операции и/или функции всех модулей в устройстве, обеспеченном в настоящем изобретении, отдельно используются, чтобы осуществлять соответствующие обработки способов, показанных на фиг. 1 и фиг. 3, и, для краткости, подробности здесь не описываются.
[0115] Поэтому, на основе устройства балансировки сетевых ресурсов, обеспеченного в этом варианте осуществления настоящего изобретения, устройство принимает идентификационную информацию множества виртуальных машин, информацию нагрузки множества виртуальных машин и идентификационную информацию области, включающей в себя множество виртуальных машин, которые отправлены контроллером; и отправляет идентификационную информацию области, включающей в себя множество виртуальных машин, в клиент, так что сообщение запроса доступа переносит идентификационную информацию области, когда клиент отправляет сообщение запроса доступа; и устройство определяет идентификационную информацию множества виртуальных машин в области согласно идентификационной информации области, выбирает соответствующую виртуальную машину согласно идентификационной информации множества виртуальных машин в области и информации нагрузки множества виртуальных машин, и отправляет пакет запроса доступа в соответствующую виртуальную машину. На основе технического решения, обеспеченного в вышеупомянутом варианте осуществления, балансировка нагрузки сетевых ресурсов должна осуществляться только в платформе облачных вычислений на основе взаимодействия между контроллером и машиной запросов в платформе облачных вычислений, без получения, клиентом посредством взаимодействия с платформой облачных вычислений, информации нагрузки виртуальной машины, чтобы выбирать соответствующую виртуальную машину. Поэтому, эффективность балансировки сетевых ресурсов улучшается.
[0116] Следует понимать, что, в этом варианте осуществления настоящего изобретения, процессор может быть центральным блоком обработки (Central Processing Unit, CPU для краткости), или процессор может быть другим процессором общего назначения, цифровым сигнальным процессором (DSP), специализированной интегральной схемой (ASIC), программируемой пользователем вентильной матрицей (FPGA), или другим программируемым логическим устройством, дискретным логическим элементом или транзисторным логическим устройством, дискретным аппаратным компонентом, или подобным. Процессор общего назначения может быть микропроцессором, или процессор может быть любым стандартным процессором или подобным.
[0117] В процессе осуществления, предшествующие этапы могут совершаться посредством использования аппаратно интегрированной логической схемы в процессоре, или посредством использования инструкций в форме программного обеспечения. Этапы способа, раскрытые со ссылкой на варианты осуществления настоящего изобретения, могут напрямую выполняться посредством аппаратного процессора, или могут выполняться посредством использования комбинации аппаратного обеспечения в процессоре и программного модуля. Программный модуль может располагаться в обычном запоминающем носителе в данной области техники, таком как память с произвольным доступом, флэш-память, постоянное запоминающее устройство, программируемое постоянное запоминающее устройство, электрически стираемая программируемая память, регистр, или подобное. Запоминающий носитель располагается в памяти, и процессор считывает информацию из памяти и совершает этапы в вышеупомянутых способах в комбинации с аппаратным обеспечением в процессоре. Чтобы избегать повторения, подробности здесь не описываются.