ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
[0001] Настоящее раскрытие относится к области технологий хранения, и конкретно, к способу управления файлами, распределенной системе хранения и узлу управления.
УРОВЕНЬ ТЕХНИКИ
[0002] Энергонезависимая память следующего поколения может включать в себя энергонезависимую память, которая имеет возможность адресации и осуществления доступа к ней посредством байта, такая как память на основе фазового перехода (PCM), резистивная оперативная память (ReRAM) или магниторезистивная оперативная память (MRAM). Энергонезависимая память следующего поколения может предоставить интерфейс, аналогичный интерфейсу динамической оперативной памяти (DRAM). При практическом применении, энергонезависимой памятью следующего поколения можно управлять посредством способа управления страницами, аналогично способу с DRAM. В настоящее время, система хранения, основанная на энергонезависимой памяти следующего поколения, является предметом исследования в промышленности.
[0003] Обычно, традиционная система хранения, распределенная файловая система или подобная, записывает размещение данных файлов на носителе информации с использованием метаданных, для управления данными файлов. Метаданные используют глобальное пространство имен на основе контента, и обычно используют структуру данных, такую как B-дерево. Для блока данных файла, блок данных файла отслеживается посредством записи узла хранения, на котором размещается блок данных, или даже записи размещения на узле хранения. Такой способ применим к блочному сценарию на основе устройства, в котором используется традиционный накопитель на жестких дисках (HDD), твердотельный накопитель (SSD) или подобный. После система хранения использует новую энергонезависимую память (NVM), хотя первоначальный способ может быть применен к новой NVM, так как метаданные занимают относительно большое пространство хранения, и информация, такая как место хранения, соответствующее каждому блоку данных файла, должна быть записана в метаданных, нагрузка управления является относительно тяжелой, эффективность доступа к узлу хранения хостом посредством получения метаданных также является низкой, и следовательно, эффективность управления файлами является относительно низкой.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
[0004] Варианты осуществления настоящего раскрытия обеспечивают способ управления файлами, распределенную систему хранения и узел управления, и могут повысить эффективность управления файлами.
[0005] Согласно первому аспекту, обеспечен способ управления файлами, где способ применяется к распределенной системе хранения, причем распределенная система хранения включает в себя узел управления и многочисленные узлы хранения, и при этом способ включает в себя:
прием, посредством узла управления, запроса создания файла, отправленного хостом, где запрос создания файла используется, чтобы запросить создание файла в распределенной системе хранения;
выделение файлу, посредством узла управления, первого виртуального пространства из глобального виртуального адресного пространства распределенной системы хранения, согласно запросу создания файла, где локальное виртуальное адресное пространство каждого узла хранения в распределенной системе хранения соответствует части глобального виртуального адресного пространства;
запись, посредством узла управления, метаданных файла, где метаданные файла включают в себя информацию о первом виртуальном пространстве, выделенном файлу, и информация о первом виртуальном пространстве используется для указания на первое локальное виртуальное адресное пространство первого узла хранения, который используется для хранения файла; и
отправку хосту, посредством узла управления, ответа об успешном создании файла, где ответ об успешном создании файла несет информацию о первом виртуальном пространстве.
[0006] Со ссылкой на первый аспект, в первом способе возможной реализации, количество адресных битов глобального виртуального адресного пространства больше, чем количество адресных битов локального виртуального адресного пространства узла хранения в распределенной системе хранения.
[0007] Со ссылкой на первый аспект или первый способ возможной реализации по первому аспекту, во втором способе возможной реализации, количество адресных битов глобального виртуального адресного пространства в два раза больше количества адресных битов локального виртуального адресного пространства узла хранения в распределенной системе хранения, где N старших битов адреса глобального виртуального адресного пространства используются для указания на узел хранения, N младших битов адреса глобального виртуального адресного пространства используются для указания на локальное виртуальное адресное пространство узла хранения, и N является количеством адресных битов локального виртуального адресного пространства узла хранения.
[0008] Со ссылкой на первый аспект, или первый или второй способ возможной реализации по первому аспекту, в третьем способе возможной реализации, информация о первом виртуальном пространстве включает в себя начальный адрес и размер файла в глобальном виртуальном адресном пространстве.
[0009] Со ссылкой на любое одно из первого аспекта, или с первого по третий способы возможной реализации по первому аспекту, в четвертом способе возможной реализации, глобальное виртуальное адресное пространство включает в себя многочисленные области, и разные области среди многочисленных областей имеют разные гранулярности выделения пространства; и
выделение файлу, посредством узла управления, первого виртуального пространства из глобального виртуального адресного пространства распределенной системы хранения согласно запросу создания файла, включает в себя:
выделение файлу, посредством узла управления, первого виртуального пространства из первой области в глобальном виртуальном адресном пространстве распределенной системы хранения согласно запросу создания файла и гранулярности выделения пространства первой области, где первая область является областью, чья гранулярность выделения пространства является наименьшей в областях, которые могут быть выделены в текущий момент.
[0010] Со ссылкой на четвертый способ возможной реализации по первому аспекту, в пятом способе возможной реализации, способ дополнительно включает в себя:
прием, посредством узла управления, запроса расширения файлового пространства, отправленного хостом, где запрос расширения файлового пространства используется, чтобы запросить расширение пространства файла;
выделение файлу, посредством узла управления, второго виртуального пространства из второй области в глобальном виртуальном адресном пространстве согласно запросу расширения файлового пространства и гранулярности выделения пространства второй области, где гранулярность выделения пространства второй области больше, чем гранулярность выделения пространства первой области;
запись, посредством узла управления, метаданных файла, где обновленные метаданные файла включают в себя информацию о втором виртуальном пространстве, выделенном файлу, и информация о втором виртуальном пространстве используется для указания на второе локальное виртуальное адресное пространство второго узла хранения, который используется для хранения файла; и
отправку хосту ответа расширения файлового пространства, где ответ расширения файлового пространства несет информацию о втором виртуальном пространстве.
[0011] Со ссылкой на любое одно из первого аспекта или с первого по пятый способы возможной реализации по первому аспекту, в шестом способе возможной реализации, способ дополнительно включает в себя:
удаление, посредством узла управления, метаданных файла и возвращение первого виртуального пространства, которое выделено из глобального виртуального адресного пространства, файлу;
определение, посредством узла управления и согласно предварительно заданному соответствию между глобальным виртуальным адресным пространством и локальным виртуальным адресным пространством, первого узла хранения, который используется для хранения файла; и
отправку, посредством узла управления, сообщения возвращения пространства первому узлу хранения, который используется для хранения файла, где сообщение возвращения пространства используется, чтобы дать команду первому узлу хранения, который используется для хранения файла, вернуть первое локальное виртуальное адресное пространство и первое локальное физическое пространство хранения, которые соответствуют файлу.
[0012] Согласно второму аспекту, обеспечена распределенная система хранения, включающая в себя узел управления и многочисленные узлы хранения, где
локальное виртуальное адресное пространство каждого из многочисленных узлов хранения соответствует части глобального виртуального адресного пространства распределенной системы хранения; и
узел управления выполнен с возможностью: приема запроса создания файла, отправленного хостом, где запрос создания файла используется, чтобы запросить создание файла в распределенной системе хранения; выделения файлу первого виртуального пространства из глобального виртуального адресного пространства согласно запросу создания файла; записи метаданных файла, где метаданные файла включают в себя информацию о первом виртуальном пространстве, выделенном файлу, и информация о первом виртуальном пространстве используется для указания на первое локальное виртуальное адресное пространство первого узла хранения, который используется для хранения файла; и отправки хосту ответа об успешном создании файла, где ответ об успешном создании файла несет информацию о первом виртуальном пространстве.
[0013] Со ссылкой на второй аспект, в первом способе возможной реализации, количество адресных битов глобального виртуального адресного пространства больше, чем количество адресных битов локального виртуального адресного пространства узла хранения в распределенной системе хранения.
[0014] Со ссылкой на второй аспект или первый способ возможной реализации по второму аспекту, во втором способе возможной реализации, количество адресных битов глобального виртуального адресного пространства в два раза больше количества адресных битов локального виртуального адресного пространства узла хранения в распределенной системе хранения, где N старших битов адреса глобального виртуального адресного пространства используются для указания на узел хранения, N младших битов адреса глобального виртуального адресного пространства используются для указания на локальное виртуальное адресное пространство узла хранения, и N является количеством адресных битов локального виртуального адресного пространства узла хранения.
[0015] Со ссылкой на второй аспект, или первый или второй способ возможной реализации по второму аспекту, в третьем способе возможной реализации, информация о первом виртуальном пространстве включает в себя начальный адрес и размер файла в глобальном виртуальном адресном пространстве.
[0016] Со ссылкой на любое одно из второго аспекта, или с первого по третий способы возможной реализации по второму аспекту, в четвертом способе возможной реализации, глобальное виртуальное адресное пространство включает в себя многочисленные области, и разные области среди многочисленных областей имеют разные гранулярности выделения пространства; и
узел управления специально выполнен с возможностью выделения файлу, первого виртуального пространства из первой области в глобальном виртуальном адресном пространстве распределенной системы хранения согласно запросу создания файла и гранулярности выделения пространства первой области, где первая область является областью, чья гранулярность выделения пространства является наименьшей в областях, которые могут быть выделены в текущий момент.
[0017] Со ссылкой на четвертый способ возможной реализации по второму аспекту, в пятом способе возможной реализации, узел управления дополнительно выполнен с возможностью: приема запроса расширения файлового пространства, отправленного хостом, где запрос расширения файлового пространства используется, чтобы запросить расширение пространства файла; выделения файлу второго виртуального пространства из второй области в глобальном виртуальном адресном пространстве согласно запросу расширения файлового пространства и гранулярности выделения пространства второй области, где гранулярность выделения пространства второй области больше, чем гранулярность выделения пространства первой области; обновления метаданных файла, где обновленные метаданные файла включают в себя информацию о втором виртуальном пространстве, выделенном файлу, и информация о втором виртуальном пространстве используется для указания на второе локальное виртуальное адресное пространство второго узла хранения, который используется для хранения файла; и отправки хосту ответа расширения файлового пространства, где ответ расширения файлового пространства несет информацию о втором виртуальном пространстве.
[0018] Со ссылкой на любое одно из второго аспекта или с первого по пятый способы возможной реализации по второму аспекту, в шестом способе возможной реализации, узел управления дополнительно выполнен с возможностью: удаления метаданных файла и возвращения первого виртуального пространства, которое выделено из глобального виртуального адресного пространства, файлу; определения, согласно предварительно заданному соответствию между глобальным виртуальным адресным пространством и локальным виртуальным адресным пространством, первого узла хранения, который используется для хранения файла; и отправки сообщения возвращения пространства первому узлу хранения, который используется для хранения файла, где сообщение возвращения пространства используется, чтобы дать команду первому узлу хранения, который используется для хранения файла, вернуть первое локальное виртуальное адресное пространство и первое локальное физическое пространство хранения, которые соответствуют файлу; где
первый узел хранения, который используется для хранения файла, выполнен с возможностью возвращения, согласно сообщению возвращения пространства, локального виртуального адресного пространства и локального физического пространства хранения, которые соответствуют файлу.
[0019] Согласно третьему аспекту, обеспечен узел управления, включающий в себя:
блок приема, выполненный с возможностью приема запроса создания файла, отправленного хостом, где запрос создания файла используется, чтобы запросить создание файла в распределенной системе хранения;
блок управления, выполненный с возможностью: выделения файлу первого виртуального пространства из глобального виртуального адресного пространства распределенной системы хранения, согласно запросу создания файла, где локальное виртуальное адресное пространство каждого узла хранения в распределенной системе хранения соответствует части глобального виртуального адресного пространства; и записи метаданных файла, где метаданные файла включают в себя информацию о первом виртуальном пространстве, выделенном файлу, и информация о первом виртуальном пространстве используется для указания на локальное виртуальное адресное пространство узла хранения, который используется для хранения файла; и
блок отправки, выполненный с возможностью отправки хосту ответа об успешном создании файла, где ответ об успешном создании файла несет информацию о первом виртуальном пространстве.
[0020] Со ссылкой на третий аспект, в первом способе возможной реализации, количество адресных битов глобального виртуального адресного пространства больше, чем количество адресных битов локального виртуального адресного пространства узла хранения в распределенной системе хранения.
[0021] Со ссылкой на третий аспект или первый способ возможной реализации по третьему аспекту, во втором способе возможной реализации, количество адресных битов глобального виртуального адресного пространства в два раза больше количества адресных битов локального виртуального адресного пространства узла хранения в распределенной системе хранения, где N старших битов адреса глобального виртуального адресного пространства используются для указания на узел хранения, N младших битов адреса глобального виртуального адресного пространства используются для указания на локальное виртуальное адресное пространство узла хранения, и N является количеством адресных битов локального виртуального адресного пространства узла хранения.
[0022] Со ссылкой на третий аспект, или первый или второй способ возможной реализации по третьему аспекту, в третьем способе возможной реализации, информация о первом виртуальном пространстве включает в себя начальный адрес и размер файла в глобальном виртуальном адресном пространстве.
[0023] Со ссылкой на любое одно из третьего аспекта, или с первого по третий способы возможной реализации по третьему аспекту, в четвертом способе возможной реализации, глобальное виртуальное адресное пространство включает в себя многочисленные области, и разные области среди многочисленных областей имеют разные гранулярности выделения пространства; и
блок управления специально выполнен с возможностью выделения файлу, первого виртуального пространства из первой области в глобальном виртуальном адресном пространстве распределенной системы хранения согласно запросу создания файла и гранулярности выделения пространства первой области, где первая область является областью, чья гранулярность выделения пространства является наименьшей в областях, которые могут быть выделены в текущий момент.
[0024] Со ссылкой на четвертый способ возможной реализации по третьему аспекту, в пятом способе возможной реализации, блок приема дополнительно выполнен с возможностью приема запроса расширения файлового пространства, отправленного хостом, где запрос расширения файлового пространства используется, чтобы запросить расширение пространства файла;
блок управления дополнительно выполнен с возможностью: выделения файлу второго виртуального пространства из второй области в глобальном виртуальном адресном пространстве согласно запросу расширения файлового пространства и гранулярности выделения пространства второй области, где гранулярность выделения пространства второй области больше, чем гранулярность выделения пространства первой области; и обновления метаданных файла, где обновленные метаданные файла включают в себя информацию о втором виртуальном пространстве, выделенном файлу; и
блок отправки дополнительно выполнен с возможностью отправки хосту ответа расширения файлового пространства, где ответ расширения файлового пространства несет информацию о втором виртуальном пространстве.
[0025] Со ссылкой на любое одно из третьего аспекта или с первого по пятый способы возможной реализации по третьему аспекту, в шестом способе возможной реализации, блок управления дополнительно выполнен с возможностью: удаления метаданных файла и возвращения пространства, которое выделено из глобального виртуального адресного пространства, файлу; и определения, согласно предварительно заданному соответствию между глобальным виртуальным адресным пространством и локальным виртуальным адресным пространством, узла хранения, который используется для хранения файла; и
блок отправки дополнительно выполнен с возможностью отправки сообщения возвращения пространства узлу хранения, который используется для хранения файла, где сообщение возвращения пространства используется, чтобы дать команду узлу хранения, который используется для хранения файла, вернуть локальное виртуальное адресное пространство и локальное физическое пространство хранения, которые соответствуют файлу.
[0026] Согласно четвертому аспекту, вариант осуществления настоящего раскрытия предусматривает компьютерный программный продукт, где компьютерный программный продукт включает в себя компьютерно-читаемый носитель информации, который хранит программный код, и команда, включенная в программный код, используется для выполнения способа, описанного в вышеприведенном первом аспекте.
[0027] На основе вышеприведенных технических решений, согласно способу управления файлами, распределенной системе хранения и узлу управления в вариантах осуществления настоящего раскрытия, пространство выделяется файлу из глобального виртуального адресного пространства распределенной системы хранения, и файлом можно управлять на основе выделенного глобального виртуального адресного пространства, без необходимости обработки сложной информации о месте хранения блока данных файла, так что эффективность управления файлами может быть повышена.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0028] Чтобы более ясно описать технологические решения в вариантах осуществления настоящего раскрытия, далее кратко описаны прилагаемые чертежи, требуемые для описания вариантов осуществления настоящего раскрытия. Очевидно, прилагаемые чертежи в нижеследующем описании показывают лишь некоторые варианты осуществления настоящего раскрытия.
[0029] Фиг. 1 является принципиальной схемой сценария применения согласно варианту осуществления настоящего раскрытия;
[0030] Фиг. 2 является принципиальной схемой последовательности операций способа управления файлами согласно варианту осуществления настоящего раскрытия;
[0031] Фиг. 3 является принципиальной схемой примерного глобального виртуального адресного пространства согласно варианту осуществления настоящего раскрытия;
[0032] Фиг. 4 является принципиальной схемой области в глобальном виртуальном адресном пространстве согласно варианту осуществления настоящего раскрытия;
[0033] Фиг. 5 является принципиальной схемой последовательности операций способа управления файлами согласно другому варианту осуществления настоящего раскрытия;
[0034] Фиг. 6 является принципиальной схемой последовательности операций способа управления файлами согласно еще одному варианту осуществления настоящего раскрытия;
[0035] Фиг. 7 является принципиальной схемой последовательности операций способа управления файлами согласно еще одному варианту осуществления настоящего раскрытия;
[0036] Фиг. 8 является принципиальной блок-схемой распределенной системы хранения согласно варианту осуществления настоящего раскрытия;
[0037] Фиг. 9 является принципиальной блок-схемой узла управления согласно варианту осуществления настоящего раскрытия; и
[0038] Фиг. 10 является принципиальной блок-схемой узла управления согласно другому варианту осуществления настоящего раскрытия.
ОПИСАНИЕ ВАРИАНТОВ ОСУЩЕСТВЛЕНИЯ
[0039] В дальнейшем ясно описываются технические решения в вариантах осуществления настоящего раскрытия со ссылкой на прилагаемые чертежи в вариантах осуществления настоящего раскрытия. Очевидно, описанные варианты осуществления являются некоторыми, а не всеми вариантами осуществления настоящего раскрытия.
[0040] Следует понимать, что технические решения вариантов осуществления настоящего раскрытия могут быть применены к различным системам хранения, и в частности, к распределенной системе хранения, которая основывается на энергонезависимой памяти.
[0041] Также следует понимать, что в вариантах осуществления настоящего раскрытия, термин "виртуальное адресное пространство" может также быть выражено как "виртуальное пространство", то есть "виртуальное адресное пространство" и "виртуальное пространство" ссылаются друг на друга.
[0042] Фиг. 1 является принципиальной схемой сценария применения согласно варианту осуществления настоящего раскрытия. На Фиг. 1, хост 130, узел 120 хранения и узел 110 управления метаданными взаимно соединены с использованием сети. Узел 120 хранения и узел 110 управления метаданными составляют распределенную систему хранения.
[0043] Хост 130 может осуществить доступ к файлу в распределенной системе хранения. Хост 130 может быть компьютером или может быть другим пользовательским оборудованием, и хост 130 может осуществлять связь с распределенной системой хранения с использованием сети. Хост 130 может включать в себя любое вычислительное устройство, известное в предшествующем уровне техники, такое как сервер или настольный компьютер. На хосте 130 установлены операционная система и другая прикладная программа. Могут быть многочисленные хосты 130.
[0044] Узел 120 хранения используется для хранения данных файлов. Узел 120 хранения может включать в себя по меньшей мере одну память. Например, память может включать в себя новую энергонезависимую память NVM, которая имеет возможность адресации и осуществления доступа к нему посредством байта, как например, память на основе фазового перехода (PCM), резистивная оперативная память (ReRAM), или магниторезистивная оперативная память (MRAM); или может включать в себя другую память. Фиг. Фиг. 1 использует только NVM в качестве примера, котором узел 120 хранения управляет физическим пространством хранения, которое включает в себя NVM и подобную на узле 120 хранения.
[0045] Узел 110 управления метаданными отвечает за управление глобальным виртуальным адресным пространством, и обеспечивает функцию, такую как запрос метаданных файла.
[0046] Узел 110 управления метаданными и узел 120 хранения могут быть объединены вместе, то есть, один узел может иметь функции как узла управления метаданными, так и узла хранения.
[0047] В вариантах осуществления настоящего раскрытия, узлом управления может быть узел управления метаданными (такой как узел 110 управления метаданными на Фиг. 1), или может быть узел, который имеет функции как узла управления метаданными, так и узла хранения. Для простоты описания, нижеследующее использует для описания в качестве примера узел управления.
[0048] Фиг. 2 показывает принципиальную схему последовательности операций способа 200 управления файлами согласно варианту осуществления настоящего раскрытия. Способ 200 применяется к распределенной системе хранения, и распределенная система хранения включает в себя узел управления и многочисленные узлы хранения. Способ 200 выполняется посредством узла управления.
[0049] S210. Узел управления принимает запрос создания файла, отправленного хостом, где запрос создания файла используется, чтобы запросить создание файла в распределенной системе хранения.
[0050] S220. Узел управления выделяет файлу первое виртуальное пространство из глобального виртуального адресного пространства распределенной системы хранения согласно запросу создания файла, где, в этом варианте осуществления настоящего раскрытия, локальное виртуальное адресное пространство каждого узла хранения в распределенной системе хранения соответствует части глобального виртуального адресного пространства.
[0051] В этом варианте осуществления настоящего раскрытия, файлом в распределенной системе хранения управляют на основе глобального виртуального адресного пространства. Глобальное виртуальное адресное пространство является виртуальным пространством распределенной системы хранения. Локальное виртуальное адресное пространство каждого узла хранения в распределенной системе хранения соответствует части глобального виртуального адресного пространства.
[0052] Количество адресных битов локального виртуального адресного пространства является количеством битов операционной системы (OS). Например, для 64-битной OS, количество адресных битов локального виртуального адресного пространства составляет 64 бита, и размер локального виртуального адресного пространства составляет 2^64 байтов (^ представляет степень). Количество адресных битов глобального виртуального адресного пространства может составлять 128 битов, и размер глобального виртуального адресного пространства составляет 2^128 байтов. В этом случае, локальное виртуальное адресное пространство каждого узла хранения может соответствовать части глобального виртуального адресного пространства.
[0053] В одном случае, соответствие (которое может также назваться устанавливающей соответственность взаимосвязью) между глобальным виртуальным адресным пространством и локальным виртуальным адресным пространством может быть установлено заранее. Например, соответствие между глобальным виртуальным адресным пространством и локальным виртуальным адресным пространством конфигурируется заранее на узле управления. После того, как узел управления выделяет пространство файлу, выделенное глобальное виртуальное адресное пространство может соответствовать локальному виртуальному адресному пространству узла хранения согласно соответствию, установленному заранее. В другом случае, соответствие (которое может также назваться устанавливающей соответственность взаимосвязью) между глобальным виртуальным адресным пространством и локальным виртуальным адресным пространством может быть установлено, когда пространство выделяется файлу. Например, при выделении пространства файлу, узел управления может установить соответствие между выделенным глобальным виртуальным адресным пространством и локальным виртуальным адресным пространством, и сохранить соответствие между выделенным глобальным виртуальным адресным пространством и локальным виртуальным адресным пространством. Выделенное глобальное виртуальное адресное пространство может соответствовать локальному виртуальному адресному пространству узла хранения согласно соответствию. В этом варианте осуществления настоящего раскрытия, то, как следует устанавливать соответствие между глобальным виртуальным адресным пространством и локальным виртуальным адресным пространством, не ограничивается.
[0054] При приеме запроса создания файла, отправленного хостом, узел управления выделяет файлу непрерывный сегмент пространства (представленный как первое виртуальное пространство) из глобального виртуального адресного пространства распределенной системы хранения. На основе соответствия между глобальным виртуальным адресным пространством и локальным виртуальным адресным пространством, может быть установлена соответственность первого виртуального пространства локальному виртуальному адресному пространству узла хранения.
[0055] S230. Узел управления записывает метаданные файла, где метаданные файла включают в себя информацию о первом виртуальном пространстве, выделенном файлу, и информация о первом виртуальном пространстве используется для указания на локальное виртуальное адресное пространство узла хранения, который используется для хранения файла.
[0056] После выделения файлу первого виртуального пространства из глобального виртуального адресного пространства, узел управления записывает метаданные файла, где метаданные файла включают в себя информацию о первом виртуальном пространстве, выделенном файлу.
[0057] Опционально, информация о первом виртуальном пространстве может включать в себя начальный адрес и размер файла в глобальном виртуальном адресном пространстве. Информация о первом виртуальном пространстве используется для указания на локальное виртуальное адресное пространство узла хранения, который используется для хранения файла. То есть, на основе соответствия между глобальным виртуальным адресным пространством и локальным виртуальным адресным пространством, устанавливается соответственность первого виртуального пространства, выделенного файлу, локальному виртуальному адресному пространству узла хранения, который используется для хранения файла, и дополнительно устанавливается соответственность локальному физическому пространству хранения с использованием локального виртуального адресного пространства.
[0058] S240. Узел управления отправляет хосту ответ об успешном создании файла, где ответ об успешном создании файла несет информацию о первом виртуальном пространстве.
[0059] Ответ об успешном создании файла, отправленный хосту узлом управления, несет информацию о первом виртуальном пространстве. В этом случае, хост может осуществить доступ к файлу согласно информации о первом виртуальном пространстве. Например, хост изменяет запрос для осуществления доступа к файлу на запрос для осуществления доступа к глобальному виртуальному адресному пространству, и осуществляет доступ к первому виртуальному пространству, тем самым достигая цели осуществления доступа к файлу. В дополнение, узел управления может управлять метаданными файла и файлом на основе глобального виртуального адресного пространства, без необходимости обработки сложной информации о месте хранения блока данных файла, так что эффективность управления файлами может быть повышена.
[0060] Вследствие этого, согласно способу управления файлами в этом варианте осуществления настоящего раскрытия, пространство выделяется файлу из глобального виртуального адресного пространства распределенной системы хранения, и файлом можно управлять на основе выделенного глобального виртуального адресного пространства, без необходимости обработки сложной информации о месте хранения блока данных файла, так что эффективность управления файлами может быть повышена.
[0061] В этом варианте осуществления настоящего раскрытия, опционально, локальное виртуальное адресное пространство узла хранения может быть сегментом неиспользованного пространства в виртуальном адресном пространстве OS. Например, размер виртуального адресного пространства 64-битной OS составляет 2, возведенная в степень 64. Виртуальное адресное пространство 64-битной OS включает в себя обращенное виртуальное адресное пространство в дополнение к виртуальному адресному пространству процесса в пользовательском режиме и виртуальному адресному пространству ядра. Локальное виртуальное адресное пространство может быть обращенным виртуальным адресным пространством OS. В качестве альтернативы, виртуальное адресное пространство операционной системы может быть повторно поделено согласно необходимости, и сегмент виртуального адресного пространства получают посредством деления и используют как локальное виртуальное адресное пространство для хранения данных посредством узла хранения.
[0062] В этом варианте осуществления настоящего раскрытия, глобальное виртуальное адресное пространство используется для управления совместно всеми файлами в распределенной системе хранения. Глобальное виртуальное адресное пространство не меньше, чем локальное виртуальное адресное пространство для всех узлов хранения в распределенной системе хранения.
[0063] В варианте осуществления настоящего раскрытия, опционально, количество адресных битов глобального виртуального адресного пространства больше, чем количество адресных битов локального виртуального адресного пространства узла хранения в распределенной системе хранения. Когда количество адресных битов локального виртуального адресного пространства равняется количеству битов OS, количество адресных битов глобального виртуального адресного пространства больше, чем количество битов OS. В этом случае, некоторые адресные биты глобального виртуального адресного пространства могут быть использованы для указания на узел хранения, и другие адресные биты могут быть использованы для указания на локальное виртуальное адресное пространство узла хранения. Конкретно, если количество адресных битов глобального виртуального адресного пространства равно M, и количество адресных битов локального виртуального адресного пространства узла хранения равно N, M-N старших битов адреса глобального виртуального адресного пространства могут быть использованы для указания на узел хранения. Например, M-N старших битов могут соответствовать идентификатору и/или информации маршрутизации узла хранения. N младших битов адреса глобального виртуального адресного пространства используются для указания на локальное виртуальное адресное пространство узла хранения. Например, N младших битов могут соответствовать адресу локального виртуального адресного пространства узла хранения.
[0064] В варианте осуществления настоящего раскрытия, опционально, количество адресных битов глобального виртуального адресного пространства в два раза больше количества адресных битов локального виртуального адресного пространства узла хранения в распределенной системе хранения. То есть, если количество адресных битов локального виртуального адресного пространства узла хранения равно N, количество адресных битов глобального виртуального адресного пространства может быть 2N. Например, когда адрес локального виртуального адресного пространства узла хранения имеет 64 бита, и адрес глобального виртуального адресного пространства имеет 128 битов; в этом случае, размер локального виртуального адресного пространства узла хранения составляет 2^64 байта, и размер глобального виртуального адресного пространства составляет 2^128 байта.
[0065] Опционально, N старших битов адреса глобального виртуального адресного пространства используются для указания на узел хранения, и N младших битов адреса глобального виртуального адресного пространства используются для указания на локальное виртуальное адресное пространство узла хранения. Конкретно, N младших битов адреса глобального виртуального адресного пространства соответствуют адресу локального виртуального адресного пространства узла хранения, и N старших битов адреса глобального виртуального адресного пространства соответствуют идентификатору и/или информации маршрутизации узла хранения. Например, когда адрес локального виртуального адресного пространства узла хранения имеет 64 бита, и адрес глобального виртуального адресного пространства имеет 128 битов, 64 младших бита адреса глобального виртуального адресного пространства соответствуют адресу локального виртуального адресного пространства узла хранения, и 64 старших бита адреса глобального виртуального адресного пространства соответствуют идентификатору и/или информации маршрутизации узла хранения.
[0066] Следует понимать, что соответствием между глобальным виртуальным адресным пространством и локальным виртуальным адресным пространством может быть другое соответствие. Например, многочисленные узлы хранения образуют одну группу, N старших битов адреса глобального виртуального адресного пространства соответствуют номеру группы, и N младших битов соответствуют размещению в группе. Когда пространство выделяется файлу, сначала определяется номер группы, и затем определяется непрерывный сегмент виртуального адресного пространства узла хранения в группе, так что виртуальные страницы файла распределяются полосками в группе. Например, если восемь узлов образуют одну группу, первая страница файла хранится в первом узле в группе, восьмая страница попадает в восьмой узел, девятая страница попадает в первый узел, шестнадцатая страница попадает в восьмой узел, и т.д.
[0067] Фиг. 3 является принципиальной схемой примерного глобального виртуального адресного пространства. Как показано на Фиг. 3, может быть установлена соответственность локального виртуального адресного пространства узла хранения локальному физическому пространству хранения узла хранения. В варианте осуществления, показанном на Фиг. 3, адрес локального виртуального адресного пространства узла хранения имеет 64 бита, и размер локального виртуального адресного пространства узла хранения составляет 2^64 байта. Адрес глобального виртуального адресного пространства имеет 128 битов, и размер глобального виртуального адресного пространства составляет 2^128 байта. Локальное виртуальное адресное пространство узла хранения может соответствовать части глобального виртуального адресного пространства. То есть, может быть установлена соответственность глобального виртуального адресного пространства локальному виртуальному адресному пространству каждого узла хранения.
[0068] В этом варианте осуществления настоящего раскрытия, файлом в распределенной системе хранения можно управлять в вышеприведенном глобальном виртуальном адресном пространстве, чей размер составляет 2^128 байта. Каждый файл занимает непрерывный сегмент глобального виртуального адресного пространства. Устанавливается соответственность сегмента глобального виртуального адресного пространства, выделенного файлу, локальному виртуальному адресному пространству каждого узла хранения, и устанавливается соответственность локальному физическому пространству хранения узла хранения с использованием локального виртуального адресного пространства. Например, непрерывный сегмент пространства выделяется из глобального виртуального адресного пространства файлу 1, где непрерывный сегмент пространства, выделенного файлу 1, соответствует сегменту локального виртуального адресного пространства первого узла хранения, и устанавливается его соответственность локальному физическому пространству хранения первого узла хранения.
[0069] В варианте осуществления настоящего раскрытия, опционально, глобальное виртуальное адресное пространство включает в себя многочисленные области, и разные области среди многочисленных областей имеют разные гранулярности выделения пространства. Конкретно, глобальное виртуальное адресное пространство может быть поделено на многочисленные области, которые имеют разные гранулярности выделения пространства. Например, как показано на Фиг. 4, глобальное виртуальное адресное пространство делится на область больших файлов, область средних файлов, область небольших файлов и запасную область. Гранулярность выделения пространства области небольших файлов является наименьшей, гранулярность выделения пространства области средних файлов является предпоследней по величине, и гранулярность выделения пространства области больших файлов является наибольшей. Например, гранулярность выделения пространства области небольших файлов может быть 1 МБ, и если пространство выделяется файлу из области небольших файлов, файлу выделяется пространство в 1 МБ. Гранулярность выделения пространства области средних файлов может быть 100 МБ, и если пространство выделяется файлу из области средних файлов, файлу может быть выделено пространство в 100 МБ. Гранулярность выделения пространства области больших файлов может быть 1 ГБ, и если пространство выделяется файлу из области больших файлов, файлу выделяется пространство 1 ГБ. Во время создания файла, сначала, пространство может быть выделено файлу из области небольших файлов согласно гранулярности выделения пространства области небольших файлов. Затем, когда размер файла превышает предварительно выделенное пространство, пространство выделяется файлу повторно, согласно гранулярности выделения пространства области файла, из области файла, которая на один уровень выше, чем область небольших файлов.
[0070] Опционально, как показано на Фиг. 5, в варианте осуществления настоящего раскрытия, S220 из способа 200 может быть конкретно таким как следует ниже:
[0071] S221. Узел управления выделяет файлу первое виртуальное пространство из первой области в глобальном виртуальном адресном пространстве распределенной системы хранения согласно запросу создания файла и гранулярности выделения пространства первой области.
[0072] Первая область является областью, чья гранулярность выделения пространства является наименьшей в областях, которые могут быть выделены в текущий момент. Например, первой областью может быть область небольших файлов на Фиг. 4. Во время создания файла, сначала, пространство выделяется файлу из области небольших файлов согласно гранулярности выделения пространства области небольших файлов.
[0073] S210, S230, и S240 на Фиг. 5 являются такими же как этапы на Фиг. 2, и подробности повторно здесь не описываются.
[0074] Опционально, как показано на Фиг. 6, в варианте осуществления настоящего раскрытия, способ 200 может дополнительно включать в себя нижеследующие этапы:
[0075] S251. Узел управления принимает запрос расширения файлового пространства, отправленный хостом, где запрос расширения файлового пространства используется, чтобы запросить расширение пространства файла.
[0076] S252. Выделяют файлу второе виртуальное пространство из второй области в глобальном виртуальном адресном пространстве согласно запросу расширения файлового пространства и гранулярности выделения пространства второй области, где гранулярность выделения пространства второй области больше, чем гранулярность выделения пространства первой области.
[0077] S253. Обновляют метаданные файла, где обновленные метаданные файла включают в себя информацию о втором виртуальном пространстве, выделенном файлу.
[0078] S254. Отправляют хосту ответ расширения файлового пространства, где ответ расширения файлового пространства несет информацию о втором виртуальном пространстве.
[0079] Конкретно, когда пространство файла требуется расширить, хост отправляет запрос расширения файлового пространства узлу управления. Узел управления выделяет файлу пространство (представленное как второе виртуальное пространство) из второй области в глобальном виртуальном адресном пространстве согласно запросу расширения файлового пространства и гранулярности выделения пространства второй области. Гранулярность выделения пространства второй области больше, чем гранулярность выделения пространства первой области. Конкретно, второй областью может быть область, чья гранулярность выделения пространства является наименьшей в областях, чьи гранулярности выделения пространства больше, чем первой области, и которые находятся в областях, которые могут быть выделены в текущий момент. Например, когда первой областью является область небольших файлов на Фиг. 4, второй областью может быть область средних файлов на Фиг. 4; когда первой областью является область средних файлов на Фиг. 4, второй областью может быть область больших файлов на Фиг. 4. После повторного выделения файлу пространства, узел управления обновляет метаданные файла, то есть обновляет метаданные файла для информации о втором виртуальном пространстве, выделенном файлу; возвращает пространство, то есть первое виртуальное пространство, которое выделено из первой области, файлу; и затем отправляет хосту ответ расширения файлового пространства, где ответ расширения файлового пространства несет информацию о втором виртуальном пространстве.
[0080] Опционально, как показано на Фиг. 7, в варианте осуществления настоящего раскрытия, способ 200 может дополнительно включать в себя нижеследующие этапы:
[0081] S261. Узел управления удаляет метаданные файла, и возвращает пространство, которое выделено из глобального виртуального адресного пространства, файлу.
[0082] S262. Определяют, согласно предварительно заданному соответствию между глобальным виртуальным адресным пространством и локальным виртуальным адресным пространством, узел хранения, который используется для хранения файла.
[0083] S263. Отправляют сообщение возвращения пространства узлу хранения, который используется для хранения файла, где сообщение возвращения пространства используется, чтобы дать команду узлу хранения, который используется для хранения файла, вернуть локальное виртуальное адресное пространство и локальное физическое пространство хранения, которые соответствуют файлу.
[0084] При удалении файла, узел управления удаляет метаданные файла; возвращает пространство, то есть первое виртуальное пространство или второе виртуальное пространство, которое выделено из глобального виртуального адресного пространства, файлу; определяет, согласно предварительно заданному соответствию между глобальным виртуальным адресным пространством и локальным виртуальным адресным пространством, узел хранения который используется для хранения файла, где соответствие может быть задано до выделения пространства файлу, или когда пространство выделяется файлу; и отправляет сообщение возвращения пространства узлу хранения. Узел хранения возвращает, согласно сообщению возвращения пространства, локальное виртуальное адресное пространство и локальное физическое пространство хранения, которые соответствуют файлу.
[0085] Согласно способу управления файлами в этом варианте осуществления настоящего раскрытия, в глобальном виртуальном адресном пространстве распределенной системы хранения, пространство выделяется файлу, и пространство возвращается; вследствие этого, сложность управления является низкой, и эффективность управления файлами может быть повышена.
[0086] Следует понимать, что, конкретные примеры в этом варианте осуществления настоящего раскрытия предназначены лишь для того, чтобы помочь специалисту в данной области техники лучше понять этот вариант осуществления настоящего раскрытия, но не предназначены для объема этого варианта осуществления настоящего раскрытия.
[0087] Также следует понимать, что последовательные номера вышеприведенных процессов не означают последовательность выполнения в различных вариантах осуществления настоящего раскрытия. Последовательности выполнения процессов должны быть определены согласно функциям и внутренней логики процессов, и не должны толковаться как какое-либо ограничение процессов реализации вариантов осуществления настоящего раскрытия.
[0088] Вышеприведенное описывает подробно способ управления файлами согласно варианту осуществления настоящего раскрытия. Нижеследующее описывает подробно распределенную систему хранения и узел управления согласно варианту осуществления настоящего раскрытия.
[0089] Фиг. 8 показывает принципиальную блок-схему распределенной системы 800 хранения согласно варианту осуществления настоящего раскрытия. Как показано на Фиг. 8, распределенная система 800 хранения включает в себя: узел 810 управления и многочисленные узлы 820 хранения.
[0090] Локальное виртуальное адресное пространство каждого из многочисленных узлов 820 хранения соответствует части глобального виртуального адресного пространства распределенной системы 800 хранения.
[0091] Узел 810 управления выполнен с возможностью: приема запроса создания файла, отправленного хостом, где запрос создания файла используется, чтобы запросить создание файла в распределенной системе 800 хранения; выделения файлу первого виртуального пространства из глобального виртуального адресного пространства согласно запросу создания файла; записи метаданных файла, где метаданные файла включают в себя информацию о первом виртуальном пространстве, выделенном файлу, и информация о первом виртуальном пространстве используется для указания на локальное виртуальное адресное пространство узла 820 хранения, который используется для хранения файла; и отправки хосту ответа об успешном создании файла, где ответ об успешном создании файла несет информацию о первом виртуальном пространстве.
[0092] Согласно распределенной системе хранения в этом варианте осуществления настоящего раскрытия, пространство выделяется файлу из глобального виртуального адресного пространства, и файлом можно управлять на основе выделенного глобального виртуального адресного пространства, без необходимости обработки сложной информации о месте хранения блока данных файла, так что эффективность управления файлами может быть повышена.
[0093] В этом варианте осуществления настоящего раскрытия, опционально, количество адресных битов глобального виртуального адресного пространства больше, чем количество адресных битов локального виртуального адресного пространства узла 820 хранения в распределенной системе 800 хранения.
[0094] В этом варианте осуществления настоящего раскрытия, опционально, количество адресных битов глобального виртуального адресного пространства в два раза больше количества адресных битов локального виртуального адресного пространства узла 820 хранения в распределенной системе 800 хранения, где N старших битов адреса глобального виртуального адресного пространства используются для указания на узел 820 хранения, N младших битов адреса глобального виртуального адресного пространства используются для указания на локальное виртуальное адресное пространство узла 820 хранения, и N является количеством адресных битов локального виртуального адресного пространства узла 820 хранения.
[0095] В этом варианте осуществления настоящего раскрытия, опционально, информация о первом виртуальном пространстве включает в себя начальный адрес и размер файла в глобальном виртуальном адресном пространстве.
[0096] В этом варианте осуществления настоящего раскрытия, опционально, глобальное виртуальное адресное пространство включает в себя многочисленные области, и разные области среди многочисленных областей имеют разные гранулярности выделения пространства.
[0097] Узел 810 управления специально выполнен с возможностью выделения файлу, первого виртуального пространства из первой области в глобальном виртуальном адресном пространстве распределенной системы 800 хранения согласно запросу создания файла и гранулярности выделения пространства первой области, где первая область является областью, чья гранулярность выделения пространства является наименьшей в областях, которые могут быть выделены в текущий момент.
[0098] В этом варианте осуществления настоящего раскрытия, опционально, узел 810 управления дополнительно выполнен с возможностью: приема запроса расширения файлового пространства, отправленного хостом, где запрос расширения файлового пространства используется, чтобы запросить расширение пространства файла; выделения файлу второго виртуального пространства из второй области в глобальном виртуальном адресном пространстве согласно запросу расширения файлового пространства и гранулярности выделения пространства второй области, где гранулярность выделения пространства второй области больше, чем гранулярность выделения пространства первой области; обновления метаданных файла, где обновленные метаданные файла включают в себя информацию о втором виртуальном пространстве, выделенном файлу; и отправки хосту ответа расширения файлового пространства, где ответ расширения файлового пространства несет информацию о втором виртуальном пространстве.
[0099] В этом варианте осуществления настоящего раскрытия, опционально, узел 810 управления дополнительно выполнен с возможностью: удаления метаданных файла, возвращения пространства, которое выделено из глобального виртуального адресного пространства, файлу; определения, согласно предварительно заданному соответствию между глобальным виртуальным адресным пространством и локальным виртуальным адресным пространством, узла 820 хранения, который используется для хранения файла; и отправки сообщения возвращения пространства узлу 820 хранения, который используется для хранения файла, где сообщение возвращения пространства используется, чтобы дать команду узлу 820 хранения, который используется для хранения файла, вернуть локальное виртуальное адресное пространство и локальное физическое пространство хранения, которые соответствуют файлу.
[0100] Узел 820 хранения, который используется для хранения файла, выполнен с возможностью возвращения, согласно сообщению возвращения пространства, локального виртуального адресного пространства и локального физического пространства хранения, которые соответствуют файлу.
[0101] Узел 810 управления и узел 820 хранения в распределенной системе 800 хранения согласно этому варианту осуществления настоящего раскрытия могут соответствовать узлу управления и узлу хранения в вышеприведенном варианте осуществления способа, и узел 810 управления может выполнить соответствующие процедуры вышеприведенных способов. Для краткости, подробности здесь не описываются.
[0102] Фиг. 9 показывает принципиальную блок-схему узла 900 управления согласно варианту осуществления настоящего раскрытия. Как показано на Фиг. 9, узел 900 управления включает в себя:
блок 910 приема, выполненный с возможностью приема запроса создания файла, отправленного хостом, где запрос создания файла используется, чтобы запросить создание файла в распределенной системе хранения;
блок 920 управления, выполненный с возможностью: выделения файлу первого виртуального пространства из глобального виртуального адресного пространства распределенной системы хранения, согласно запросу создания файла, где локальное виртуальное адресное пространство каждого узла хранения в распределенной системе хранения соответствует части глобального виртуального адресного пространства; и записи метаданных файла, где метаданные файла включают в себя информацию о первом виртуальном пространстве, выделенном файлу, и информация о первом виртуальном пространстве используется для указания на локальное виртуальное адресное пространство узла хранения, который используется для хранения файла; и
блок 930 отправки, выполненный с возможностью отправки хосту ответа об успешном создании файла, где ответ об успешном создании файла несет информацию о первом виртуальном пространстве.
[0103] Согласно узлу управления в этом варианте осуществления настоящего раскрытия, пространство выделяется файлу из глобального виртуального адресного пространства распределенной системы хранения, и файлом можно управлять на основе выделенного глобального виртуального адресного пространства, без необходимости обработки сложной информации о месте хранения блока данных файла, так что эффективность управления файлами может быть повышена.
[0104] В этом варианте осуществления настоящего раскрытия, опционально, количество адресных битов глобального виртуального адресного пространства больше, чем количество адресных битов локального виртуального адресного пространства узла хранения в распределенной системе хранения.
[0105] В этом варианте осуществления настоящего раскрытия, опционально, количество адресных битов глобального виртуального адресного пространства в два раза больше количества адресных битов локального виртуального адресного пространства узла хранения в распределенной системе хранения, где N старших битов адреса глобального виртуального адресного пространства используются для указания на узел хранения, N младших битов адреса глобального виртуального адресного пространства используются для указания на локальное виртуальное адресное пространство узла хранения, и N является количеством адресных битов локального виртуального адресного пространства узла хранения.
[0106] В этом варианте осуществления настоящего раскрытия, опционально, информация о первом виртуальном пространстве включает в себя начальный адрес и размер файла в глобальном виртуальном адресном пространстве.
[0107] В этом варианте осуществления настоящего раскрытия, опционально, глобальное виртуальное адресное пространство включает в себя многочисленные области, и разные области среди многочисленных областей имеют разные гранулярности выделения пространства.
[0108] Блок 920 управления специально выполнен с возможностью выделения файлу, первого виртуального пространства из первой области в глобальном виртуальном адресном пространстве распределенной системы хранения согласно запросу создания файла и гранулярности выделения пространства первой области, где первая область является областью, чья гранулярность выделения пространства является наименьшей в областях, которые могут быть выделены в текущий момент.
[0109] В этом варианте осуществления настоящего раскрытия, опционально, блок 910 приема дополнительно выполнен с возможностью приема запроса расширения файлового пространства, отправленного хостом, где запрос расширения файлового пространства используется, чтобы запросить расширение пространства файла.
[0110] Блок 920 управления дополнительно выполнен с возможностью: выделения файлу второго виртуального пространства из второй области в глобальном виртуальном адресном пространстве согласно запросу расширения файлового пространства и гранулярности выделения пространства второй области, где гранулярность выделения пространства второй области больше, чем гранулярность выделения пространства первой области; и обновления метаданных файла, где обновленные метаданные файла включают в себя информацию о втором виртуальном пространстве, выделенном файлу.
[0111] Блок 930 отправки дополнительно выполнен с возможностью отправки хосту ответа расширения файлового пространства, где ответ расширения файлового пространства несет информацию о втором виртуальном пространстве.
[0112] В этом варианте осуществления настоящего раскрытия, опционально, блок 920 управления дополнительно выполнен с возможностью: удаления метаданных файла и возвращения пространства, которое выделено из глобального виртуального адресного пространства, файлу; и определения, согласно предварительно заданному соответствию между глобальным виртуальным адресным пространством и локальным виртуальным адресным пространством, узла хранения, который используется для хранения файла.
[0113] Блок 930 отправки дополнительно выполнен с возможностью отправки сообщения возвращения пространства узлу хранения, который используется для хранения файла, где сообщение возвращения пространства используется, чтобы дать команду узлу хранения, который используется для хранения файла, вернуть локальное виртуальное адресное пространство и локальное физическое пространство хранения, которые соответствуют файлу.
[0114] Узел 900 управления согласно этому варианту осуществления настоящего раскрытия может соответствовать телу выполнения способа 200 управления файлами согласно варианту осуществления настоящего раскрытия. В дополнение, вышеприведенные и другие операции и/или функции модулей в узле 900 управления соответственно используются для реализации соответствующих процедур вышеприведенных способов. Для краткости, подробности здесь не описываются.
[0115] Согласно узлу управления в этом варианте осуществления настоящего раскрытия, в глобальном виртуальном адресном пространстве распределенной системы хранения, пространство выделяется файлу, и пространство возвращается; вследствие этого, сложность управления является низкой, и эффективность управления файлами может быть повышена.
[0116] Фиг. 10 показывает структуру узла управления согласно другому варианту осуществления настоящего раскрытия. Узел управления включает в себя по меньшей мере один процессор 1002 (например, CPU), по меньшей мере один сетевой интерфейс 1005 или другой интерфейс связи, память 1006, и по меньшей мере одну шину 1003 связи.
[0117] Шина 1003 связи выполнена с возможностью реализации соединений и связи между этими устройствами.
[0118] Процессор 1002 выполнен с возможностью выполнения исполняемых модулей, таких как компьютерная программа, хранящаяся в памяти 1006.
[0119] Память 1006 может включать в себя высокоскоростную оперативную память (RAM), и может дополнительно включать в себя NVM, такую как по меньшей мере одна память на магнитных дисках.
[0120] Узел управления реализует соединение связи по меньшей мере с одним другим элементом сети (таким как узел хранения или хост) с использованием по меньшей мере одного сетевого интерфейса 1005 (который может быть проводным или беспроводным).
[0121] В некоторых способах реализации, память 1006 хранит программу 10061. Процессор 1002 выполнен с возможностью выполнения программы 10061, так чтобы реализовать каждый способ в вышеприведенном варианте осуществления способа.
[0122] Следует понимать, что термин "и/или" в вариантах осуществления настоящего раскрытия описывает только взаимосвязь ассоциации для описания ассоциированных объектов и представляет, что могут существовать три взаимосвязи. Например, A и/или B могут представлять нижеследующие три случая: Существует только A, существуют и A и B, и существует только B. В дополнение, символ "/" в этом описании обычно указывает взаимосвязь "или" между ассоциированными объектами.
[0123] Средний специалист в данной области техники может знать, в комбинации с примерами, описанными в вариантах осуществления, раскрытых в этом описании, о том, что блоки и этапы алгоритма могут быть реализованы посредством электронных аппаратных средств, компьютерного программного обеспечения или их комбинации. Чтобы ясно описать взаимозаменяемость между аппаратными средствами и программным обеспечением, вышеприведенное в основном описывает композиции и этапы каждого примера согласно функциям. Выполняются ли функции посредством аппаратных средств или программного обеспечения зависит от конкретных применений и условий проектных ограничений технических решений. Специалист в данной области техники может использовать разные способы для реализации описанных функций для каждого конкретного применения, но также следует учитывать, что реализация выходит за объем настоящего раскрытия.
[0124] Специалисту в данной области техники может быть легко понятно, что, в целях удобства и краткого описания, для подробного рабочего процесса вышеуказанной системы, узла и блока, может быть сделана ссылка на соответствующий процесс в вышеуказанных вариантах осуществления способа, и в настоящем документе подробности не описываются.
[0125] В вариантах осуществления, представленных в этой заявке, следует понимать, что раскрытая система, узел и способ могут быть реализованы другими способами. Например, вариант осуществления описанного узла является лишь примерным. Например, деление блоков является лишь делением логической функции и может быть другим делением в действительной реализации. Например, множество блоков или компонентов могут быть объединены или интегрированы в другую систему, или некоторые признаки могут быть проигнорированы или не выполнены. В дополнение, отображенные или рассмотренные взаимные связи или прямые связи или коммуникационные соединения могут быть реализованы с использованием некоторых интерфейсов. Непрямые связи или коммуникационные соединения между узлами или блоками могут быть реализованы в электронной, механической или других формах.
[0126] Блоки, описанные как отдельные части, могут или не могут быть физически разделены, и части, отображенные как блоки, могут или не могут быть физическими блоками, могут быть размещены в одном положении, или могут быть распределены по множеству сетевых блоков. Некоторые или все блоки могут быть выбраны согласно действительным потребностям для достижения целей решений вариантов осуществления настоящего раскрытия.
[0127] В дополнение, функциональные блоки в вариантах осуществления настоящего раскрытия могут быть интегрированы в один блок обработки, или каждый из блоков может физически существовать самостоятельно, или два или более блоков интегрированы в один блок. Интегральный блок может быть реализован в виде аппаратных средств или может быть реализован в виде программного функционального блока.
[0128] Когда интегральный блок реализован в форме программного функционального блока и продается или используется как независимый продукт, интегральный блок может храниться на компьютерно-читаемом носителе информации. На основе такого понимания, технические решения настоящего раскрытия по существу, или часть, участвующая в предшествующем уровне техники, или все или некоторые их технических решений, могут быть реализованы в форме программного продукта. Программный продукт хранится на носителе информации, и включает в себя многочисленные команды для подачи команды компьютерному устройству (которым может быть персональный компьютер, сервер или сетевое устройство) выполнить все или некоторые из этапов способов, описанных в вариантах осуществления настоящего раскрытия. Вышеуказанный носитель информации включает в себя: любой носитель, который может хранить программный код, такой как USB flash-накопитель, съемный жесткий диск, постоянная память (ROM), оперативная память (RAM), магнитный диск, или оптический диск.
[0129] Вышеуказанные описания являются лишь конкретными вариантами осуществления настоящего раскрытия, но не предназначены для ограничения объема притязаний настоящего раскрытия. Любая модификация или замена, легко понятая специалистом в данной области техники в рамках технического объема, раскрытого в настоящем раскрытии, должна попадать в рамки объема правовой охраны настоящего раскрытия. Вследствие этого, объем правовой охраны настоящего раскрытия должен быть субъектом для объема правовой охраны формулы изобретения.
название | год | авторы | номер документа |
---|---|---|---|
АППАРАТНО-ВЫЧИЛИСТЕЛЬНЫЙ КОМПЛЕКС ВИРТУАЛИЗАЦИИ И УПРАВЛЕНИЯ РЕСУРСАМИ В СРЕДЕ ОБЛАЧНЫХ ВЫЧИСЛЕНИЙ | 2013 |
|
RU2543962C2 |
СИСТЕМЫ И СПОСОБЫ ДЛЯ ВЫРАВНИВАНИЯ РАЗМЕРА ИНФОРМАЦИИ УПРАВЛЕНИЯ НИСХОДЯЩЕЙ ЛИНИИ СВЯЗИ (DCI) | 2019 |
|
RU2755148C1 |
Аппаратно-вычислительный комплекс виртуализации и управления ресурсами в среде облачных вычислений | 2017 |
|
RU2665246C1 |
СПОСОБ И СИСТЕМА РАСПРЕДЕЛЕННОГО ХРАНЕНИЯ ВОССТАНАВЛИВАЕМЫХ ДАННЫХ С ОБЕСПЕЧЕНИЕМ ЦЕЛОСТНОСТИ И КОНФИДЕНЦИАЛЬНОСТИ ИНФОРМАЦИИ | 2021 |
|
RU2777270C1 |
АППАРАТНО-ВЫЧИСЛИТЕЛЬНЫЙ КОМПЛЕКС С ПОВЫШЕННЫМИ НАДЕЖНОСТЬЮ И БЕЗОПАСНОСТЬЮ В СРЕДЕ ОБЛАЧНЫХ ВЫЧИСЛЕНИЙ | 2013 |
|
RU2557476C2 |
ЗАЩИЩЁННОЕ ЗАПОМИНАЮЩЕЕ УСТРОЙСТВО | 2018 |
|
RU2768196C2 |
МЕХАНИЗМ СИГНАЛИЗАЦИИ НАЗНАЧЕНИЯ ВРЕМЕННЫХ РЕСУРСОВ ДЛЯ ПЕРЕДАЧИ СООБЩЕНИЯ MSG3 | 2019 |
|
RU2741567C1 |
АНТИВИРУС ДЛЯ ХРАНИЛИЩА ЭЛЕМЕНТОВ | 2005 |
|
RU2393531C2 |
УПРАВЛЕНИЕ ФАЙЛАМИ С ПОМОЩЬЮ ЗАПОЛНИТЕЛЕЙ | 2013 |
|
RU2646334C2 |
МНОГОПРОТОКОЛЬНОЕ УСТРОЙСТВО ХРАНЕНИЯ ДАННЫХ, РЕАЛИЗУЮЩЕЕ ИНТЕГРИРОВАННУЮ ПОДДЕРЖКУ ФАЙЛОВЫХ И БЛОЧНЫХ ПРОТОКОЛОВ ДОСТУПА | 2003 |
|
RU2302034C9 |
Изобретение относится к области технологий хранения. Техническим результатом является повышение эффективности управления файлами. Раскрыт способ управления файлами, в котором способ применяется к распределенной системе хранения, причем распределенная система хранения содержит узел управления и многочисленные узлы хранения, и при этом способ содержит этапы, на которых: принимают, посредством узла управления, запрос создания файла, отправленный хостом, при этом запрос создания файла используется, чтобы запросить создание файла в распределенной системе хранения; выделяют файлу, посредством узла управления, первое виртуальное пространство из глобального виртуального адресного пространства распределенной системы хранения согласно запросу создания файла, при этом локальное виртуальное адресное пространство каждого узла хранения в распределенной системе хранения соответствует части глобального виртуального адресного пространства; записывают, посредством узла управления, метаданные файла, при этом метаданные файла содержат информацию о первом виртуальном пространстве, выделенном файлу, и информация о первом виртуальном пространстве используется для указания на первое локальное виртуальное адресное пространство первого узла хранения, который используется для хранения файла; и отправляют хосту, посредством узла управления, ответ об успешном создании файла, при этом ответ об успешном создании файла несет информацию о первом виртуальном пространстве. 3 н. и 18 з.п. ф-лы, 10 ил.
1. Способ управления файлами, в котором способ применяется к распределенной системе хранения, причем распределенная система хранения содержит узел управления и многочисленные узлы хранения, и при этом способ содержит этапы, на которых:
принимают, посредством узла управления, запрос создания файла, отправленный хостом, при этом запрос создания файла используется, чтобы запросить создание файла в распределенной системе хранения;
выделяют файлу, посредством узла управления, первое виртуальное пространство из глобального виртуального адресного пространства распределенной системы хранения согласно запросу создания файла, при этом локальное виртуальное адресное пространство каждого узла хранения в распределенной системе хранения соответствует части глобального виртуального адресного пространства;
записывают, посредством узла управления, метаданные файла, при этом метаданные файла содержат информацию о первом виртуальном пространстве, выделенном файлу, и информация о первом виртуальном пространстве используется для указания на первое локальное виртуальное адресное пространство первого узла хранения, который используется для хранения файла; и
отправляют хосту, посредством узла управления, ответ об успешном создании файла, при этом ответ об успешном создании файла несет информацию о первом виртуальном пространстве.
2. Способ по п. 1, в котором количество адресных битов глобального виртуального адресного пространства больше, чем количество адресных битов локального виртуального адресного пространства узла хранения в распределенной системе хранения.
3. Способ по п. 1, в котором количество адресных битов глобального виртуального адресного пространства в два раза больше количества адресных битов локального виртуального адресного пространства узла хранения в распределенной системе хранения, при этом N старших битов адреса глобального виртуального адресного пространства используются для указания на узел хранения, N младших битов адреса глобального виртуального адресного пространства используются для указания на локальное виртуальное адресное пространство узла хранения и N является количеством адресных битов локального виртуального адресного пространства узла хранения.
4. Способ по п. 1, в котором информация о первом виртуальном пространстве содержит начальный адрес и размер файла в глобальном виртуальном адресном пространстве.
5. Способ по п. 1, в котором глобальное виртуальное адресное пространство содержит многочисленные области, и разные области среди многочисленных областей имеют разные гранулярности выделения пространства; и
этап, на котором выделяют, содержит этап, на котором
выделяют файлу, посредством узла управления, первое виртуальное пространство из первой области в глобальном виртуальном адресном пространстве распределенной системы хранения согласно запросу создания файла и гранулярности выделения пространства первой области, при этом первая область является областью, чья гранулярность выделения пространства является наименьшей в областях, которые могут быть выделены в текущий момент.
6. Способ по п. 5, в котором способ дополнительно содержит этапы, на которых:
принимают, посредством узла управления, запрос расширения файлового пространства, отправленный хостом, при этом запрос расширения файлового пространства используется, чтобы запросить расширение пространства файла;
выделяют файлу, посредством узла управления, второе виртуальное пространство из второй области в глобальном виртуальном адресном пространстве согласно запросу расширения файлового пространства и гранулярности выделения пространства второй области, при этом гранулярность выделения пространства второй области больше, чем гранулярность выделения пространства первой области;
обновляют, посредством узла управления, метаданные файла, где обновленные метаданные файла содержат информацию о втором виртуальном пространстве, выделенном файлу, и информация о втором виртуальном пространстве используется для указания на второе локальное виртуальное адресное пространство второго узла хранения, который используется для хранения файла; и
отправляют посредством узла управления, хосту ответ расширения файлового пространства, где ответ расширения файлового пространства несет информацию о втором виртуальном пространстве.
7. Способ по п. 1, причем способ дополнительно содержит этапы, на которых:
удаляют, посредством узла управления, метаданные файла и возвращают первое виртуальное пространство, которое выделено из глобального виртуального адресного пространства, файлу;
определяют, посредством узла управления и согласно предварительно заданному соответствию между глобальным виртуальным адресным пространством и локальным виртуальным адресным пространством, первый узел хранения, который используется для хранения файла; и
отправляют посредством узла управления, сообщение возвращения пространства первому узлу хранения, который используется для хранения файла, при этом сообщение возвращения пространства используется, чтобы дать команду первому узлу хранения, который используется для хранения файла, вернуть первое локальное виртуальное адресное пространство и первое локальное физическое пространство хранения, которые соответствуют файлу.
8. Распределенная система хранения, содержащая узел управления и многочисленные узлы хранения, в которой
локальное виртуальное адресное пространство каждого из многочисленных узлов хранения соответствует части глобального виртуального адресного пространства распределенной системы хранения и
узел управления выполнен с возможностью:
приема запроса создания файла, отправленного хостом, при этом запрос создания файла используется, чтобы запросить создание файла в распределенной системе хранения;
выделения файлу первого виртуального пространства из глобального виртуального адресного пространства согласно запросу создания файла;
записи метаданных файла, при этом метаданные файла содержат информацию о первом виртуальном пространстве, выделенном файлу, и информация о первом виртуальном пространстве используется для указания на первое локальное виртуальное адресное пространство первого узла хранения, который используется для хранения файла; и
отправки хосту ответа об успешном создании файла, при этом ответ об успешном создании файла несет информацию о первом виртуальном пространстве.
9. Распределенная система хранения по п. 8, в которой количество адресных битов глобального виртуального адресного пространства больше, чем количество адресных битов локального виртуального адресного пространства узла хранения в распределенной системе хранения.
10. Распределенная система хранения по п. 9, в которой количество адресных битов глобального виртуального адресного пространства в два раза больше количества адресных битов локального виртуального адресного пространства узла хранения в распределенной системе хранения, при этом N старших битов адреса глобального виртуального адресного пространства используются для указания на узел хранения, N младших битов адреса глобального виртуального адресного пространства используются для указания на локальное виртуальное адресное пространство узла хранения и N является количеством адресных битов локального виртуального адресного пространства узла хранения.
11. Распределенная система хранения по п. 8, в которой информация о первом виртуальном пространстве содержит начальный адрес и размер файла в глобальном виртуальном адресном пространстве.
12. Распределенная система хранения по п. 8, в которой глобальное виртуальное адресное пространство содержит многочисленные области, и разные области среди многочисленных областей имеют разные гранулярности выделения пространства; и
узел управления специально выполнен с возможностью выделения файлу первого виртуального пространства из первой области в глобальном виртуальном адресном пространстве распределенной системы хранения согласно запросу создания файла и гранулярности выделения пространства первой области, при этом первая область является областью, чья гранулярность выделения пространства является наименьшей в областях, которые могут быть выделены в текущий момент.
13. Распределенная система хранения по п. 12, в которой узел управления дополнительно выполнен с возможностью:
приема запроса расширения файлового пространства, отправленного хостом, при этом запрос расширения файлового пространства используется, чтобы запросить расширение пространства файла;
выделения файлу второго виртуального пространства из второй области в глобальном виртуальном адресном пространстве согласно запросу расширения файлового пространства и гранулярности выделения пространства второй области, при этом гранулярность выделения пространства второй области больше, чем гранулярность выделения пространства первой области;
обновления метаданных файла, при этом обновленные метаданные файла содержат информацию о втором виртуальном пространстве, выделенном файлу, и информация о втором виртуальном пространстве используется для указания на второе локальное виртуальное адресное пространство второго узла хранения, который используется для хранения файла; и
отправки хосту ответа расширения файлового пространства, при этом ответ расширения файлового пространства несет информацию о втором виртуальном пространстве.
14. Распределенная система хранения по п. 8, в которой узел управления дополнительно выполнен с возможностью:
удаления метаданных файла и возвращения первого виртуального пространства, которое выделено из глобального виртуального адресного пространства, файлу;
определения, согласно предварительно заданному соответствию между глобальным виртуальным адресным пространством и локальным виртуальным адресным пространством, первого узла хранения, который используется для хранения файла; и
отправки сообщения возвращения пространства первому узлу хранения, который используется для хранения файла, при этом сообщение возвращения пространства используется, чтобы дать команду первому узлу хранения, который используется для хранения файла, вернуть первое локальное виртуальное адресное пространство и первое локальное физическое пространство хранения, которые соответствуют файлу; при этом
первый узел хранения, который используется для хранения файла, выполнен с возможностью возвращения, согласно сообщению возвращения пространства, локального виртуального адресного пространства и локального физического пространства хранения, которые соответствуют файлу.
15. Узел управления, содержащий:
интерфейс связи, сконфигурированный для осуществления связи с многочисленными узлами хранения; и
процессор, выполненный с возможностью:
приема запроса создания файла, отправленного хостом, при этом запрос создания файла используется, чтобы запросить создание файла в распределенной системе хранения;
выделения файлу первого виртуального пространства из глобального виртуального адресного пространства распределенной системы хранения согласно запросу создания файла, при этом локальное виртуальное адресное пространство каждого узла хранения в распределенной системе хранения соответствует части глобального виртуального адресного пространства;
записи метаданных файла, при этом метаданные файла содержат информацию о первом виртуальном пространстве, выделенном файлу, и информация о первом виртуальном пространстве используется для указания на первое локальное виртуальное адресное пространство первого узла хранения, который используется для хранения файла; и
отправки хосту ответа об успешном создании файла, при этом ответ об успешном создании файла несет информацию о первом виртуальном пространстве.
16. Узел управления по п. 15, в котором количество адресных битов глобального виртуального адресного пространства больше, чем количество адресных битов локального виртуального адресного пространства узла хранения в распределенной системе хранения.
17. Узел управления по п. 15, в котором количество адресных битов глобального виртуального адресного пространства в два раза больше количества адресных битов локального виртуального адресного пространства узла хранения в распределенной системе хранения, при этом N старших битов адреса глобального виртуального адресного пространства используются для указания на узел хранения, N младших битов адреса глобального виртуального адресного пространства используются для указания на локальное виртуальное адресное пространство узла хранения и N является количеством адресных битов локального виртуального адресного пространства узла хранения.
18. Узел управления по п. 15, в котором информация о первом виртуальном пространстве содержит начальный адрес и размер файла в глобальном виртуальном адресном пространстве.
19. Узел управления по п. 15, в котором глобальное виртуальное адресное пространство содержит многочисленные области и разные области среди многочисленных областей имеют разные гранулярности выделения пространства; и
на этапе выделения процессор выполнен с возможностью:
выделения файлу первого виртуального пространства из первой области в глобальном виртуальном адресном пространстве распределенной системы хранения согласно запросу создания файла и гранулярности выделения пространства первой области, при этом первая область является областью, чья гранулярность выделения пространства является наименьшей в областях, которые могут быть выделены в текущий момент.
20. Узел управления по п. 19, в котором процессор дополнительно выполнен с возможностью:
приема запроса расширения файлового пространства, отправленного хостом, при этом запрос расширения файлового пространства используется, чтобы запросить расширение пространства файла;
выделения файлу второго виртуального пространства из второй области в глобальном виртуальном адресном пространстве согласно запросу расширения файлового пространства и гранулярности выделения пространства второй области, при этом гранулярность выделения пространства второй области больше, чем гранулярность выделения пространства первой области;
обновления метаданных файла, при этом обновленные метаданные файла содержат информацию о втором виртуальном пространстве, выделенном файлу, и информация о втором виртуальном пространстве используется для указания на второе локальное виртуальное адресное пространство второго узла хранения, который используется для хранения файла; и
отправки хосту ответа расширения файлового пространства, при этом ответ расширения файлового пространства несет информацию о втором виртуальном пространстве.
21. Узел управления по п. 15, в котором процессор дополнительно выполнен с возможностью:
удаления метаданных файла и возвращения первого виртуального пространства, которое выделено из глобального виртуального адресного пространства, файлу;
определения, согласно предварительно заданному соответствию между глобальным виртуальным адресным пространством и локальным виртуальным адресным пространством, первого узла хранения, который используется для хранения файла; и
отправки сообщения возвращения пространства первому узлу хранения, который используется для хранения файла, при этом сообщение возвращения пространства используется, чтобы дать команду первому узлу хранения, который используется для хранения файла, вернуть первое локальное виртуальное адресное пространство и первое локальное физическое пространство хранения, которые соответствуют файлу.
CN 101187930 A, 28.05.2008 | |||
CN 101398768 A, 01.04.2009 | |||
Способ приготовления мыла | 1923 |
|
SU2004A1 |
СПОСОБ УПРАВЛЕНИЯ РАСПРЕДЕЛЕННОЙ СИСТЕМОЙ ХРАНЕНИЯ | 2006 |
|
RU2411685C2 |
Авторы
Даты
2018-06-25—Публикация
2014-08-12—Подача