Уровень техники
В целом распределенная запоминающая система может включать в себя множество узлов, расположенных принципиально непохожим образом, в которых должны сохраняться соответствующие данные. Как правило, запоминающие узлы связываются между собой через сеть. Передача информации между запоминающими узлами позволяет этим запоминающим узлам совместно управлять сохраняемыми данными. Компьютеры способны осуществлять связь с распределенной запоминающей системой, чтобы извлекать сохраняемые данные из одного или более узлов.
При желании резервные копии данных могут быть сохранены в распределенной запоминающей системе. Например, первый запоминающий узел в распределенной запоминающей системе может быть сконфигурирован таким образом, чтобы сохранять первичную копию данных. Второй запоминающий узел в распределенной запоминающей системе может быть сконфигурирован таким образом, чтобы сохранять резервную копию первичных данных. Если один или более узлов становятся недоступными, остающийся запоминающий узел может быть доступным для извлечения соответствующих данных.
Распределенные запоминающие системы имеют увеличивающуюся популярность в качестве средств для обеспечения дешевого и надежного сохранения данных в облачной инфраструктуре. Распределенные запоминающие системы часто применяются в программном обеспечении и работают на стандартных серверах высокой емкости, а также используют недорогую вращающуюся запоминающую среду, такую как накопители на жестких дисках, для сохранения данных. В определенных случаях, в добавление к применению вращающегося диска для сохранения данных, запоминающие узлы в традиционной распределенной запоминающей системе также могут включать в себя ресурсы в виде кэш-памяти (такие как одно или более полупроводниковых запоминающих устройств) для сохранения данных.
Краткое описание чертежей
Фиг. 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 сохраняет дублированную копию данных В' (т.е. копию данных В) в репозитории 192. В таком случае компьютерная система 110-2 может быть проинформирована, что данные В' доступны за счет установления связи с узлом 121 в распределенной запоминающей системе 115. В одном варианте осуществления изобретения компьютерная система 110-2 генерирует информационную карту 112-2 для включения в нее ресурса, такого как адрес сети или указатель и т.д., определяющего узел 121, в котором данные В' становятся доступными для извлечения.
В соответствии с дополнительными неограничивающими показательными вариантами осуществления изобретения, такой ресурс как центральное управляющее устройство, или один или более узлов в распределенной запоминающей системе 115, могут быть сконфигурированы таким образом, чтобы поддерживать между собой связь и генерировать информационную карту 117, показывающую различное содержимое и местоположение, в котором сохраняется соответствующее содержимое. Пример соответствующей информационной карты 117 показан на фиг. 4.
Как показано на фиг. 4, в этом показательном варианте осуществления изобретения информационная карта 117 показывает, что данные А являются доступными за счет установления связи с узлом 121; информационная карта 117 показывает, что дублированная копия данных А' является доступной за счет установления связи с узлом 122; информационная карта 117 показывает, что данные В являются доступными за счет установления связи с узлом 122; информационная карта 117 показывает, что дублированная копия данных В' является доступной за счет установления связи с узлом 122, и т.д.
Информационная карта, такая как информационная карта 112-1, информационная карта 112-2 и т.д. являются полезными для определения местоположения первичного содержимого и резервного содержимого. Например, если соответствующая компьютерная система не может извлечь содержимое из первого узла в период тайм-аута, то соответствующая компьютерная система может быть сконфигурирована таким образом, чтобы устанавливать связь со вторым узлом для извлечения резервной копии вместо первого узла.
Если более точно, то предполагается, что компьютерная система 110-1 пытается извлечь данные А из узла 121. Если от узла 121 нет ответа в пределах тайм-аута, например в течение 2 секунд (другой подходящей программы управления доступом в зависимости от времени), компьютерная система 110-1 инициирует установление связи с узлом 122 (как узла, определяемого информационной картой 112-1) для извлечения дублированной копии данных А'. Таким образом, компьютерная система может использовать информационную карту 112 для идентификации местоположения соответствующих данных.
Как обсуждалось ранее, уведомление о том, что информационная карта 117 на сохраненное содержимое может быть полезной в случае неисправности узла в распределенной запоминающей системе 115, требующей восстановление потерянных данных.
Фиг. 5 является примером диаграммы, иллюстрирующей восстановление в случае неисправности узла и дублирование данных в распределенной запоминающей системе, в соответствии с приведенными здесь вариантами осуществления изобретения.
В этом показательном варианте осуществления изобретения предполагается, что узел 122 или относящиеся к нему компоненты, такие как управляющая логика 132 сохранения данных, запоминающие ячейки в репозитории 192 и т.д. повреждается.
Неисправность, связанная с узлом 122, может привести к неспособности узла 122 быть доступным для компьютерных систем 110 через сеть 190, неспособности управляющей логики 132 сохранения данных извлекать соответствующие данные, сохраняемые в репозитории 192, отказу в работе запоминающих ячеек в репозитории 192 для сохранения данных и т.д.
Неисправность, связанная с узлом 122, может быть обнаружена с помощью любого количества способов. Например, один или более узлов в распределенной запоминающей системе 115 могут быть сконфигурированы таким образом, чтобы устанавливать связь (например, через сигналы тактовых импульсов*) с другими узлами для определения их статуса. Если такой узел, как узел 122, не реагирует на передачу информации, то можно предположить, что произошел отказ узла и соответствующие данные, сохраняемые в репозитории 192, недоступны для извлечения.
После обнаружения неисправности узлы в распределенной запоминающей системе 115 устанавливают связь между собой, чтобы дублировать недоступные данные в репозитории 192 в других узлах.
Если более точно, то в этом показательном варианте осуществления изобретения неисправность, связанная с узлом 122, препятствует доступу к данным А', сохраняемым в ресурсе 182-2 памяти, не являющейся кэш-памятью. На основе информационной карты 117, как обсуждалось ранее, известно, что ресурс 181-1 кэш-памяти, связанный с узлом 121, сохраняет копию данных А.
Чтобы гарантировать, что резервная копия данных А сохраняется в распределенной запоминающей системе 115, в ответ на обнаружение неисправности, связанной с узлом 122, узел 121 инициирует извлечение копии данных А из ресурса 181-1 кэш-памяти за счет установления связи с управляющей логикой 131 сохранения данных.
В дальнейшем, после извлечения копии данных А, управляющая логика 131 сохранения данных генерирует дублированную копию данных А''. Узел 121 пересылает дублированную копию данных А'' (т.е. копию данных А) к узлу 123, как показано на фигуре. Таким образом, данные А'', принятые узлом 123, представляют дублированную копию недоступных данных А', сохраняемых в неисправном узле 122 в распределенной запоминающей системе 115.
Узел 121 (или другой подходящий ресурс, взаимосвязанный с распределенной запоминающей системой 115) уведомляет узел 123, что данные А'' являются копией сохраненных данных. В ответ на обнаружение того, что данные А'', принятые от узла 121, являются восстановленными данными (т.е. копией данных А', сохраняемых в репозитории 192, взаимодействующих с неисправным узлом 122), узел 123 генерирует метаданные М5, чтобы показать управляющей логике 133 сохранения данных, что следует обходить ресурс 183-1 кэш-памяти для сохранения принятых данных А'' и сохранять данные в ресурсе 183-2 памяти, не являющиеся кэш-памятью в репозитории 193.
Соответственно, приведенные здесь варианты осуществления изобретения могут включать в себя генерирование копии данных А' (т.е. данных А''), которые сохранялись в ресурсе 181-1 кэш-памяти в не имеющем неисправностей узле 121, и инициирование сохранения данных А'' в ресурсе 183-2 памяти, не являющиеся кэш-памятью в репозитории 193.
Фиг. 6 является примером диаграммы, иллюстрирующей восстановление в случае неисправности узла и дублирование данных в распределенной запоминающей системе, в соответствии с приведенными здесь вариантами осуществления изобретения.
В этом показательном варианте осуществления изобретения неисправность, взаимосвязанная с узлом 122, также препятствует доступу к данным В, сохраняемым в ресурсе 182-1 кэш-памяти. На основе информационной карты 117, как обсуждалось ранее, известно, что ресурс 181-2 памяти, не являющейся кэш-памятью, связанный с узлом 121, сохраняет данные В'. Для того чтобы гарантировать, что дублированная копия данных В сохраняется в распределенной запоминающей системе 115, приведенные здесь варианты осуществления изобретения включают в себя следующее действие: в ответ на обнаружение неисправности, взаимосвязанной с узлом 122, узел 121 инициирует извлечение дублированной копии данных В' из ресурса 181-1 кэш-памяти за счет установления связи с управляющей логикой 131 сохранения данных.
В этом примере предполагается, что узел 124 был выбран (за счет такого ресурса, как другой узел или центральное управляющее устройство) среди других узлов в распределенной запоминающей системе 115, чтобы генерировать и сохранять резервную копию, взаимосвязанную с данными В. В таком случае узел 121 пересылает дублированную копию данных В'' (т.е. копию оригинальных данных В) к узлу 124, как показано на фиг. Данные В'', принятые узлом 124, представляют дублированную копию данных В, которые сохранялись в неисправном узле 122.
В ответ на обнаружение того, что принятые данные В'' являются копией данных В, сохраняемых в репозитории 192 и взаимосвязанных с неисправным узлом 122, узел 124 генерирует метаданные М6, чтобы показать управляющей логике 134 сохранения данных, что не следует сохранять принятую дублированную копию данных В'' в ресурсе 184-1 кэш-памяти, а следует сохранять принятую дублированную копию данных В'' в ресурсе памяти, не являющейся кэш-памятью, например такой, как ресурс 184-2 памяти, не являющейся кэш-памятью репозитория 194.
Соответственно, приведенные здесь варианты осуществления изобретения могут включать в себя генерирование копии (т.е. данных В'') данных В, которые сохранялись в неисправном узле, основываясь на данных В', которые сохранялись в ресурсе 181-2 памяти, не являющейся кэш-памятью, узла 121, не имеющего неисправностей.
В последующем, после восстановления, как обсуждалось выше, приведенные здесь варианты осуществления изобретения могут включать в себя обновление соответствующей информационной карты, чтобы отражать текущее состояние содержимого, сохраняемого в распределенной запоминающей системе 115. Например, соответствующий ресурс (такой как узел или центральное управляющее устройство), взаимосвязанный с распределенной запоминающей системой 115, может быть сконфигурирован таким образом, чтобы устанавливать связь с компьютерной системой 110-1 для обновления информационной карты 112-1, чтобы показывать, что данные А доступны из узла 121, резервные данные А'' в данный момент доступны из узла 123 и т.д.
Аналогичным образом соответствующий ресурс (такой как узел или центральное управляющее устройство), взаимосвязанный с распределенной запоминающей системой 115, может быть сконфигурирован таким образом, чтобы устанавливать связь с компьютерной системой 110-2 для обновления информационной карты 112-2, чтобы показывать, что данные В' доступны из узла 121, резервные данные В'' в данный момент доступны из узла 124 и т.д.
Фиг. 7 является примером диаграммы, иллюстрирующей обновленную информационную карту, показывающую сохранение различного содержимого в распределенной запоминающей системе, в соответствии с приведенными здесь вариантами осуществления изобретения.
В соответствии с дополнительными неограничивающими показательными вариантами осуществления изобретения, центральное управляющее устройство, или один или более узлов в распределенной запоминающей системе 115, могут быть сконфигурированы таким образом, чтобы обновлять информационную карту 117 для обозначения состояния сохраненных данных после восстановления в результате неисправности.
Как показано на фиг. 7, обновленная информационная карта 117 показывает, что данные А доступны через узел 121; обновленная информационная карта 117 показывает, что дублированная копия данных А'' (из восстановленной или исправленной) доступна через узел 122; обновленная информационная карта 117 показывает, что данные В' доступны через узел 121; обновленная информационная карта 117 показывает, что дублированная копия данных В'' (из восстановленной или исправленной) доступна через узел 124; и т.д.
Фиг. 8 является примером блок-схемы компьютерной системы для применения любой из обсуждавшихся здесь операций, в соответствии с приведенными здесь вариантами осуществления изобретения.
Компьютерная система 850, такая как узел 121 в распределенной запоминающей системе 115, может быть сконфигурирована таким образом, чтобы выполнять любую из обсуждавшихся здесь операций. В одном варианте осуществления изобретения соответствующий узел в распределенной запоминающей системе 115 выполняет приложение 140-1 для управления данными. Каждый из узлов, управляющая логика сохранения данных, и т.д. в распределенной запоминающей системе 115 могут включать в себя аналогичную аппаратную часть для выполнения обсуждавшейся выше функциональности.
Как дополнительно показано на фигуре, компьютерная система 850 настоящего примера может включать в себя внутреннее соединение 811, которое связывает считываемую компьютером запоминающую среду 812 и аппаратную часть 813 процессора. Считываемая компьютером запоминающая среда 812 может быть носителем энергонезависимого типа (например, любым типом аппаратной среды для хранения информации), в котором цифровая информация сохраняется и извлекается с помощью таких ресурсов, как аппаратная часть 813 процессора (например, одно или более процессорных устройств), интерфейс 814 ввода/вывода, коммуникационный интерфейс 817 и т.д.
Коммуникационный интерфейс 817 обеспечивает возможность соединения с сетью 190 и поддерживает коммуникацию с другими узлами в распределенной запоминающей системе 115 и компьютерными системами 110.
Предполагается, что компьютерная система 850 представляет узел 121 в сетевом окружении 100. В таком случае интерфейс 814 ввода/вывода обеспечивает присоединение компьютерной системы 850 к таким ресурсам, как управляющая логика 131 сохранения данных и репозиторий 191. При желании, функциональность, обеспечиваемая управляющей логикой 131 сохранения данных, также может выполняться на компьютерной системе 850 как процесс.
Считываемая компьютером запоминающая среда 812 может быть любым аппаратным устройством для хранения информации, таким как запоминающее устройство, оптическое запоминающее устройство, накопитель на жестких дисках, накопитель на гибких дисках и т.д. В одном варианте осуществления изобретения считываемая компьютером запоминающая среда 812 (например, считываемое компьютером оборудование систем для хранения информации) сохраняет инструкции и/или данные.
В одном варианте осуществления изобретения коммуникационный интерфейс 817 позволяет компьютерной системе 850 и соответствующей аппаратной части 813 процессора устанавливать связь через такой ресурс, как сеть 190, для извлечения информации из удаленных источников и устанавливать связь с другими компьютерами (такими как узлы). Интерфейс 814 ввода/вывода позволяет аппаратной части 813 процессора устанавливать связь с управляющей логикой 131 сохранения данных, а также извлекать и сохранять данные в репозиторий 191.
Как показано на фигуре, считываемая компьютером запоминающая среда 812 кодируется с помощью приложения 140-1 для управления данными (например, программным обеспечением, программно-аппаратными средствами и т.д.), выполняемого процессором 813. Приложение 140-1 для управления данными может быть сконфигурировано таким образом, чтобы включать в себя инструкции для применения любой из обсуждаемых здесь операций.
Во время операции одного варианта осуществления изобретения аппаратная часть 813 процессора осуществляет доступ к считываемой компьютером запоминающей среде 812 через использование внутреннего соединения 811, для того чтобы запускать, прогонять, выполнять, интерпретировать, или другим образом выполнять инструкции в приложении 140-1 для управления данными, сохраняемые в считываемой компьютером запоминающей среде 812.
Выполнение приложения 140-1 для управления данными производит функциональность обработки данных, например, такую как процесс 140-2 управления, в процессоре 813. Другими словами, процесс 140-2 управления, взаимосвязанный с процессором 813, представляет один или более аспектов выполняющего управление данными приложения 140-1 в или на аппаратной части 813 процессора в компьютерной системе 850.
Специалисты в данной области техники понимают, что компьютерная система 850 может включать в себя другие процессы и/или компоненты программного обеспечения и аппаратной части, такие как операционная система, которая управляет распределением и использованием ресурсов аппаратной части, ресурсов программного обеспечения и т.д. для выполнения приложения 140-1 для управления данными.
В соответствии с различными вариантами осуществления изобретения, следует отметить, что компьютерная система 850 может быть любым из различных типов устройств, включающих в себя, но не ограничиваясь этим, мобильный компьютер, мобильный телефон, персональную компьютерную систему, беспроводное устройство, базовую станцию, телефон, настольный компьютер, дорожный компьютер, блокнотный компьютер, большую электронно-вычислительную систему, карманный компьютер, рабочую станцию, сетевой компьютер, сервер прикладных программ, запоминающее устройство, бытовое электронное устройство, такое как камера, записывающая видеокамера, телевизионная абонентская приставка, мобильное устройство, игровая видеоприставка, карманное устройство для видеоигр, периферийное устройство, такое как переключатель, модем, маршрутизатор, или в целом любой тип вычислительного или электронного устройства.
Функциональность, поддерживаемая различными ресурсами, сейчас будет обсуждаться с использованием карты последовательности процесса на фиг. 9. Следует заметить, что обработка на приведенной ниже карте последовательности процесса может выполняться в любом подходящем порядке.
Фиг. 9 является картой 900 последовательности процесса, иллюстрирующей пример способа, в соответствии с вариантами осуществления изобретения. Следует заметить, что здесь будет частичное совпадение с обсуждавшимися выше концепциями.
В процессе обрабатывающей операции 910 узел в распределенной запоминающей системе 115 принимает данные.
В процессе обрабатывающей операции 920 узел генерирует метаданные, основанные на принятых данных. В одном варианте осуществления изобретения метаданные показывают, являются ли принятые данные дублированной копией данных, сохраненных в распределенной запоминающей системе. Как здесь обсуждалось ранее, принятые данные могут быть дублированной копией данных, созданной в то время, когда производилось сохранение резервной копии соответствующих данных в распределенной запоминающей системе 115. В соответствии с другим вариантом осуществления изобретения, как упоминалось выше, принятые данные могут быть дублированной копией данных, созданной во время процесса восстановления данных, который происходит в ответ на неисправность узла.
В процессе обрабатывающей операции 930 узел инициирует сохранение принятых данных в распределенной запоминающей системе 115, в соответствии с метаданными.
Любой из обсуждавшихся здесь ресурсов может включать в себя одно или более компьютеризированных устройств, серверов, базовых станций, карманных или дорожных компьютеров, или подобных устройств для выполнения и/или поддержки любого или всех раскрываемых здесь способов обработки. Другими словами, одно или более компьютеризированных устройств или процессоров могут программироваться и/или конфигурироваться таким образом, чтобы функционировать как объяснялось ранее, для выполнения различных вариантов осуществления изобретения.
Другие приведенные здесь варианты осуществления изобретения включают в себя программы, реализованные программно, программно-аппаратные средства, логические схемы и т.д., для выполнения операций таким образом, как раскрывается в этом описании. Один такой вариант осуществления изобретения содержит компьютерный программный продукт, включающий в себя энергонезависимую считываемую компьютером запоминающую среду (т.е. любое считываемое компьютером оборудование для хранения информации), на которой программные инструкции закодированы для последующего выполнения. Инструкции при их выполнении в компьютеризированном устройстве, имеющем один или более процессоров, программирует и/или вызывает выполнение процессором раскрываемых здесь операций. Такие компоновки могут быть обеспечены программными средствами, программно-аппаратными средствами, системой кодирования, инструкциями, данными (например, структурами данных) и т.д., размещенными или закодированными на энергонезависимой считываемой компьютером запоминающей среде, такой как оптическая среда (например, лазерный диск, предназначенный только для чтения, CD ROM), гибкий диск, жесткий диск, запоминающее устройство, и т.д., или другая запоминающая среда, такая как программно-аппаратные средства в одном или более таких устройств, как постоянное запоминающее устройство (ПЗУ, ROM), запоминающее устройство с произвольной выборкой (ЗУПВ, RAM), программируемое постоянное запоминающее устройство (ППЗУ, PROM) и т.д., или такой как логическая схема в проблемно-ориентированной интегральной микросхеме (ASIC) и т.д. Программное обеспечение или программно-аппаратные средства, или другие такие конфигурации могут быть установлены на компьютеризированном устройстве для выполнения объясняемых здесь технологий.
Соответственно, приведенные здесь варианты осуществления изобретения направлены на устройство, способ, систему, компьютерный программный продукт и т.д., которые поддерживают обсуждаемые здесь операции.
Один вариант осуществления изобретения включает считываемую компьютером запоминающую среду и/или систему, имеющую инструкции, логические схемы и т.д., сохраняемые на ней, чтобы управлять конфигурациями запоминающей системы, включающими в себя одно или более энергонезависимых запоминающих устройств. Инструкции и/или логические схемы при их выполнении по меньшей мере одним процессорным устройством* соответствующего компьютера, вызывают выполнение по меньшей мере одним процессорным устройством следующих действий: прием данных в отдельном узле в распределенной запоминающей системе, при этом отдельный узел обменивается информацией с управляющей логикой сохранения данных и имеет доступ к репозиторию, включающему в себя ресурс кэш-памяти и ресурс памяти, не являющейся кэш-памятью; генерирование метаданных на основе принятых данных; и обеспечение уведомления о принятых данных и метаданных управляющей логики сохранения данных, при этом метаданные управляют сохранением принятых данных в репозиторий в отдельном узле.
Следует отметить, что любой вид обработки, как обсуждалось в этом описании, может выполняться в любом подходящем порядке.
Должно быть понятно, что устройство, система, способ, инструкции на считываемой компьютером запоминающей среде и т.д., как обсуждалось в этом описании, также могут осуществляться определенно как программные средства, программно-аппаратные средства, как гибрид программных средств, аппаратной части, и/или программно-аппаратных средств, или только как одна аппаратная часть, например, такая, как внутри процессорного устройства, внутри операционной системы или внутри программного приложения и т.д.
Кроме того, следует отметить, что хотя каждый из приведенных здесь различных признаков, технологий, конфигураций и т.д. может обсуждаться в различных местах этого описания, предполагается, что там, где это является подходящим, каждая из концепций может по выбору выполняться независимо друг от друга или в комбинации друг с другом. Возможна любая перестановка раскрываемых признаков. Соответственно, один или более вариантов осуществления изобретения, как они раскрывались в этом описании, могут осуществляться и представляться через множество различных способов.
Следует дополнительно заметить, что приведенные здесь технологии хорошо подходят для восстановления при обнаружении неисправности в одном или более энергонезависимых запоминающих устройств. Однако следует отметить, что приведенные здесь варианты осуществления изобретения не ограничиваются использованием таких вариантов применения, а также то, что обсуждаемые здесь технологии также хорошо подходят для других вариантов применения.
В то время как здесь быть отдельно показаны и описаны специфические варианты осуществления изобретения, специалистам в данной области техники будет понятно, что могут быть произведены различные изменения в форме и деталях, не выходя за пределы объема и сущности настоящей заявки на патент, как определяется прилагаемой формулой изобретения. Предполагается, что такие изменения должны покрываться объемом этой настоящей заявки на патент. По существу, приведенное выше описание вариантов осуществления настоящего изобретения не предполагает ограничений. До некоторой степени, какие-либо ограничения приведенных здесь вариантов осуществления изобретения представлены в последующих пунктах формулы изобретения.
Группа изобретений относится к распределенным запоминающим системам и может быть использована для сохранения данных в кэш-памяти или памяти другого типа. Техническим результатом является обеспечение улучшенного использования ресурсов кэш-памяти и ресурсов других типов памяти. Система содержит множество взаимосвязанных узлов, которые коллективно управляют сохранением данных, содержащее первый узел, имеющий процессор выполнения логики, при этом логика выполнена с возможностью: приема данных от ресурса, имеющего сообщение с множеством взаимосвязанных узлов, при этом принятые данные предназначены для сохранения в репозитории для сохранения данных, который включает в себя ресурс энергонезависимой кэш-памяти и ресурс энергонезависимой памяти, не являющейся кэш-памятью; создания первых метаданных, основанных на принятых данных; и пересылки первых метаданных управляющей логике сохранения данных для побуждения управляющей логики сохранить принятые данные в репозитории на основании информации, включенной в первые метаданные. 3 н. и 22 з.п. ф-лы, 9 ил.
1. Способ сохранения данных в распределенной запоминающей системе, содержащий:
прием процессором для первого узла данных, предназначенных для сохранения в репозитории для сохранения данных, соединенном с первым узлом через управляющую логику сохранения данных, при этом репозиторий для сохранения данных включает в себя ресурс энергонезависимой кэш-памяти и ресурс энергонезависимой памяти, не являющейся кэш-памятью, а первый узел включен в состав распределенной запоминающей системы, имеющей множество узлов, которые коллективно управляют сохранением данных;
создание первых метаданных на основании принятых данных; и
пересылку первых метаданных управляющей логике сохранения данных для побуждения управляющей логики сохранения данных сохранить принятые данные в репозитории для сохранения данных на основании информации, включенной в первые метаданные.
2. Способ по п. 1, в котором время доступа к данным ресурса энергонезависимой кэш-памяти по существу меньше, чем время доступа к данным ресурса энергонезависимой памяти, не являющейся кэш-памятью; и в котором создание первых метаданных включает в себя создание первых метаданных для включения в себя информации, показывающей управляющей логике сохранения данных, что следует предотвратить сохранение принятых данных в ресурсе энергонезависимой кэш-памяти и сохранять принятые данные в ресурсе энергонезависимой памяти, не являющейся кэш-памятью в репозитории для сохранения данных.
3. Способ по п. 1, в котором ресурс энергонезависимой кэш-памяти является энергонезависимым запоминающим устройством;
в котором ресурс энергонезависимой памяти, не являющейся кэш-памятью, является ресурсом запоминающего устройства на дисках; и
в котором создание первых метаданных включает в себя: создание первых метаданных для включения в себя информации, показывающей управляющей логике сохранения данных, что следует предотвратить сохранение принятых данных в ресурсе энергонезависимой кэш-памяти в ответ на обнаружение того, что копия принятых данных доступна из второго узла из множества узлов, включенных в состав распределенной запоминающей системы.
4. Способ по п. 1, в котором создание первых метаданных включает в себя создание первых метаданных для включения в себя информации, показывающей управляющей логике сохранения данных узла, что принятые данные подходят для сохранения в ресурсе энергонезависимой кэш-памяти репозитория для сохранения данных.
5. Способ по п. 4, в котором принятые данные являются первыми данными, при этом способ дополнительно содержит:
прием процессором для первого узла вторых данных, причем вторые данные являются дублированной копией данных, сохраняемых во втором узле из множества узлов, включенных в состав распределенной запоминающей системы;
создание вторых метаданных на основании принятых вторых данных, причем эти вторые метаданные включают в себя информацию, показывающую управляющей логике сохранения данных, что не следует использовать сохранение принятых вторых данных в ресурсе энергонезависимой кэш-памяти, а следует сохранять принятые вторые данные в ресурсе энергонезависимой памяти, не являющейся кэш-памятью; и
пересылку вторых метаданных к управляющей логике сохранения данных первого узла для побуждения управляющей логики сохранения данных сохранить принятые вторые данные в ресурсе энергонезависимой памяти, не являющейся кэш-памятью на основании информации, включенной во вторые метаданные.
6. Способ по п. 1, в котором принятые данные представляют дублированную копию данных, сохраняемых в неисправном узле из множества узлов, включенных в состав распределенной запоминающей системы, причем неисправность в неисправном узле препятствует доступу к данным, управляемым неисправным узлом, при этом способ дополнительно содержит:
в ответ на обнаружение того, что принятые данные являются копией данных, сохраняемых в неисправном узле, создание первых метаданных для включения в себя информации, показывающей управляющей логике сохранения данных, что не следует сохранять принятые данные в ресурсе энергонезависимой кэш-памяти, а следует сохранять принятые данные в ресурсе энергонезависимой памяти, не являющейся кэш-памятью репозитория для сохранения данных.
7. Способ по п. 6, дополнительно содержащий:
создание дублированной копии данных, сохраняемых в неисправном узле, основываясь на данных, сохраняемых в исправном узле, при этом неисправный узел является вторым узлом из множества узлов, включенных в состав распределенной запоминающей системы, а исправный узел является третьим узлом из множества узлов, включенных в состав распределенной запоминающей системы.
8. Способ по п. 1, в котором принятые данные являются первыми данными; первые метаданные включают в себя информацию, показывающую управляющей логике сохранения данных, что следует сохранять первичные данные в ресурсе энергонезависимой кэш-памяти, при этом способ дополнительно содержит:
прием вторых данных в первом узле, причем вторые принятые данные являются дублированной копией данных, сохраняемых во втором узле из множества узлов, включенных в состав распределенной запоминающей системы;
создание вторых метаданных на основании вторых принятых данных, причем эти вторые метаданные включают в себя информацию, показывающую управляющей логике сохранения данных, что не следует сохранять принятые вторые данные в ресурсе энергонезависимой кэш-памяти, а следует сохранять принятые вторые данные в ресурсе энергонезависимой памяти, не являющейся кэш-памятью, репозитория для сохранения данных; и
пересылку вторых метаданных к управляющей логике сохранения данных для побуждения управляющей логики сохранения данных сохранить принятые вторые данные в ресурсе энергонезависимой памяти, не являющейся кэш-памятью на основании информации, включенной во вторые метаданные.
9. Способ по п. 1, дополнительно содержащий:
создание первых метаданных для включения в себя информации, показывающей управляющей логике сохранения данных, что не следует сохранять принятые данные в ресурсе энергонезависимой кэш-памяти, а следует сохранять принятые данные в ресурсе энергонезависимой памяти, не являющейся кэш-памятью, репозитория для сохранения данных;
создание дублированной копии данных, причем дублированная копия данных является дублированной копией принятых данных; и
пересылку дублированной копии данных ко второму узлу из множества узлов, включенных в состав распределенной запоминающей системе.
10. Способ по п. 9, дополнительно содержащий:
прием дублированной копии данных во втором узле, причем этот второй узел создает вторые метаданные, включающие информацию, побуждающую сохранять дублированную копию данных в ресурсе энергонезависимой памяти, не являющейся кэш-памятью, взаимодействующей со вторым узлом.
11. Распределенная запоминающая система, содержащая:
множество взаимосвязанных узлов, которые коллективно управляют сохранением данных, при этом множество взаимосвязанных узлов включает в себя первый узел, имеющий процессор выполнения логики, при этом логика выполнена с возможностью:
приема данных от ресурса, имеющего сообщение с множеством взаимосвязанных узлов, при этом принятые данные предназначены для сохранения в репозитории для сохранения данных, который включает в себя ресурс энергонезависимой кэш-памяти и ресурс энергонезависимой памяти, не являющейся кэш-памятью;
создания первых метаданных, основанных на принятых данных; и
пересылки первых метаданных управляющей логике сохранения данных для побуждения управляющей логики сохранения данных сохранить принятые данные в репозитории для сохранения данных на основании информации, включенной в первые метаданные.
12. Распределенная запоминающая система по п. 11, содержащая логику для создания первых метаданных для включения в себя информации, показывающей управляющей логике сохранения данных, что не следует сохранять принятые данные в ресурсе энергонезависимой кэш-памяти, а следует сохранять принятые данные в ресурсе энергонезависимой памяти, не являющейся кэш-памятью репозитория для сохранения данных.
13. Распределенная запоминающая система по п. 12, в которой ресурс энергонезависимой кэш-памяти является энергонезависимой памятью; ресурс энергонезависимой памяти, не являющейся кэш-памятью, является ресурсом запоминающего устройства на дисках; и дополнительно содержащая логику для создания первых метаданных для включения в себя информации, показывающей управляющей логике сохранения данных, что следует предотвратить сохранение принятых данных в энергонезависимой памяти в ответ на обнаружение того, что копия принятых данных доступна из второго узла из множества взаимосвязанных узлов, включенных в состав распределенной запоминающей системы.
14. Распределенная запоминающая система по п. 11, в которой логика для создания первых метаданных содержит логику, чтобы включить информацию, показывающую управляющей логике сохранения данных, что принятые данные подходят для сохранения в ресурсе энергонезависимой кэш-памяти репозитория для сохранения данных.
15. Распределенная запоминающая система по п. 14, в которой принятые данные являются первыми данными; в которой логика дополнительно выполнена с возможностью:
принимать вторые данные, причем вторые данные являются дублированной копией данных, сохраняемых во втором узле из множества взаимосвязанных узлов, включенных в состав распределенной запоминающей системы;
создавать вторые метаданные на основании принятых вторых данных, причем эти вторые метаданные включают информацию, показывающую управляющей логике сохранения данных, что не следует сохранять принятые вторые данные в ресурсе энергонезависимой кэш-памяти, а следует сохранять принятые вторые данные в ресурсе энергонезависимой памяти, не являющейся кэш-памятью; и
пересылать вторые метаданные к управляющей логике сохранения данных для побуждения управляющей логики сохранения данных сохранить принятые вторые данные в ресурсе энергонезависимой памяти, не являющейся кэш-памятью на основании информации включенной во вторые метаданные.
16. Распределенная запоминающая система по п. 11, в которой принятые данные представляют дублированную копию данных, которые сохранялись в неисправном узле из множества взаимосвязанных узлов, включенных в состав распределенной запоминающей системы, соответствующая неисправность в неисправном узле препятствует доступу к данным, управляемым неисправным узлом, при этом логика выполнена с возможностью: создания первых метаданных в ответ на обнаружение того, что принятые данные являются копией данных, сохраняемых в неисправным узле, создания первых метаданных для включения в себя информации, показывающей управляющей логике сохранения данных, что не следует сохранять принятые данные в ресурсе энергонезависимой кэш-памяти, а следует сохранять принятые данные в ресурсе энергонезависимой памяти, не являющийся кэш-памятью репозитория для сохранения данных.
17. Распределенная запоминающая система по п. 16, в которой неисправный узел является вторым узлом из множества взаимосвязанных узлов, включенных в состав распределенной запоминающей системы, и множество взаимосвязанных узлов дополнительно содержит третий узел, при этом третий узел предназначен для создания дублированной копии данных, которые сохранялись в неисправном узле, основываясь на данных, которые сохранялись в третьем узле.
18. Распределенная запоминающая система по п. 11, в которой принятые данные являются первыми данными, в которой первые метаданные включают в себя информацию, показывающую управляющей логике сохранения данных, что следует сохранять первичные данные в ресурсе энергонезависимой кэш-памяти; при этом логика выполнена с возможностью:
принимать вторые данные, причем вторые принятые данные являются дублированной копией данных, сохраняемых во втором узле из множества взаимосвязанных узлов, включенных в состав распределенной запоминающей системы;
создавать вторые метаданные на основании вторых принятых данных, причем эти вторые метаданные включают в себя информацию, показывающую управляющей логике сохранения данных, что не следует сохранять принятые вторые данные в ресурсе энергонезависимой кэш-памяти, а следует сохранять принятые вторые данные в ресурсе энергонезависимой памяти, не являющейся кэш-памятью репозитория для сохранения данных; и
пересылать вторые данные и вторые метаданные к управляющей логике сохранения данных для побуждения управляющей логики сохранения данных сохранить принятые вторые данные в ресурсе энергонезависимой памяти, не являющейся кэш-памятью на основании информации, включенной во вторые метаданные.
19. Распределенная запоминающая система по п. 11, содержащая логику, выполненную с возможностью:
создавать первые метаданные для включения в себя информации, показывающей управляющей логике сохранения данных, что не следует сохранять принятые данные в ресурсе энергонезависимой кэш-памяти, а следует сохранять принятые данные в ресурсе энергонезависимой памяти, не являющейся кэш-памятью репозитория для сохранения данных;
создавать дублированную копию данных, при этом дублированная копия данных является дублированной копией принятых данных; и
пересылать дублированную копию данных ко второму узлу из множества взаимосвязанных узлов, включенных в состав распределенной запоминающей системы.
20. Распределенная запоминающая система по п. 19, содержащая логику, выполненную с возможностью:
принимать дублированную копию данных;
создавать вторые метаданные, которые включают в себя информацию, побуждающую сохранять дублированную копию данных в ресурсе энергонезависимой памяти, не являющейся кэш-памятью, взаимодействующей со вторым узлом.
21. Распределенная запоминающая система по п. 11, содержащая экран дисплея, на котором должны визуализироваться изображения, основанные на по меньшей мере частично на принятых данных.
22. Считываемое компьютером оборудование для сохранения данных, имеющее сохраняемые на нем инструкции, которые при их выполнении аппаратной частью процессора компьютера побуждают аппаратную часть процессора выполнять:
прием данных в первом узле, при этом принятые данные предназначены для сохранения в репозитории для сохранения данных, соединенном с первым узлом через управляющую логику сохранения данных, при этом репозиторий для сохранения данных включает в себя ресурс энергонезависимой кэш-памяти и ресурс энергонезависимой памяти, не являющейся кэш-памятью, а первый узел включен в состав распределенной запоминающей системы, имеющей множество узлов, которые коллективно управляют сохранением данных;
создание первых метаданных, на основании принятых данных; и
пересылку первых метаданных управляющей логике сохранения данных для побуждения управляющей логики сохранения данных сохранить принятые данные в репозитории для сохранения данных на основании информации, включенной в первые метаданные.
23. Считываемое компьютером оборудование для сохранения данных по п. 22, в котором инструкции дополнительно побуждают аппаратную часть процессора выполнять создание первых метаданных для включения в себя информации, показывающей управляющей логике сохранения данных, что не следует сохранять принятые данные в ресурсе энергонезависимой кэш-памяти, а следует сохранять принятые данные в ресурсе энергонезависимой памяти, не являющейся кэш-памятью репозитория для сохранения данных.
24. Считываемое компьютером оборудование для сохранения данных по п. 23, в котором инструкции дополнительно побуждают аппаратную часть процессора компьютера выполнять:
создание первых метаданных в ответ на обнаружение того, что копия принятых данных является доступной из второго узла из множества узлов, включенных в состав распределенной запоминающей системы.
25. Считываемое компьютером оборудование для сохранения данных по п. 22, в котором принятые данные представляют дублированную копию данных, сохраняемую в неисправном узле из множества узлов, включенных в состав распределенной запоминающей системы, причем неисправность в неисправном узле препятствует доступу к данным, управляемым неисправным узлом; при этом инструкции дополнительно побуждают аппаратную частью процессора компьютера выполнять:создание первых метаданных в ответ на обнаружение того, что принятые данные являются копией данных, сохраняемых в неисправном узле, создание первых метаданных для включения в себя информации, показывающей управляющей логике сохранения данных, что не следует сохранять принятые данные в ресурсе энергонезависимой кэш-памяти, а следует сохранять принятые данные в ресурсе энергонезависимой памяти, не являющейся кэш-памятью, репозитория для сохранения данных.
Способ приготовления лака | 1924 |
|
SU2011A1 |
Пломбировальные щипцы | 1923 |
|
SU2006A1 |
Дорожная спиртовая кухня | 1918 |
|
SU98A1 |
Колосоуборка | 1923 |
|
SU2009A1 |
ЭФФЕКТИВНОЕ СОЗДАНИЕ ЧАСТЫХ РЕЗЕРВНЫХ КОПИЙ ЦЕЛОСТНЫХ ДЛЯ ПРИЛОЖЕНИЙ | 2007 |
|
RU2433457C2 |
Авторы
Даты
2018-02-02—Публикация
2013-12-11—Подача