СПОСОБ, УСТРОЙСТВО И КОМПЬЮТЕРНЫЙ НОСИТЕЛЬ ДАННЫХ ДЛЯ ПЕРЕМЕЩЕНИЯ ДАННЫХ
METHOD, DEVICE  AND COMPUTER STORAGE MEDIUM FOR DATA MIGRATION

Область техники
Настоящее изобретение относится к области компьютерных систем хранения данных и, в частности, к способу, устройству и компьютерному носителю данных для перемещения данных.
Предпосылки изобретения
Управление иерархическим хранением данных относится к системе хранения данных, в которой устройства хранения данных физически разделены на различные категории в соответствии с ценой, производительностью или другими атрибутами и данные динамически перемещаются между различными категориями устройств хранения данных в соответствии с их действиями по получению доступа или другими характеристиками. По сравнению с традиционной системой хранения данных, система иерархического хранения данных содержит устройства, совместно имеющие различную производительность, емкость и цену для предоставления среды хранения данных, имеющей высокую производительность, большую емкость и низкую цену.
Обычная система иерархического хранения данных содержит три уровня, т.е. неавтономное устройство хранения данных, вторичное устройство хранения данных и автономное устройство хранения данных. Высокопроизводительные диски, такие как SSD и FC диски, используются для неавтономного устройства хранения данных. Небольшое количество данных, имеющих более высокие ценность и частоту получения доступа, хранится в неавтономных устройствах хранения данных; для сравнения, данные устройства хранения данных имеют хорошую производительность и высокую скорость получения доступа, и получение доступа к данным на неавтономных устройствах хранения данных может удовлетворить требования приложения для обеспечения высокой производительности. Данные, которые не являются достаточно активными, хранятся на вторичном устройстве хранения данных, и SATA диск подходит для использования в качестве вторичного устройства хранения данных вследствие большей емкости, более низкой цены и более низкой производительности. Вторичное устройство хранения данных имеет меньшее влияние на общую производительность системы вследствие менее частого получения доступа к вторичному устройству хранения данных приложениями верхнего уровня. Лента или ленточная библиотека в целом используются для автономного устройства хранения данных, главной целью которого является сохранение резервных копий данных или архивированных данных на неавтономном устройстве хранения данных и вторичном устройстве хранения данных. Всегда требуется много времени для считывания автономно сохраненных данных, и получение доступа к автономно сохраненным данным почти не осуществляется.
Существующая система иерархического хранения данных в первую очередь предназначена для приложения резервного копирования (перемещения редко использующихся данных из неавтономного устройства хранения данных на вторичное или автономное устройство хранения данных) или приложения кэширования (перемещения данных, которые начинают чаще использоваться во вторичном устройстве хранения данных, на неавтономное устройство хранения данных для повышения производительности), но существует меньшее количество структур, учитывающих как приложение резервного копирования, так и приложение кэширования. Данные структуры имеют проблему пониженной производительности вследствие обратного перемещения данных после размещения данных в системе. Например, некоторые редко использующиеся данные, имеющие низкую частоту получения доступа, могут быть перемещены из неавтономного устройства хранения данных на вторичное или автономное устройство хранения данных во время размещения, и, когда снова осуществляется получение доступа к данным, существующая система в целом имеет два решения, включая: (1) проведение заранее обратного перемещения данных посредством упреждающей выборки, при этом данное решение имеет в целом более короткий прогнозируемый промежуток времени и может иметь проблему с точностью; и (2) запуск обратного перемещения данных, при этом такое обратное перемещение может являться необязательным, поскольку получение доступа к данным может быть осуществлено всего лишь один раз, а затраты на обратное перемещение являются высокими.
В настоящее время все еще не предложено эффективного решения известной из уровня техники проблемы, связанной с тем, что данные не могут гибко перемещаться между неавтономным устройством хранения данных и вторичным устройством хранения данных с использованием способа иерархического управления.
Сущность изобретения
Для решения известной из уровня техники проблемы, связанной с тем, что данные не могут гибко перемещаться с использованием способа иерархического управления, варианты осуществления настоящего изобретения предлагают способ и устройство перемещения данных, а также компьютерный носитель данных для решения вышеизложенных технических проблем.
В первом аспекте варианты осуществления настоящего изобретения предлагают способ перемещения данных, включающий:
запуск перемещения данных на основании политики динамического размещения данных;
определение данных, которые должны быть перемещены, в файлах, связанных с ранее перемещенными файлами, как данных, которые должны быть перемещены, в соответствии с взаимной ассоциацией между файлами; и
определение того, следует ли перемещать данные, которые должны быть перемещены, на основании механизма управления скоростью перемещения.
Необязательно, запуск перемещения данных в различных условиях на основании политики динамического размещения данных включает:
проведение операции размещения данных на основании политики динамического размещения данных, при этом операция размещения данных включает операцию повышения уровня файла и операцию понижения уровня файла; и
запуск перемещения данных на основании операции размещения данных.
Необязательно, проведение операции повышения уровня файла на основании политики динамического размещения данных включает:
измерение полезной эффективности повышения уровня файла в соответствии с количеством данных, к которым был получен доступ за единицу времени после повышения уровня файла;
определение полезной эффективности на единицу затрат повышения уровня данных в соответствии с полезной эффективностью повышения уровня файла и затратами на повышение уровня файла;
принятие решения относительно того, превышает ли значение полезности повышения уровня файла пороговое значение повышения уровня в соответствии с полезной эффективностью на единицу затрат повышения уровня данных; и
выполнение операции повышения уровня в отношении файла, если значение полезности повышения уровня файла превышает пороговое значение повышения уровня.
Необязательно, проведение операции понижения уровня файла на основании политики динамического размещения данных включает:
поддержку всех файлов на быстродействующем устройстве хранения данных в очереди LRU блоков памяти в соответствии с ситуацией получения доступа к данным;
выведение наименее использующегося файла из очереди LRU в указанные интервалы посредством потока понижения уровня в качестве объекта понижения уровня; и
выполнение операции понижения уровня файла в отношении объекта понижения уровня.
Необязательно, способ дополнительно включает этап ассоциации файлов друг с другом на основании технологии поиска ассоциативного правила файла; при этом
ассоциация файлов друг с другом на основании технологии поиска ассоциативного правила файла включает:
поиск частой последовательности с использованием алгоритма поиска BIDE;
преобразование частой последовательности в ассоциативное правило и определение строгого ассоциативного правила;
принятие решения относительно того, является ли строгое ассоциативное правило избыточным правилом;
исключение строгого ассоциативного правила, если строгое ассоциативное правило является избыточным правилом; и
резервирование строгого ассоциативного правила, если строгое ассоциативное правило не является избыточным правилом;
при этом определение данных, которые должны быть перемещены, в файлах, связанных с ранее перемещенными файлами, как данных, которые должны быть перемещены, в соответствии с взаимной ассоциацией между файлами включает
определение данных, которые должны быть перемещены, в файлах, связанных с ранее перемещенными файлами, как данных, которые должны быть перемещены, в соответствии со строгим ассоциативным правилом между файлами.
Необязательно, определение того, следует ли перемещать данные, которые должны быть перемещены, на основании механизма управления скоростью перемещения включает:
получение нагрузки интерфейсного приложения в клиенте управления данными;
проведение перемещения данных, если нагрузка ниже первого указанного порогового значения; и
ограничение перемещения данных, если нагрузка выше второго указанного порогового значения.
Необязательно, при проведении перемещения данных способ дополнительно включает:
определение скорости перемещения данных в соответствии с длиной очереди получения доступа ввода/вывода.
Во втором аспекте варианты осуществления настоящего изобретения предлагают устройство перемещения данных, содержащее:
модуль запуска, выполненный с возможностью запуска перемещения данных на основании политики динамического размещения данных;
модуль определения данных, которые должны быть перемещены, выполненный с возможностью определения данных, которые должны быть перемещены, в файлах, связанных с ранее перемещенными файлами, как данных, которые должны быть перемещены, в соответствии с взаимной ассоциацией между файлами; и
модуль управления, выполненный с возможностью определения того, следует ли перемещать данные, которые должны быть перемещены, на основании механизма управления скоростью перемещения.
Необязательно, модуль запуска содержит:
блок размещения, выполненный с возможностью проведения операции размещения данных на основании политики динамического размещения данных, при этом операция размещения данных включает операцию повышения уровня файла и операцию понижения уровня файла; и
блок обработки, выполненный с возможностью запуска перемещения данных на основании операции размещения данных.
Необязательно, блок повышения уровня содержит:
первый подблок вычисления полезной эффективности, выполненный с возможностью измерения полезной эффективности повышения уровня файла в соответствии с количеством данных, к которым был получен доступ за единицу времени после повышения уровня файла;
второй подблок вычисления полезной эффективности, выполненный с возможностью определения полезной эффективности на единицу затрат повышения уровня данных в соответствии с полезной эффективностью повышения уровня файла и затратами на повышение уровня файла; и
подблок операции повышения уровня, выполненный с возможностью принятия решения относительно того, превышает ли значение полезности повышения уровня файла пороговое значение повышения уровня в соответствии с полезной эффективностью на единицу затрат повышения уровня данных, и выполнения операции повышения уровня в отношении файла, если значение полезности повышения уровня файла превышает пороговое значение повышения уровня.
Необязательно, блок размещения дополнительно содержит:
подблок поддержки файлов, выполненный с возможностью поддержки всех файлов на быстродействующем устройстве хранения данных в очереди LRU блоков памяти в соответствии с ситуацией получения доступа к данным;
подблок определения объекта понижения уровня, выполненный с возможностью выведения наименее использующегося файла из очереди LRU в указанные интервалы посредством потока понижения уровня в качестве объекта понижения уровня; и
подблок операции понижения уровня, выполненный с возможностью выполнения операции понижения уровня файла в отношении объекта понижения уровня.
Необязательно, устройство дополнительно содержит ассоциативный модуль, при этом ассоциативный модуль содержит:
блок поиска частой последовательности, выполненный с возможностью поиска частой последовательности с использованием алгоритма поиска BIDE;
блок определения строгого ассоциативного правила, выполненный с возможностью преобразования частой последовательности в ассоциативное правило и определения строгого ассоциативного правила; и
блок принятия решения относительно избыточного правила, выполненный с возможностью принятия решения относительно того, является ли строгое ассоциативное правило избыточным правилом, исключения строгого ассоциативного правила, если строгое ассоциативное правило является избыточным правилом, и резервирования строгого ассоциативного правила, если строгое ассоциативное правило не является избыточным правилом;
при этом модуль определения данных, которые должны быть перемещены, выполнен с возможностью определения данных, которые должны быть перемещены, в соответствии со строгим ассоциативным правилом между файлами.
Необязательно, модуль управления содержит:
блок получения, выполненный с возможностью получения нагрузки интерфейсного приложения в клиенте управления данными для определения того, следует ли перемещать файл; и
блок обработки перемещения, выполненный с возможностью проведения перемещения данных, если нагрузка ниже первого указанного порогового значения, и ограничения перемещения данных, если нагрузка выше второго указанного порогового значения.
Необязательно, модуль управления дополнительно выполнен с возможностью определения скорости перемещения данных в соответствии с длиной очереди получения доступа ввода/вывода.
В третьем аспекте настоящее изобретение предлагает компьютерный носитель данных, на котором хранится исполняемая компьютером команда, при этом исполняемая компьютером команда предназначена для выполнения любого из вышеизложенных способов.
Посредством вариантов осуществления настоящего изобретения перемещение данных запускается на основании политики динамического размещения данных; данные, которые должны быть перемещены, определяются на основании взаимной ассоциации между файлами; и следует ли перемещать данные, которые должны быть перемещены, определяется на основании механизма управления скоростью перемещения, таким образом, решая известную из уровня техники проблему, связанную с тем, что данные не могут гибко перемещаться с использованием способа иерархического управления, так что запуск обратного перемещения может управляться более гибким образом, политика иерархического управления может быть гибко настроена и данные гибко перемещаются.
Описание чертежей
На фиг. 1 показана блок-схема, на которой показан способ перемещения данных, предлагаемый в соответствии с вариантами осуществления настоящего изобретения;
на фиг. 2 показана структурная диаграмма, на которой показана архитектура аппаратного обеспечения системы, предлагаемая в соответствии с вариантами осуществления настоящего изобретения;
на фиг. 3 показана схематическая диаграмма, на которой показана операция управления скоростью, предлагаемая в соответствии с вариантами осуществления настоящего изобретения; и
на фиг. 4 показана структурная блок-схема, на которой показано устройство перемещения данных, предоставленное в соответствии с вариантами осуществления настоящего изобретения.
Подробное описание
Варианты осуществления настоящего изобретения будут далее подробно описаны со ссылкой на чертежи. Следует понимать, что варианты осуществления, описанные далее, используются исключительно для описания и пояснения настоящего изобретения, но не используются для ограничения настоящего изобретения.
Для решения известной из уровня техники проблемы, связанной с тем, что данные не могут гибко перемещаться с использованием способа иерархического управления, варианты осуществления настоящего изобретения предлагают способ и устройство перемещения данных. Настоящее изобретение будет далее подробно описано в сочетании с чертежами и вариантами осуществления. Следует понимать, что конкретные варианты осуществления, описанные в данном документе, используются исключительно для объяснения настоящего изобретения, но не используются для ограничения настоящего изобретения.
Вариант осуществления предоставляет способ перемещения данных. На фиг. 1 показана блок-схема, на которой показан способ перемещения данных в соответствии с вариантами осуществления настоящего изобретения. Как показано на фиг. 1, способ включает следующие этапы (S102-S106).
Этап S102 - запуск перемещения данных на основании политики динамического размещения данных.
В частности, проведение операции размещения данных на основании политики динамического размещения данных, при этом операция размещения данных включает операцию повышения уровня файла и операцию понижения уровня файла; и запуск перемещения данных на основании операции размещения данных.
Проведение операции повышения уровня файла на основании политики динамического размещения данных включает:
измерение полезной эффективности повышения уровня файла в соответствии с количеством данных, к которым был получен доступ за единицу времени после повышения уровня файла;
определение полезной эффективности на единицу затрат повышения уровня данных в соответствии с полезной эффективностью повышения уровня файла и затратами на повышение уровня файла;
принятие решения относительно того, превышает ли значение полезности повышения уровня файла пороговое значение повышения уровня в соответствии с полезной эффективностью на единицу затрат повышения уровня данных; и выполнение операции повышения уровня в отношении файла, если значение полезности повышения уровня файла превышает пороговое значение повышения уровня.
Проведение операции понижения уровня файла на основании политики динамического размещения данных включает:
поддержку всех файлов на быстродействующем устройстве хранения данных в очереди LRU блоков памяти в соответствии с ситуацией получения доступа к данным;
выведение наименее использующегося файла из очереди LRU в указанные интервалы посредством потока понижения уровня в качестве объекта понижения уровня; и выполнение операции понижения уровня файла в отношении объекта понижения уровня, при этом количество потоков понижения уровня может составлять один или более. Очередь LRU является очередью хранения данных, управляемой с использованием алгоритма удаления наиболее давно использованных элементов.
Этап S104 - определение данных, которые должны быть перемещены, в соответствии с взаимной ассоциацией между файлами. В целом, существует взаимная ассоциация между файлами, и пользователь с большой вероятностью может получить доступ к файлу В во время получения доступа к файлу А в устройстве хранения данных; файл А и файл В уже ассоциированы друг с другом в соответствии с ассоциативным правилом файла перед выполнением этапа S104;
следовательно, файл В может быть перемещен во время перемещения файла А; если файл А уже был ранее перемещен, файл В определяется в качестве файла, который должен быть перемещен в настоящий момент, в соответствии с взаимной ассоциацией между файлом А и файлом В для достижения автоматической упреждающей выборки файлов; и данные в файле В, который должен быть перемещен, являются данными, которые должны быть перемещены. В конкретном процессе исполнения установка взаимной ассоциации между файлами может быть выполнена динамически в реальном времени в соответствии с информацией о прошлых периодах получения доступа или обработки данных, а также может быть выполнена циклически.
Способ дополнительно включает этап ассоциации файлов друг с другом на основании технологии поиска ассоциативного правила файла, который, в частности, включает следующее:
поиск частой последовательности с использованием алгоритма поиска BIDE;
преобразование частой последовательности в ассоциативное правило и определение строгого ассоциативного правила;
принятие решения относительно того, является ли строгое ассоциативное правило избыточным правилом;
исключение строгого ассоциативного правила, если строгое ассоциативное правило является избыточным правилом; и
резервирование строгого ассоциативного правила, если строгое ассоциативное правило не является избыточным правилом;
при этом на этапе S104 файл, который должен быть перемещен, определяется в соответствии со строгим ассоциативным правилом; и данные, включенные в файл, который должен быть перемещен, являются данными, которые должны быть перемещены.
Этап S106 - определение того, следует ли перемещать данные, которые должны быть перемещены, на основании механизма управления скоростью перемещения.
Этап S106 может, в частности, включать:
получение нагрузки интерфейсного приложения в клиенте управления данными;
проведение перемещения данных, если нагрузка ниже первого указанного порогового значения; и
ограничение перемещения данных, если нагрузка выше второго указанного порогового значения.
В конкретной реализации первое указанное пороговое значение в целом меньше второго указанного порогового значения. Как первое указанное пороговое значение, так и второе указанное пороговое значение указывают на соответствующие значения нагрузки.
Необязательно, во время выполнения этапа S106 способ дополнительно включает:
при проведении перемещения данных способ дополнительно включает:
определение скорости перемещения данных в соответствии с длиной очереди получения доступа ввода/вывода.
В целом, если очередь получения доступа ввода/вывода является длинной, это указывает на то, что система в настоящее время имеет множество задач для обработки и система занята; и высокая степень загруженности системы дополнительно увеличивается, если проводится быстрое перемещение данных, так что отклик ввода/вывода замедляется, и взаимодействие с пользователем является неудовлетворительным. Если текущая очередь получения доступа ввода/вывода является короткой, это указывает на то, что система в настоящее время имеет меньшее количество задач для обработки и система имеет много свободных ресурсов, так что она подходит для быстрого перемещения данных. В данном варианте осуществления скорость перемещения данных определяется в соответствии с длиной очереди получения доступа ввода/вывода, и, таким образом, оптимизируется отклик системы. В конкретном процессе реализации максимальная скорость перемещения может быть также определена в соответствии со срочностью текущего перемещения данных и в соответствии с длиной очереди получения доступа ввода/вывода. Срочность перемещения данных может быть указана посредством приоритета; и подтверждение приоритета может быть определено в соответствии с параметрами, такими как команда пользователя или частота получения доступа к данным, которые должны быть перемещены.
Посредством данного варианта осуществления перемещение данных запускается на основании политики динамического размещения данных; данные, которые должны быть перемещены, определяются на основании взаимной ассоциации между файлами; и следует ли проводить перемещение данных, определяется на основании механизма управления скоростью перемещения, таким образом, решается известная из уровня техники проблема, связанная с тем, что данные не могут гибко перемещаться с использованием способа иерархического управления, так что запуск обратного перемещения может управляться более гибким образом, политика иерархического управления может быть гибко настроена и данные могут гибко перемещаться.
Способ перемещения данных, предоставленный в данном варианте осуществления, может также называться способом FlexMig (примечание: название способа автоматического перемещения данных) автоматического перемещения данных, и способ FlexMig главным образом состоит из следующих трех частей:
(1) политики динамического размещения данных, на основании которой запускается перемещение данных в различных условиях;
(2) технологии поиска ассоциативного правила файла, на основании которой файлы, ассоциированные друг с другом, используются для автоматической упреждающей выборки; и
(3) управления скоростью в процессе перемещения, на основании которого устанавливается приемлемый баланс между приоритетным влиянием производительности ввода/вывода и временным ограничением выполнения перемещения данных.
Три части соответственно подробно описаны далее.
I. Способ FlexMig перемещения данных
Оценка размещения данных в политике динамического размещения данных способа FlexMig включает две части, т.е. оценку повышения уровня файла и оценку понижения уровня файла.
Способом FlexMig принимается решение относительно того, следует ли выполнять операцию повышения уровня в отношении файла в соответствии с полезной эффективностью на единицу затрат повышения уровня данных. Полезная эффективность повышения уровня файла измеряется количеством данных, к которым был получен доступ за единицу времени после повышения уровня файла. Размер доступа к файлу и частота получения доступа к файлу после повышения уровня файла соответственно представлены как AS и AF, и тогда полезная эффективность производительности после повышения уровня файла имеет вид AS×AF. Затраты на повышение уровня файла могут быть измерены размером файла FS. Следовательно, полезная эффективность на единицу затрат повышения уровня данных (т.е. значение полезности) вычисляется следующим образом: util=(AS×AF)/FS. Если значение полезности повышения уровня файла превышает пороговое значение повышения уровня, тогда осуществляется повышение уровня файла.
Если принимается решение относительно повышения уровня, тогда определяется только размер файла FS. В способе FlexMig среднее значение предыдущих размеров доступа к файлу принимается за рассчитанное значение будущего размера доступа AS. Значение AF является средним значением подсчитанных предыдущих размеров доступа к файлу. AS и AF могут быть подогнаны под более приемлемые значения посредством включения коэффициента сглаживания.
Основной идеей алгоритма понижения уровня способа FlexMig является то, что все файлы на быстродействующем устройстве хранения данных поддерживаются в очереди LRU в соответствии с ситуацией получения доступа, наименее использующийся файл выводится в качестве объекта понижения уровня из очереди LRU с равномерными интервалами потоком понижения уровня и продолжительность интервала понижения уровня относится к коэффициенту свободного пространства быстродействующего устройства хранения данных.
Алгоритм повышения уровня данных способа FlexMig учитывает два показателя, т.е. историю получения доступа к файлу и размер файла, следовательно, приводя к относительно низким затратам, необходимым для перемещения файла, а также гарантируя более высокий уровень улучшения производительности ввода/вывода файла, который получается после перемещения. Режим определения интервала понижения уровня гарантирует, что быстродействующее устройство хранения данных всегда будет иметь достаточно свободного пространства. Если осуществляется получение доступа к файлу, сохраненному на медленнодействующем устройстве хранения данных, вычисляется значение полезности перемещения с повышением уровня; и если осуществляется получение доступа к файлу, сохраненному на быстродействующем устройстве хранения данных, то обновляется состояние соответствующей очереди LRU. Добавляются небольшие расходы на вычисление, поскольку отсутствует необходимость в алгоритме динамического размещения данных для периодического сканирования всех файлов для проведения оценки значения файла.
II. Технология поиска ассоциированного файла
Для эффективного достижения упреждающей выборки файла в способе FlexMig ассоциация файла в системе эффективно распознается с использованием технологии поиска данных. Файл преобразовывается в элемент, а последовательность получения доступа преобразовывается в последовательность в базе данных последовательностей посредством технологии поиска данных. Частая подпоследовательность указывает на то, что одновременно осуществляется частое получение доступа к ассоциированным файлам.
Доступ к файлу может быть получен в различных режимах, и файл может быть выполнен в виде процесса в дополнение к открытию и закрытию. В способе FlexMig длинная полоса получения доступа составляется посредством записи данных вызовов системы. В способе FlexMig длинная полоса разделяется на множество коротких последовательностей с использованием обычного способа разделения. Посредством способа FlexMig проблема преобразовывается в проблему поиска частой замкнутой последовательности и алгоритм поиска BIDE используется, и улучшается в определенной степени.
Отличительным признаком алгоритма BIDE является одновременное создание частого поддерева, проверка завершения и проведение сокращения в углубленном режиме. Алгоритм BIDE достигает следующих двух ключевых задач, включая: (1) проверку завершения; и (2) сокращение пространства поиска. Алгоритм BIDE применяет двунаправленную модель расширения, в которой расширение вперед используется для проверки завершения модели роста префикса и модели префикса и в которой расширение назад используется для проверки завершения модели префикса и сокращения пространства поиска. Для текущей последовательности локальный частый элемент устанавливается посредством сканирования в направлении вперед каждой последовательности преобразования с использованием алгоритма BIDE. Для каждого локального частого периода осуществляется проверка того, может ли быть проведено сокращение. Если сокращение не может быть проведено, текущая последовательность расширяется вперед.
В реализации способа FlexMig алгоритм BIDE оптимизирован по трем аспектам с использованием принципа логического замкнутого контура следующим образом.
(1) Во время проверки завершения сперва проводится проверка на расширение вперед, поскольку проверку на расширение вперед легко выполнить, и отсутствует необходимость в проведении проверки на расширение назад, если утверждение о том, что «отсутствует период расширения вперед», является неверным; (2) во время каждой проверки завершения уже существует заключение о том, что период расширения назад не может быть найден в половине группы максимального сегмента, и, если последний элемент первого примера последовательности префиксов имеет такое же положение, что и последний элемент последнего примера, то может быть принято решение относительно того, что период расширения назад отсутствует, без проверки максимального сегмента; и (3) может быть принято решение относительно того, что период расширения назад существует при условии определения того, что каждое пересечение последовательностей в одной из множества групп максимального сегмента не равняется нулю.
Для преобразования частой последовательности в ассоциативное правило в способе FlexMig некоторые правила генерируются каждой последовательностью. Способ FlexMig определяет, что количество элементов в правой стороне правила равняется 1, поскольку этого достаточно для упреждающей выборки файла. Для ограничения количества правил в способе FlexMig количество элементов в левой стороне правила ограничено таким образом, чтобы не превышать 2.
В способе FlexMig степень надежности правил может быть также измерена с использованием параметра степени доверия. Степень доверия правила а→b может быть вычислена с использованием следующей формулы: conf(a→b)=sup(ab)/sup(a), где sup(a) и sup(ab) соответственно представляют степень поддержки последовательности а и последовательности ab. Если будущее получение доступа предсказывается с использованием ассоциативного правила, степень доверия правила указывает на точность предсказания. В способе FlexMig низкокачественное ассоциативное правило фильтруется с использованием минимального порогового значения степени доверия, а остальные правила называются строгими ассоциативными правилами.
Затраты на поддержку и поиск увеличиваются вследствие наличия феномена существенной избыточности, когда данные строгие ассоциативные правила непосредственно используются для упреждающей выборки файла. Правило, имеющее предполагаемую длину L, называется «L-правилом». Для 2-правила ху→z в способе FlexMig принимается решение относительно того, что 2-правило является избыточным правилом, посредством проверки того, удовлетворяет ли 1-правило а→b одновременно следующим условиям, включая: (1) b=z, то есть результат является одинаковым; и (2) а=х или а=у, то есть условие 1-правила является таким же, как и определенный период в условиях 2-правила. Посредством способа FlexMig при обнаружении избыточного правила избыточное правило удаляется из набора правил и оставшиеся неизбыточные строгие ассоциативные правила могут быть непосредственно использованы для упреждающей выборки файла. Упреждающая выборка файлов, которые ассоциированы с файлом, уровень которого должен быть повышен, может снизить задержку получения доступа к данным файлам. Однако существует общая обеспокоенность относительно того, влияет ли упреждающая выборка данных на производительность обычного повышения уровня данных. В способе FlexMig влияние на производительность, вызванное упреждающей выборкой файлов, предотвращается с использованием двух способов. Ассоциированные небольшие группы файлов централизуются и сохраняются на низкоуровневом устройстве, и их упреждающая выборка осуществляется в совмещенном режиме повышения уровня. Для больших ассоциированных файлов гарантируется выполнение упреждающей выборки данных, когда приоритетная нагрузка имеет меньший уровень, с использованием механизма управления скоростью, описанного далее.
III. Управление скоростью перемещения
На фиг. 2 показана структурная диаграмма, на которой показана архитектура аппаратного обеспечения системы в соответствии с вариантами осуществления настоящего изобретения. Как показано на фиг. 2, клиенты управления данными, сервер управления данными, внутренние серверы управления данными и системный администратор соединены внутренней сетью (Intranet), и внутренние серверы управления данными соответственно используются для неавтономного устройства хранения данных, вторичного устройства хранения данных и автономного устройства хранения данных. Данная система выполняет различные операции управления, такие как перемещение данных, резервное копирование данных, сжатие данных и тому подобное, в соответствии с установленной политикой, при этом для перемещения данных и резервного копирования данных необходимы доступ к файлам в основном пуле хранения данных и сохранение данных в низкоуровневом пуле хранения данных посредством сети. Поскольку операция управления данными выполняется в реальном времени, перемещение данных и интерфейсное приложение будут совместно использовать, применять и конкурировать за ресурсы ввода/вывода и системные ресурсы в клиентах управления данными. Данная система предоставляет механизм управления скоростью для максимизации скорости перемещения данных без влияния на производительность интерфейсного приложения.
Поскольку нагрузка получения доступа ввода/вывода в системе хранения данных имеет неопределенность, данная система регулирует скорость перемещения данных с использованием двух состояний, т.е. логического состояния включено/выключено. Следует ли проводить перемещение файлов, определяется в соответствии с нагрузкой интерфейсного приложения в клиенте управления данными. Перемещение данных проводится, если нагрузка интерфейсного приложения является относительно низкой, и перемещение файлов ограничивается, если нагрузка интерфейсного приложения является слишком высокой.
Данная система следит за длиной очереди ввода/вывода в клиенте управления данными. На схематической диаграмме, на которой показана операция управления скоростью в соответствии с вариантами осуществления настоящего изобретения, как показано на фиг. 3, если длина очереди ввода/вывода превышает установленное пороговое значение Т, тогда принимается решение относительно того, что нагрузка интерфейсного приложения является высокой. В целом, время отклика ввода/вывода увеличивается с увеличением длины очереди ввода/вывода. Данная система получает временной промежуток W, на который должно быть отложено перемещение данных, посредством вычисления с использованием формулы. Формула вычисления W показана далее:
W=E×(L-T), где Е - константа, L - длина очереди ввода/вывода и Т - установленное пороговое значение. Значения Е и Т получаются в соответствии с эмпирическими значениями.
Что касается способа перемещения данных, описанного в вышеизложенных вариантах осуществления, данный вариант осуществления предоставляет устройство перемещения данных для достижения вышеизложенных вариантов осуществления. На фиг. 4 показана структурная блок-схема, на которой показано устройство перемещения данных в соответствии с вариантами осуществления настоящего изобретения. Как показано на фиг. 4, устройство содержит модуль 10 запуска, модуль 20 определения данных, которые должны быть перемещены, и модуль 30 управления. Структура подробно описана далее.
Модуль 10 запуска выполнен с возможностью запуска перемещения данных на основании политики динамического размещения данных.
Необязательно, модуль запуска содержит:
блок размещения, выполненный с возможностью проведения операции размещения данных на основании политики динамического размещения данных, при этом операция размещения данных включает операцию повышения уровня файла и операцию понижения уровня файла; и
блок обработки, выполненный с возможностью запуска перемещения данных на основании операции размещения данных.
Блок размещения может содержать:
первый подблок вычисления полезной эффективности, выполненный с возможностью измерения полезной эффективности повышения уровня файла в соответствии с количеством данных, к которым был получен доступ за единицу времени после повышения уровня файла;
второй подблок вычисления полезной эффективности, выполненный с возможностью определения полезной эффективности на единицу затрат повышения уровня данных в соответствии с полезной эффективностью повышения уровня файла и затратами на повышение уровня файла; и подблок операции повышения уровня, использующийся для принятия решения относительно того, превышает ли значение полезности повышения уровня файла пороговое значение повышения уровня в соответствии с полезной эффективностью на единицу затрат повышения уровня данных, и выполнения операции повышения уровня в отношении файла, если значение полезности повышения уровня файла превышает пороговое значение повышения уровня.
Необязательно, блок размещения дополнительно содержит:
подблок поддержки файлов, выполненный с возможностью поддержки всех файлов на быстродействующем устройстве хранения данных в очереди LRU блоков памяти в соответствии с ситуацией получения доступа к данным;
подблок определения объекта понижения уровня, выполненный с возможностью выведения наименее использующегося файла из очереди LRU в указанные интервалы посредством потока понижения уровня в качестве объекта понижения уровня; и подблок операции понижения уровня, использующийся для выполнения операции понижения уровня файла в отношении объекта понижения уровня.
Модуль 20 определения данных, которые должны быть перемещены, выполнен с возможностью определения данных, которые должны быть перемещены, в соответствии с взаимной ассоциацией между файлами.
Устройство дополнительно содержит ассоциативный модуль, выполненный с возможностью ассоциации файлов друг с другом на основании технологии поиска ассоциативного правила файла, при этом файлы, ассоциированные друг с другом, используются для автоматической упреждающей выборки.
В частности, ассоциативный модуль может содержать:
блок поиска частой последовательности, выполненный с возможностью поиска частой последовательности с использованием алгоритма поиска BIDE;
блок определения строгого ассоциативного правила, выполненный с возможностью преобразования частой последовательности в ассоциативное правило и определения строгого ассоциативного правила; и
блок принятия решения относительно избыточного правила, выполненный с возможностью принятия решения относительно того, является ли строгое ассоциативное правило избыточным правилом, исключения строгого ассоциативного правила, если строгое ассоциативное правило является избыточным правилом, и резервирования строгого ассоциативного правила, если строгое ассоциативное правило не является избыточным правилом;
при этом модуль 20 определения данных, которые должны быть перемещены, определяет данные, которые должны быть перемещены, в соответствии со строгим ассоциативным правилом.
Модуль 30 управления выполнен с возможностью определения того, следует ли перемещать данные, которые должны быть перемещены, на основании механизма управления скоростью перемещения.
Необязательно, модуль 30 управления может содержать:
блок получения, выполненный с возможностью получения нагрузки интерфейсного приложения в клиенте управления данными; и
блок обработки перемещения, выполненный с возможностью проведения перемещения данных, если нагрузка ниже первого указанного порогового значения, и ограничения перемещения данных, если нагрузка выше второго указанного порогового значения. В конкретной реализации первое указанное пороговое значение в целом меньше второго указанного порогового значения. Как первое указанное пороговое значение, так и второе указанное пороговое значение указывают на соответствующие значения нагрузки.
Модуль 30 управления дополнительно выполнен с возможностью определения скорости перемещения данных в соответствии с длиной очереди получения доступа ввода/вывода. Модуль управления может быть, в частности, выполнен с возможностью получения временного промежутка W, на который должно быть отложено перемещение данных, посредством вычисления с использованием формулы. Формула вычисления W показана далее:
W=E×(L-T), где Е - константа, L - длина очереди ввода/вывода и Т - установленное пороговое значение. Значения Е и Т могут быть получены в соответствии с эмпирическими значениями. В конкретной операции скорость перемещения может быть максимизирована при необходимости.
Конкретные структуры модуля 10 запуска, модуля 20 определения данных, которые должны быть перемещены, и модуля 30 управления в вариантах осуществления настоящего изобретения могут соответствовать носителю данных и процессору; исполняемая команда сохранена на носителе данных; и процессор соединен с носителем данных в режимах соединения, таких как шина, интерфейс связи и т.д., и может выполнять функции, соответствующие различным модулям, посредством выполнения исполняемой команды. Модуль 10 запуска, модуль 20 определения данных, которые должны быть перемещены, и модуль 30 управления соответственно могут соответствовать различным процессорам, а также могут быть объединены, чтобы соответствовать одному процессору. Процессор может являться электронным компонентом, имеющим функцию обработки, таким как центральный процессор, микропроцессор, однокристальный микрокомпьютер, процессор цифровой обработки сигналов, программируемая матрица и т.д. Устройство в данном варианте осуществления дополнительно содержит по меньшей мере один внешний интерфейс связи, который соответственно соединен с носителем данных и процессором, и выполнен в качестве коммуникационного моста для взаимодействия данных между носителем данных, процессором и периферией, например, для получения доступа к данным от оборудования пользователя. Интерфейс связи может являться проводным интерфейсом связи, таким как RJ45, интерфейс подключения через коаксиальный кабель, интерфейс подключения через оптическое волокно и т.д. Интерфейс связи может также являться беспроводным интерфейсом связи, таким как приемопередающая антенна или приемопередающая антенная решетка и т.д.
Посредством данного варианта осуществления модуль 10 запуска принимает решение относительно запуска перемещения данных в различных условиях на основании политики динамического размещения данных; модуль 20 определения данных, которые должны быть перемещены, определяет данные, которые должны быть перемещены, на основании взаимной ассоциации между файлами; и модуль 30 управления определяет скорость перемещения и следует ли проводить перемещение данных на основании механизма управления скоростью перемещения, таким образом, решая известную из уровня техники проблему, связанную с тем, что данные не могут гибко перемещаться с использованием способа иерархического управления, так что запуск обратного перемещения может управляться более гибким образом, политика иерархического управления может быть гибко настроена и данные гибко перемещаются.
Из вышеизложенного описания видно, что посредством технических решений согласно настоящему изобретению запуск обратного перемещения может управляться более гибким образом, политика иерархического управления может быть гибко настроена и данные гибко перемещаются.
Несмотря на то что варианты осуществления настоящего изобретения уже раскрыты с целью иллюстрации, специалистам в данной области техники будет понятно, что возможны различные модификации, дополнения и замены. Соответственно, объем настоящего изобретения не ограничен вышеизложенными вариантами осуществления.
Варианты осуществления настоящего изобретения дополнительно предоставляют компьютерный носитель данных, на котором хранится исполняемая компьютером команда, при этом исполняемая компьютером команда используется для выполнения способа в любом из технических решений в вышеизложенном способе перемещения данных.
Исполняемая команда может являться распознаваемой компьютером командой, такой как исполняемая команда, образованная машинными языками на основании 0 и 1, и команда или набор команд на основании высокоуровневых языков, таких как язык С, java, С# и т.д. Носитель данных может быть небыстродействующим носителем данных, таким как компакт-диск, флеш-диск, диск и т.д.
Вышеизложенное описание относится исключительно к вариантам осуществления настоящего изобретения и не предназначено для ограничения объема правовой охраны настоящего изобретения. Следовательно, все модификации, выполненные в соответствии с принципом настоящего раскрытия, следует понимать как подпадающие под объем правовой охраны настоящего изобретения.