Использование кэш-памяти и памяти другого типа в распределённой запоминающей системе
Иллюстрации
Показать всеГруппа изобретений относится к распределенным запоминающим системам и может быть использована для сохранения данных в кэш-памяти или памяти другого типа. Техническим результатом является обеспечение улучшенного использования ресурсов кэш-памяти и ресурсов других типов памяти. Система содержит множество взаимосвязанных узлов, которые коллективно управляют сохранением данных, содержащее первый узел, имеющий процессор выполнения логики, при этом логика выполнена с возможностью: приема данных от ресурса, имеющего сообщение с множеством взаимосвязанных узлов, при этом принятые данные предназначены для сохранения в репозитории для сохранения данных, который включает в себя ресурс энергонезависимой кэш-памяти и ресурс энергонезависимой памяти, не являющейся кэш-памятью; создания первых метаданных, основанных на принятых данных; и пересылки первых метаданных управляющей логике сохранения данных для побуждения управляющей логики сохранить принятые данные в репозитории на основании информации, включенной в первые метаданные. 3 н. и 22 з.п. ф-лы, 9 ил.
Реферат
Уровень техники
В целом распределенная запоминающая система может включать в себя множество узлов, расположенных принципиально непохожим образом, в которых должны сохраняться соответствующие данные. Как правило, запоминающие узлы связываются между собой через сеть. Передача информации между запоминающими узлами позволяет этим запоминающим узлам совместно управлять сохраняемыми данными. Компьютеры способны осуществлять связь с распределенной запоминающей системой, чтобы извлекать сохраняемые данные из одного или более узлов.
При желании резервные копии данных могут быть сохранены в распределенной запоминающей системе. Например, первый запоминающий узел в распределенной запоминающей системе может быть сконфигурирован таким образом, чтобы сохранять первичную копию данных. Второй запоминающий узел в распределенной запоминающей системе может быть сконфигурирован таким образом, чтобы сохранять резервную копию первичных данных. Если один или более узлов становятся недоступными, остающийся запоминающий узел может быть доступным для извлечения соответствующих данных.
Распределенные запоминающие системы имеют увеличивающуюся популярность в качестве средств для обеспечения дешевого и надежного сохранения данных в облачной инфраструктуре. Распределенные запоминающие системы часто применяются в программном обеспечении и работают на стандартных серверах высокой емкости, а также используют недорогую вращающуюся запоминающую среду, такую как накопители на жестких дисках, для сохранения данных. В определенных случаях, в добавление к применению вращающегося диска для сохранения данных, запоминающие узлы в традиционной распределенной запоминающей системе также могут включать в себя ресурсы в виде кэш-памяти (такие как одно или более полупроводниковых запоминающих устройств) для сохранения данных.
Краткое описание чертежей
Фиг. 1 является примером диаграммы, иллюстрирующей сохранение принятых данных в первом узле и сохранение соответствующих дублирующих данных во втором узле в распределенной запоминающей системе, в соответствии с приведенными здесь вариантами осуществления изобретения.
Фиг. 2 является примером диаграммы, иллюстрирующей сохранение принятых данных во втором узле и сохранение соответствующих дублирующих данных в первом узле в распределенной запоминающей системе, в соответствии с приведенными здесь вариантами осуществления изобретения.
Фиг. 3 является примером диаграммы, иллюстрирующей использование информационной карты* для сохранения дорожки первичных данных и резервных данных, сохраняемых в различных узлах распределенной запоминающей системы, в соответствии с приведенными здесь вариантами осуществления изобретения.
Фиг. 4 является примером диаграммы, иллюстрирующей информационную карту, в соответствии с приведенными здесь вариантами осуществления изобретения.
Фиг. 5 является примером диаграммы, иллюстрирующей восстановление в случае неисправности узла и дублирование данных в распределенной запоминающей системе, в соответствии с приведенными здесь вариантами осуществления изобретения.
Фиг. 6 является примером диаграммы, иллюстрирующей восстановление в случае неисправности узла и дублирование данных в распределенной запоминающей системе, в соответствии с приведенными здесь вариантами осуществления изобретения.
Фиг. 7 является примером диаграммы, иллюстрирующей обновленную информационную карту, показывающую сохранение различного содержимого в распределенной запоминающей системе, в соответствии с приведенными здесь вариантами осуществления изобретения.
Фиг. 8 является примером диаграммы, иллюстрирующей архитектуру обработки, в которой должны выполняться один или более способов, в соответствии с приведенными здесь вариантами осуществления изобретения.
Фиг. 9 является примером карты последовательности процесса, иллюстрирующей способ, выполненный в соответствии с приведенными здесь вариантами осуществления изобретения.
Описание вариантов осуществления изобретения
Одной из причин для широкого использования кэш-памяти, например, такой как полупроводниковые запоминающие устройства, вместо накопителей на вращающихся дисках, является производительность. Доступ к данным в полупроводниковом запоминающем устройстве (например, одного или более стационарных устройств основной линии связи) как правило происходит намного быстрее, чем доступ к данным, сохраняемым на диске (например, физически вращающейся запоминающей среде). Недостатком использования полупроводниковых запоминающих устройств вместо накопителей на вращающихся дисках для сохранения данных являются затраты на мощность. То есть, хотя полупроводниковые накопители обеспечивают более быстрый доступ к данным, затраты на один бит сохраняемых данных в соответствующих запоминающих устройствах могут быть значительно выше, чем затраты на один бит сохраняемых данных в накопителе на диске.
Как обсуждалось выше, каждый узел в традиционной распределенной запоминающей системе может включать в себя как ресурс энергонезависимой кэш-памяти, так и соответствующий ресурс накопителя на диске для сохранения данных. При сохранении данных первичный узел, принимающий данные, может первоначально сохранять копию принятых данных в соответствующем ресурсе кэш-памяти первичного узла. Одной из причин для сохранения данных в кэш-памяти является то, что данные с большой вероятностью должны часто извлекаться. Другой причиной для сохранения данных в кэш-памяти является то, что данные с большой вероятностью должны извлекаться в ближайшем будущем.
Первичный узел может быть сконфигурирован таким образом, чтобы определять, когда данные удаляются из кэш-памяти. Одной из причин для удаления данных из кэш-памяти является то, что эти данные редко извлекаются, при этом они могут заменяться данными, которые будут извлекаться более часто. Другой причиной для удаления данных из кэш-памяти является то, что в ближайшем будущем не ожидается извлечение этих данных, при этом они могут заменяться данными, которые будут с большей вероятностью извлекаться в ближайшем будущем. Когда первичный узел определяет, что копия принятых данных в ресурсе кэш-памяти должна быть удалена из кэш-памяти, первичный узел может инициировать передачу данных из кэш-памяти к ресурсу дискового накопителя. После передачи данных первичный узел в дальнейшем удаляет копию принятых данных в ресурсе кэш-памяти для освобождения запоминающих ячеек в ресурсе кэш-памяти для сохранения других данных.
Как обсуждалось выше, в определенных случаях желательно, чтобы дублированная копия данных, сохраняемых в первом запоминающем узле распределенной запоминающей системы, также сохранялась во втором запоминающем узле распределенной запоминающей системы. Это обеспечивает резервирование. Сохранение дублированных данных часто является полезным в ситуациях, когда один из множества запоминающих узлов является неисправным. Например, первый запоминающий узел может столкнуться с доступом к соответствующим данным, предотвращающим неисправность. Поскольку дублированная копия данных сохраняется во втором запоминающем узле распределенной запоминающей системы, клиентское устройство может извлекать дублированную копию данных из второго запоминающего узла.
Это раскрываемое изобретение включает в себя результаты наблюдений, показывающие, что традиционные распределенные запоминающие системы не эффективно сохраняют данные в ресурсах кэш-памяти и в ресурсах других видов памяти. Например, традиционные запоминающие логические элементы в распределенной запоминающей системе могут сохранять принятые данные в кэш-памяти, даже несмотря на то, что предполагаемый доступ к таким данным имеет маленькую вероятность.
Как здесь уже обсуждалось выше, в определенных случаях желательно, чтобы дублированная копия данных, сохраняемых в первом запоминающем узле распределенной запоминающей системы, также сохранялась во втором запоминающем узле распределенной запоминающей системы. Это обеспечивает резервирование. Сохранение дублированных данных часто является полезным в ситуациях, когда один из множества запоминающих узлов является неисправным. Например, первый запоминающий узел может столкнуться с доступом к соответствующим данным, предотвращающим неисправность. Поскольку дублированная копия данных сохраняется во втором запоминающем узле распределенной запоминающей системы, клиентское устройство может извлекать дублированную копию данных из второго запоминающего узла.
Это раскрываемое изобретение включает в себя результаты наблюдений, показывающие, что традиционные распределенные запоминающие системы не эффективно сохраняют данные в ресурсах кэш-памяти и в ресурсах других видов памяти. Например, традиционные запоминающие логические элементы в распределенной запоминающей системе могут сохранять принятые данные в кэш-памяти, даже несмотря на то, что предполагаемый доступ к таким данным имеет маленькую вероятность.
Раскрываемые здесь варианты осуществления изобретения включают в себя обеспечение улучшенного использования ресурсов кэш-памяти и ресурсов других видов памяти в распределенном запоминающем окружении.
Например, раскрываемые здесь варианты осуществления изобретения включают в себя распределенную запоминающую систему, включающую в себя множество узлов, которые совместно управляют соответствующим сохранением данных. Каждый из одного или более модулей в распределенной запоминающей системе может быть сконфигурирован таким образом, чтобы включать в себя как ресурс кэш-памяти (такой как ресурс энергонезависимого запоминающего устройства), так и ресурс энергонезависимого запоминающего устройства, не являющегося кэш-памятью (например такого как дисковый накопитель, полупроводниковый накопитель и т.д.), для сохранения данных.
Как здесь уже обсуждалось выше, в одном показательном варианте осуществления изобретения время доступа, для того чтобы получить доступ к данным, сохраняемым в ресурсе кэш-памяти, по существу является более быстрым, чем время доступа для получения доступа к данным, сохраняемым в ресурсе памяти, не являющегося кэш-памятью.
В отличие от традиционных технологий, после приема данных для сохранения, соответствующий узел в распределенной запоминающей системе генерирует метаданные на основе принятых данных. Метаданные могут показывать, следует направлять в обход ресурса кэш-памяти принятые данные или нет, а также могут показывать, что принятые данные были направлены на хранение в ресурс памяти, не являющейся кэш-памятью репозитория. Приведенные здесь варианты осуществления изобретения являются полезными, поскольку метаданные могут показывать, что следует предотвращать сохранение соответствующих принятых данных в кэш-памяти, если сохранение данных в кэш-памяти считается необязательным.
В более специфическом варианте осуществления изобретения управляющая логика сохранения данных в соответствующий запоминающий узел использует метаданные (сгенерированные для соответствующих принятых данных), чтобы управлять процессом сохранение принятых данных. Например, как упоминалось ранее, состояние метаданных может показывать, что следует предотвращать сохранение соответствующих принятых данных в соответствующем ресурсе кэш-памяти, взаимосвязанном с соответствующим запоминающим узлом. В таком случае, в соответствии с принятыми метаданными, управляющая логика сохранения данных инициирует сохранение принятых данных в соответствующем ресурсе памяти, не являющейся кэш-памятью, в противоположность сохранению данных в ресурсе кэш-памяти соответствующего запоминающего узла.
В соответствии с другими дополнительными вариантами осуществления изобретения, метаданные могут показывать, является ли копия данных, принятых в соответствующий запоминающий узел, дублированной копией данных, уже сохраненных в другом местоположении в распределенной запоминающей системе. Соответствующий запоминающий узел, принимающий данные для сохранения, может быть сконфигурирован таким образом, чтобы определять, являются ли принятые данные дублированной копией данных, доступными из другого узла в распределенной запоминающей системе. Если данные являются дублированной копией данных (например, такими, как из первоначального дублирования, когда данные первый раз сохранялись в распределенной запоминающей системе), или из восстановленных данных (таких данных, которые теряются из неисправного узла и дублируются для сохранения в другом узле), соответствующий запоминающий узел генерирует соответствующие метаданные, чтобы показывать, что принятые данные должны сохраняться в ресурсе памяти, не являющимся кэш-памятью.
Таким образом, определенные приведенные здесь варианты осуществления изобретения могут включать в себя предотвращение сохранения в кэш-памяти дублированной копии данных, поскольку дублированная копия данных, сохраняемая в ресурсе памяти, не являющейся кэш-памятью, с большой вероятностью не будет иметь частого доступа, если вообще будет доступ, поскольку другая копия данных уже доступна из другого узла в распределенной запоминающей системе. Как уже упоминалось, большее количество запоминающих ячеек в соответствующих ресурсах кэш-памяти может в этом случае использоваться для сохранения других данных, к которым с большей вероятностью будет частый доступ.
Сейчас более подробно рассмотрим фигуры. Фиг. 1 является примером диаграммы, иллюстрирующей применение распределенной запоминающей системы, в соответствии с приведенными здесь вариантами осуществления изобретения.
Как показано на фигуре, сетевое окружение 100 включает в себя компьютерную систему 110-1, компьютерную систему 110-2 и т.д. Каждая из компьютерных систем 110 имеет доступ к распределенной запоминающей системе 115 через сеть 190. Узлы в распределенной запоминающей системе 115 сохраняют данные от имени компьютерных систем 110. Кроме того, сеть 190 может включать в себя любой подходящий тип одной или более коммуникаций для поддержки сети. Например, сеть 190 может включать в себя Интернет, одну или более локальных сетей, одну или более глобальных сетей, сотовую телефонную сеть, сети WiFi™ и т.д. Через коммуникации по сети 190 компьютерные системы 110 имеют возможность извлекать данные из запоминающих узлов распределенной запоминающей системы 115 и сохранять эти данные в запоминающих узлах этой системы. Коммуникации по сети 190 могут основываться на любом подходящем типе протокола для сетевой коммуникации. Например, в одном варианте осуществления изобретения коммуникации основываются на одном или более протоколов Интернета, например,таком как HTTP (Hypertext Transfer Protocol, протокол передачи гипертекста), FTP (File Transfer Protocol, протокол передачи файлов), TCP (Transmission Control Protocol, протокол управления передачей), UDP (User Datagram Protocol, протокол пользовательских дейтаграмм), и т.д.
Распределенная запоминающая система 115 включает в себя любое подходящее количество узлов для управления сохранением данных. В этом показательном варианте осуществления изобретения показано, что распределенная запоминающая система 115 включает в себя запоминающий узел 121, запоминающий узел 122, запоминающий узел 123 и т.д. В одном варианте осуществления изобретения каждый из запоминающих узлов распределенной запоминающей системы 115 способен обмениваться информацией с таким же узлом через соответствующее соединение, такое как сеть 190.
В качестве неограничивающего примера, каждый из узлов в распределенной запоминающей системе 115 может быть сконфигурирован таким образом, чтобы обеспечивать доступ к соответствующему репозиторию данных. В этом показательном варианте осуществления изобретения показано, что узел 121 имеет доступ по чтению и записи (READ/WRITE) к репозиторию 191 через установление связи с помощью управляющей логики 131 сохранения данных; узел 122 имеет доступ по чтению и записи) к репозиторию 192 через установление связи с помощью управляющей логики 132 сохранения данных; узел 123 имеет доступ по чтению и записи) к репозиторию 193 через установление связи с помощью управляющей логики 133 сохранения данных; и т.д.
В одном варианте осуществления изобретения каждый из узлов в распределенной запоминающей системе 115 представляет соответствующие аппаратную или программную части компьютерного процессора, которые выполняют операции, как здесь обсуждалось ранее. Соответствующая управляющая логика сохранения данных (аппаратная или программная части), взаимодействующая с каждым узлом, могут быть размещены совместно и выполняться узлом. Альтернативно, соответствующая управляющая логика сохранения данных может выполняться или находиться на обрабатывающей аппаратной части компьютера, расположенного в удаленном местоположении по отношению к узлу. Таким образом, узел 121 и соответствующая управляющая логика 131 сохранения данных могут быть размещены совместно или раздельно; узел 122 в соответствующей управляющей логике 132 сохранения данных может быть размещен совместно или раздельно; и т.д.
Как показывается в дальнейшем, запоминающие ресурсы, взаимодействующие с каждым узлом, могут включать в себя ресурсы кэш-памяти и ресурсы памяти, не являющейся кэш-памятью. Например, репозиторий 191 включает в себя ресурс 181-1 кэш-памяти и ресурс 181-2 памяти, не являющейся кэш-памятью; репозиторий 192 включает в себя ресурс 182-1 кэш-памяти и ресурс 182-2 памяти, не являющейся кэш-памятью; репозиторий 193 включает в себя ресурс 183-1 кэш-памяти и ресурс 183-2 памяти, не являющейся кэш-памятью; и т.д. Как здесь уже обсуждалось ранее, в одном варианте осуществления изобретения каждый из ресурсов кэш-памяти и ресурсов памяти, не являющейся кэш-памятью, являются энергонезависимыми запоминающими ресурсами.
В соответствии с дополнительными вариантами осуществления изобретения, время доступа к данным соответствующего энергонезависимого ресурса кэш-памяти может быть по существу меньше, чем время доступа к данным соответствующего энергонезависимого ресурса памяти, не являющейся кэш-памятью. Например, время доступа к данным при считывании данных (READ data) из ресурса 181-1 кэш-памяти или время записи данных (WRITE data) в ресурс 181-1 кэш-памяти может быть по существу меньше, чем время доступа к данным при считывании данных из ресурса 181-2 памяти, не являющейся кэш-памятью или при записи данных в этот ресурс; время доступа к данным при считывании данных из ресурса 182-1 кэш-памяти или время записи данных в ресурс 182-1 кэш-памяти может быть по существу меньше, чем время доступа к данным при считывании данных из ресурса 182-2 памяти, не являющейся кэш-памятью или при записи данных в этот ресурс; время доступа к данным при считывании данных из ресурса 183-1 кэш-памяти или время записи данных в ресурс 183-1 кэш-памяти может быть по существу меньше, чем время доступа к данным при считывании данных из ресурса 183-2 памяти, не являющейся кэш-памятью или при записи данных в этот ресурс; и т.д.
Кроме того, в качестве неограничивающего примера, каждый из ресурсов кэш-памяти в распределенной запоминающей системе 115 может представлять полупроводниковый накопитель, включающий в себя одно или более запоминающих устройств энергонезависимого типа для сохранения данных. В качестве более специфического примера: каждый из ресурсов кэш-памяти (такой как ресурс 181-1 кэш-памяти, ресурс 182-1 кэш-памяти, ресурс 183-1 кэш-памяти, …) может быть одним или более запоминающих устройств энергонезависимого типа или включать в себя такие устройства. Такими устройствами могут быть: память на фазовых переходах (PCM, Phase Change Memory), трехмерная перекрестная память, резистивная память, память с нанопроволоками, сегнетоэлектрическое транзисторное запоминающее устройство с произвольной выборкой (FeTRAM), флэш-память, такая как флэш-память на основе логического элемента NAND или флэш-память на основе логического элемента NOR, магниторезистивное запоминающее устройство с произвольной выборкой (MRAM), память, включающая в себя технологию запоминающего резистора, (STT)-MRAM, или любой подходящий тип энергонезависимой памяти, которая позволяет сохранять данные.
Каждый из ресурсов памяти, не являющейся кэш-памятью (такой как ресурс 181-2 памяти, не являющейся кэш-памятью, ресурс 182-2 памяти, не являющейся кэш-памятью, ресурс 183-2 памяти, не являющейся кэш-памятью, …) в различных узлах в распределенной запоминающей системе 115 может быть ресурсом запоминающего устройства на дисковом накопителе, включающе в себя один или более вращающихся дисков запоминающих ячеек для сохранения соответствующих данных.
В этом показательном варианте осуществления изобретения предполагается, что компьютерная система 110-1 устанавливает связь с узлом 121, чтобы инициировать сохранение данных А (таких как данные изображения, данные прикладной программы, документ и т.д.) в распределенной запоминающей системе 115, как показано на фигуре. Для достижения этой цели компьютерная система 110-1 передает данные А через сеть 190 к узлу 121 для сохранения. Как показано на фигуре, запоминающий узел 121 принимает данные А.
В ответ на прием данных А для сохранения в репозиторий 191, узел 121 генерирует метаданные M1, взаимосвязанные с данными А. Метаданные M1 могут быть или включать в себя любое количество бит информации, чтобы обеспечивать руководство, относящееся к сохранению данных А.
В этом показательном варианте осуществления изобретения предполагается, что узлу 121 известно, что данные А не являются дублированной копией данных (т.е. данными, уже сохраненными в распределенной запоминающей системе 115), поскольку эти данные являются вновь принятыми данными от компьютерной системы 110-1 для сохранения в распределенной запоминающей системе 115. В случае необходимости узел 121 может поддерживать связь с другими узлами, чтобы определить, сохранялась ли ранее копия данных в соответствующем узле или нет. Узел 121 генерирует метаданные M1, чтобы отражать, что данные А не являются дублированной копией данных, сохраняемой где-либо еще в распределенной запоминающей системе 115.
Как показано чертежахдля поддержки сохранения соответствующих данных А в репозиторий 191 узел 121 связывается через подходящую линию связи, такую как сеть 190, чтобы переслать копию данных А и метаданных M1 к управляющей логике 131 сохранения данных. Таким способом узел 121 обеспечивает уведомление о принятых данных А и соответствующих сгенерированных метаданных M1 для управляющей логики 131 сохранения данных.
В одном варианте осуществления изобретения метаданные M1 являются управляющей информацией, информацией меток и т.д., обеспечивая управление для сохранения принятых данных А в репозиторий 191. В качестве неограничивающего примера метаданные M1 могут быть единственным битом, установленным на логический ноль, таким образом обозначая, что данные А являются подходящими данными для сохранения в ресурсе 181-1 кэш-памяти.
Кроме того, в этом показательном варианте осуществления изобретения управляющая логика 131 сохранения данных принимает копию данных А и соответствующие метаданные M1. В этом примере, поскольку метаданные M1 не показывают, что следует предотвращать сохранение данных А в ресурсе 181-1 кэш-памяти, предполагается, что управляющая логика 131 сохранения данных инициирует сохранение данных А в ресурсе 181-1 кэш-памяти.
Кроме инициирования сохранения данных А в репозитории 191, узел 121 генерирует и пересылает дублированную копию данных А' к узлу 122. В этом примере дублированная копия данных А' представляет резервную копию данных А, сохраняемую в ресурсе 181-1 кэш-памяти. Сохранение дублированной копии данных А' в другом узле (таком как узел 122) является полезным в том случае, когда неисправность, связанная с узлом 121, и соответствующие данные А не могут быть извлечены из соответствующего репозитория 191.
Узел 122 принимает дублированную копию данных А' и инициирует соответствующее сохранение принятых данных в репозитории 192. Поскольку принятые данные (дублированная копия данных А') являются известными с помощью узла 122 и они должны быть резервной копией данных (поскольку они были приняты как дублированная копия данных из узла 121 или узел 121 посылает сообщение, обозначающее это), узел 122 генерирует метаданные М2 для предотвращения сохранения дублированной копии данных А' в ресурсе 182-1 кэш-памяти. Если более точно, то в ответ на обнаружение того, что копия (А) дублированной копии данных А' доступна из узла (такого как узел 121) в распределенной запоминающей системе 115, узел 122 генерирует метаданные М2, чтобы показывать управляющей логике 132 сохранения данных, что для сохранения принятых данных А' нужно обходить ресурс 182-1 кэш-памяти и вместо этого сохранять принятые дублированные данные А' в ресурсе памяти, не являющейся кэш-памятью.
В качестве дополнительного неограничивающего примера, метаданные М2 могут быть единственным набором битов, установленным на логическую единицу, показывающим, что дублированная копия данных А', принятая для сохранения в узел 122, не должна сохраняться в ресурсе 181-1 кэш-памяти. Таким образом, как упоминалось выше, метаданные, сгенерированные узлом 122, могут служить в качестве информации статуса, метки, признака, управляющей информации и т.д., обеспечивая управление, показывающее,каким образом сохранять соответствующие данные.
Чтобы завершить процесс сохранения данных, узел 122 пересылает данные А' и соответствующие метаданные М2 к управляющей логике 132 сохранения данных. Управляющая логика 132 сохранения данных анализирует метаданные М2, взаимосвязанные с дублированной копией данных А'. Поскольку метаданные М2 показывают, что не следует использовать сохранение дублированной копии данных А' в ресурсе кэш-памяти, управляющая логика 132 сохранения данных инициирует сохранение дублированной копии данных А' в ресурсе 182-2 памяти, не являющейся кэш-памятью.
Таким образом, через генерирование соответствующих метаданных для управления сохранением данных, запоминающие ячейки ресурса 182-1 кэш-памяти не будут без нужды растрачиваться для сохранения дублированной копии данных А', к которым с большой вероятностью не будет частого доступа, если вообще он будет производиться, поскольку данные А (такие как первоначальная копия) доступны для компьютерной системы 110-1 через установление связи с узлом 121 и извлечение данных из ресурса 181-1 кэш-памяти.
Фиг. 2 является примером диаграммы, иллюстрирующей сохранение принятых данных во втором узле и сохранение соответствующих дублирующих данных в первом узле в распределенной запоминающей системе, в соответствии с приведенными здесь вариантами осуществления изобретения.
В этом показательном варианте осуществления изобретения предполагается, что компьютерная система 110-2 устанавливает связь с узлом 122, чтобы инициировать сохранение данных В (таких как данные изображения, данные прикладной программы, данные документа и т.д.) в распределенной запоминающей системе, как показано на фигуре. Для достижения этой цели компьютерная система 110-2 передает данные В через сеть 190 к узлу 122 для сохранения.
Запоминающий узел 122 принимает данные В. В ответ на принимаемые для сохранения данные В узел 121 генерирует метаданные М3, взаимосвязанные с данными В. Метаданные М3 могут состоять из любого подходящего количества бит информации или включать в себя такое количество бит. Сгенерированные метаданные М3 обеспечивают руководство в отношении сохранения данных В.
В этом показательном варианте осуществления изобретения предполагается, что узлу 122 известно о том, что данные В не являются дублированной копией данных (т.е. не являются данными, уже сохраненными в распределенной запоминающей системе 115), поскольку данные В принимаются как новый запрос на сохранение данных в распределенной запоминающей системе 115. При генерировании метаданных узел 122 генерирует метаданные М3 таким образом, чтобы отображать, что данные В не являются дублированной копией данных, сохраненных где-либо еще в распределенной запоминающей системе 115. Поскольку данные В не являются дублированной копией данных, эти данные В являются подходящими для сохранения в ресурсе 182-1 кэш-памяти.
Как показано на чертеже, поддержки сохранения соответствующих данных В в узле 122 этот узел 122 пересылает копию данных В и соответствующие сгенерированные метаданные М3 к управляющей логике 132 сохранения данных. Таким способом узел 122 обеспечивает уведомление управляющей логики 132 сохранения данных о принятых данных В и метаданных М3.
В одном варианте осуществления изобретения метаданные М3 являются управляющей информацией, обеспечивающей руководство для сохранения принятых данных В в репозитории 192. В качестве неограничивающего примера, метаданные М3 могут быть единственным набором битов для логического нуля, показывающего, что данные В являются подходящими для сохранения в ресурсе 182-1 кэш-памяти.
Кроме того, в этом показательном варианте осуществления изобретения управляющая логика 132 сохранения данных принимает копию данных В и соответствующие метаданные М3. Поскольку метаданные М3 не показывают, что следует предотвращать сохранение данных А в ресурсе 182-1 кэш-памяти, предполагается, что управляющая логика 132 сохранения данных инициирует сохранение данных В в ресурсе 182-1 кэш-памяти.
Кроме инициирования сохранения данных В в репозитории 192, узел 122 генерирует и пересылает дублированную копию данных В' к узлу 121. В этом примере дублированная копия данных В' представляет резервную копию данных В, сохраняемую в ресурсе 182-1 кэш-памяти. Сохранение дублированной копии данных В' (т.е. копии данных В) в другом узле (таком как узел 121) является полезным в том случае, когда неисправность, связанная с узлом 122, и соответствующие данные В не могут быть извлечены из репозитория 192 в узле 122.
Узел 121 принимает дублированную копию данных В' и инициирует соответствующее сохранение этих принятых данных в репозитории 192. Поскольку принятые данные (дублированная копия данных В') являются известными для узла 121 и должны быть резервной копией данных (поскольку они были приняты как дублированная копия данных из узла 122), узел 121 генерирует метаданные М4 для предотвращения сохранения дублированной копии данных В' в ресурсе 181-1 кэш-памяти репозитория 191.
В одном варианте осуществления изобретения в ответ на обнаружение того, что копия дублированной копии данных В' является доступной из узла (такого как узел 122) в распределенной запоминающей системе 115, узел 121 генерирует метаданные М4, для того чтобы показывать управляющей логике 131 сохранения данных, что не следует сохранять принятые данные В' в ресурсе 181-1 кэш-памяти, а вместо этого принятую дублированную копию данных В' следует сохранять в ресурсе 181-2 памяти, не являющейся кэш-памятью репозитория 191.
Как ранее уже обсуждалось, сгенерированные метаданные М4 могут быть единственным битом, установленным на логическую единицу, показывающую, что дублированную копию данных В' не следует сохранять в ресурсе 181-1 кэш-памяти. Таким образом, метаданные, сгенерированные узлом 121, могут служить в качестве статусной информации, метки, признака, управляющей информации и т.д., обеспечивая управление, показывающее каким образом сохранять соответствующие данные В'.
Кроме того, в этом показательном варианте осуществления изобретения для завершения сохранения данных узел 121 пересылает данные В' и соответствующие метаданные М4 к управляющей логике 131 сохранения данных. Управляющая логика 131 сохранения данных анализирует метаданные М4, взаимосвязанные с дублированной копией данных В'. Поскольку метаданные М4 в этом примере показывают, что следует предотвратить сохранение дублированной копии данных В' в ресурсе кэш-памяти (т.к. она была обнаружена как дублированная копия данных), управляющая логика 131 сохранения данных инициирует сохранение дублированной копии данных В' в ресурсе 181-2 памяти, не являющейся кэш-памятью.
Таким образом, через генерирование соответствующих метаданных М4 для управления сохранением данных, запоминающие ячейки ресурса 181-1 кэш-памяти не будут без нужды растрачиваться для сохранения дублированной копии данных В', к которым с большой вероятностью не будет частого доступа, если вообще он будет производиться, поскольку данные В (такие как первоначальная копия) доступны для компьютерной системы 110-2 (или потенциально другим компьютерам) через установление связи с узлом 122 и извлечение данных В из ресурса 182-1 кэш-памяти.
Фиг. 3 является примером диаграммы, иллюстрирующей использование информационной карты для сохранения дорожки первичных данных и резервных данных, сохраняемых в различных узлах распределенной запоминающей системы, в соответствии с приведенными здесь вариантами осуществления изобретения.
Как показано на фигуре, компьютерная система 110-1 (или другой подходящий ресурс) могут быть сконфигурированы таким образом, чтобы генерировать информационную карту 112-1, показывающую соответствующие узлы в распределенной запоминающей системе 115, из которой могут быть доступны соответствующие данные.
Например, как обсуждалось ранее, компьютерная система 110-1 инициировала сохранение данных А в распределенной запоминающей системе 115. В ответ на прием запрашиваемых данных для сохранения, назначенный узел в распределенной запоминающей системе 115 сохраняет соответствующие данные А. Во время этого процесса назначенный ресурс, такой как узел 121 (или другой подходящий ресурс, такой как центральное управляющее устройство) в распределенной запоминающей системе 115 могут быть сконфигурированы таким образом, чтобы передавать компьютерной системе 110-1 информацию узла (такую как информацию адреса сети), показывающую местоположение, где первичная копия данных (т.е. данные А) является доступной. В этом примере, основанном на принимаемом уведомлении о том, что данные А сохраняются в узле 121, информационная карта 112-1 показывает, что данные А доступны для извлечения из узла 121.
В соответствии с одной конфигурацией, компьютерная система 110-1 также может принимать информацию узла, показывающую местоположение, где сохраняется резервная копия соответствующих данных в распределенной запоминающей системе 115. Например, выборка из памяти, что узел 122 сохраняет дублированную копию данных А' (т.е. копию данных А) в репозитории 192. В таком случае компьютерная система 110-1 может быть проинформирована, что данные А' доступны за счет установления связи с узлом 122 (или другим подходящим ресурсом, например, таким как центральное управляющее устройство) в распределенной запоминающей системе 115.
В одном варианте осуществления изобретения компьютерная система 110-1 генерирует информационную карту 112-1 для включения в нее соответствующего адреса сети или указателя для узла 122, благодаря которым данные А' становятся доступными для извлечения.
Компьютерная система 110-2 (или другой подходящий ресурс) может быть сконфигурирована таким образом, чтобы генерировать информационную карту 112-2, показывающую соответствующие узлы в распределенной запоминающей системе 115, в которых соответствующие данные являются доступными. Например, как обсуждалось ранее, компьютерная система 110-2 инициирует сохранение данных В в распределенной запоминающей системе 115. В ответ на прием запрашиваемых данных для сохранения, назначенный узел в распределенной запоминающей системе 115 сохраняет соответствующие данные В. Во время такого процесса назначенный ресурс, такой как узел 122 (или такой ресурс, как центральное управляющее устройство) в распределенной запоминающей системе 115 отправляет к компьютерной системе 110-2 информацию узла, показывающую местоположение, в котором первичная копия данных (т.е. данные В) является доступной. В этом примере основываясь на принятом уведомлении, что данные В сохраняются в узле 122, компьютерная система 110-2 генерирует информационную карту 112-1, которая показывает, что данные В доступны для извлечения из узла 122.
В соответствии с одной конфигурацией, компьютерная система 110-2 также принимает информацию узла, показывающую, в каком месте распределенной запоминающей системы 115 сохраняется резервная копия В' соответствующих данных. Например, выборка из памяти, что узел 121 с