ВОССТАНОВЛЕНИЕ ДАННЫХ КЛИЕНТА ПРИ ПЕРЕМЕЩЕНИЯХ ДАННЫХ КЛИЕНТА
DATA RECOVERY CLIENT FOR MOVEABLE CLIENT DATA

Предшествующий уровень техники
Данные клиента могут перемещаться в разные местоположения по различным причинам. Например, данные клиента могут перемещаться при модернизации пула, если для данных клиента необходимо больше места и т.п. В таких случаях делается новая резервная копия данных клиента.
Сущность изобретения
Этот раздел "Сущность изобретения" предусмотрен для того, чтобы представить по выбору концепций в упрощенной форме, которые дополнительно описываются ниже в разделе "Подробное описание". Этот раздел "Сущность изобретения" не предназначен ни для того, чтобы идентифицировать ключевые признаки или существенные признаки заявляемого изобретения, ни для того, чтобы использовать его в помощь при определении объема заявляемого изобретения.
Поддерживается предыстория местоположений данных клиента. Данные клиента содержат данные, которые в настоящий момент используются клиентом, и соответствующие резервные данные. Когда данные клиента переводятся из одного местоположения в другое, местоположение и время сохраняются в предыстории, к которой можно осуществлять доступ, чтобы определять местоположение данных клиента в указанное время. Различные операции запускают сохранение местоположения/времени в предыстории. Обычно действие, которое изменяет местоположение данных клиента, запускает сохранение местоположения в предыстории (например, модернизация пула, перемещение клиента, добавление клиента, выравнивание нагрузки для данных и т.п.). Когда данные клиента необходимы для операции (например, для восстановления), к предыстории можно осуществлять доступ, чтобы определять местоположение данных.
Краткое описание чертежей
Фиг. 1 показывает иллюстративную вычислительную среду;
фиг. 2 показывает систему для поддерживания местоположения данных клиента при перемещениях клиента;
фиг. 3 показывает предысторию, включающую в себя записи для изменений местоположения данных клиента;
фиг. 4 иллюстрирует процесс обновления предыстории изменения местоположения данных клиента; и
фиг. 5 показывает процесс обработки запроса на восстановление данных клиента из местоположения резервной копии.
Подробное описание
Теперь будут описаны различные варианты осуществления со ссылкой на чертежи, на которых аналогичные позиционные обозначения представляют аналогичные элементы. В частности, фиг. 1 и соответствующее обсуждение предназначены для обеспечения краткого, общего описания подходящей вычислительной среды, в которой могут быть реализованы варианты осуществления.
В общем, программные модули включают в себя подпрограммы, программы, компоненты, структуры данных и другие типы структур, которые выполняют конкретные задачи или реализуют конкретные абстрактные типы данных. Также могут использоваться другие конфигурации компьютерных систем, включая портативные устройства, многопроцессорные системы, микропроцессорную или программируемую бытовую электронную технику, мини-компьютеры, универсальные вычислительные машины и т.п. Также распределенные вычислительные среды могут использоваться там, где задачи выполняются удаленными устройствами обработки данных, которые подключены через коммуникационную сеть. В распределенной вычислительной среде программные модули могут быть расположены и в локальных, и в удаленных запоминающих устройствах.
Теперь со ссылкой на фиг. 1 будет описана иллюстративная компьютерная среда для компьютера 100, используемая в различных вариантах осуществления. Компьютерная среда, показанная на фиг. 1, включает в себя вычислительные устройства, каждое из которых может быть выполнено в виде мобильного вычислительного устройства (например, телефона, планшета, нетбука, портативного компьютера), сервера, настольного компьютера или вычислительного устройства некоторого другого типа, и включает в себя центральный процессор 5 ("CPU"), системное запоминающее устройство 7, включающее в себя оперативное запоминающее устройство 9 ("RAM", "ОЗУ") и постоянное запоминающее устройство ("ROM", "ПЗУ") 10, и системную шину 12, которая соединяет запоминающее устройство с центральным процессором ("CPU") 5.
Базовая система ввода-вывода, содержащая базовые подпрограммы, которые помогают передавать информацию между элементами в пределах компьютера, например, во время запуска, хранится в ПЗУ 10. Компьютер 100 дополнительно включает в себя запоминающее устройство 14 большой емкости для хранения операционной системы 16, приложения (приложений) 24, Web-браузера 25 и диспетчера 26 резервного копирования, которые будут описаны более подробно ниже.
Запоминающее устройство 14 большой емкости подсоединено к CPU 5 через контроллер запоминающего устройства большой емкости (не показан), подсоединенный к шине 12. Запоминающее устройство 14 большой емкости и его ассоциированные машиночитаемые носители данных обеспечивают энергонезависимое хранилище для компьютера 100. Хотя описание машиночитаемых носителей данных, содержащееся в данном документе, относится к запоминающему устройству большой емкости, такому как жесткий диск или дисковод для компакт-дисков, машиночитаемые носители данных могут быть любыми доступными носителями данных, к которым компьютер 100 может осуществлять доступ.
Посредством примера, а не ограничения, машиночитаемые носители могут содержать носители данных компьютера и коммуникационные среды. Носители данных компьютера включают в себя энергозависимые и энергонезависимые, съемные и несъемные носители данных, реализованные любым способом или с помощью любой технологии для хранения информации, такой как машиночитаемые команды, структуры данных, программные модули или другие данные. Носители данных компьютера включают в себя, но не ограничиваясь этим, ОЗУ, ПЗУ, стираемое программируемое постоянное запоминающее устройство ("EPROM", "СППЗУ"), электрически стираемое программируемое постоянное запоминающее устройство ("EEPROM", "ЭСППЗУ"), флэш-память, или может использоваться другая технология твердотельной памяти, CD-ROM (компакт-диск постоянной памяти), универсальные цифровые диски ("DVD") или оптические запоминающие устройства, магнитные кассеты, магнитные ленты, запоминающее устройство на магнитных дисках или другие магнитные запоминающие устройства, или любой другой носитель данных, который может использоваться для сохранения требуемой информации и к которому компьютер 100 может получать доступ.
Компьютер 100 функционирует в сетевом окружении, используя логические соединения с удаленными компьютерами через сеть 18, такую как Интернет. Компьютер 100 может соединяться с сетью 18 через блок 20 сетевого интерфейса, подсоединенный к шине 12. Сетевое соединение может быть беспроводным и/или проводным. Блок 20 сетевого интерфейса также может использоваться для подсоединения к другим типам сетей и удаленных компьютерных систем. Компьютер 100 также может включать в себя контроллер 22 ввода-вывода для приема и обработки вводимых данных от некоторого количества других устройств, включая клавиатуру, мышь или электронное перо (на фиг. 1 не показаны). Аналогичным образом контроллер 22 ввода-вывода может обеспечивать ввод-вывод на экран 23 дисплея, принтер или устройство вывода данных другого типа.

Как кратко упомянуто выше, в запоминающем устройстве 14 большой емкости и ОЗУ 9 компьютера 100 может храниться некоторое количество программных модулей и файлов данных, включая операционную систему 16, подходящую для управления функционированием компьютера, такую как операционная система WINDOWS 7, WINDOWS SERVER или WINDOWS PHONE 7 от MICROSOFT CORPORATION, Редмонд, Вашингтон. Запоминающее устройство 14 большой емкости и ОЗУ 9 также могут хранить один или несколько программных модулей. В частности, запоминающее устройство 14 большой емкости и ОЗУ 9 могут хранить одну или несколько прикладных программ, включающих в себя одно или несколько приложений 24 и Web-браузер 25. В соответствии с вариантом осуществления приложение 24 представляет собой приложение, которое выполнено с возможностью взаимодействия с онлайновой службой (сервисом), такой как служба деловой точки решения задач, которая предоставляет услуги для различных клиентов. Также могут использоваться другие приложения. Например, приложение 24 может быть клиентским приложением, которое выполнено с возможностью взаимодействия с данными. Приложение может быть выполнено с возможностью взаимодействия со многими различными типами данных, включающими в себя: документы, электронные таблицы, слайды, примечания и т.п., но не ограничиваясь этим.
Сетевое устройство 27 хранения данных выполнено с возможностью охранения данных клиента для клиента. Сетевое устройство 27 хранения данных доступно для одного или нескольких вычислительных устройств/пользователей через IP-сеть 18. Например, сетевое устройство 27 хранения данных может хранить данные клиента для одного или нескольких клиентов для онлайновой службы, такой как онлайновая служба 17. Другие сетевые устройства хранения данных также могут быть выполнены с возможностью хранения данных для клиента. Данные клиента также могут перемещаться из одного сетевого устройства хранения данных на другое сетевое устройство хранения данных.
Диспетчер 26 резервного копирования выполнен с возможностью поддержания местоположений данных клиента в предыстории, такой как предыстория 21. Диспетчер 26 резервного копирования может быть частью онлайновой службы, такой как онлайновая служба 17, и все/некоторые из функциональных возможностей, обеспечиваемых диспетчером 26 резервного копирования, могут быть расположены внутри/вне приложения. Данные клиента содержат данные, которые в настоящий момент используются клиентом, и соответствующие резервные данные. Когда данные клиента переводятся из одного местоположения в другое, местоположение и время сохраняются в предыстории 21, к которой можно осуществлять доступ, чтобы определить местоположение данных клиента в требуемое время. Различные операции запускают сохранение местоположения/времени в предыстории. В общем, действие, которое изменяет местоположение данных клиента, запускает сохранение местоположения в предыстории (например, модернизация пула (фермы), перемещение клиента, добавление клиента, выравнивание нагрузки для данных и т.п.). Когда данные клиента необходимы для функционирования (например, для восстановления), к предыстории можно осуществлять доступ, чтобы определять местоположение этих данных. Больше подробностей относительно диспетчера резервного копирования раскрывается ниже.
Фиг. 2 показывает систему, предназначенную для поддержания местоположения данных клиента при перемещениях клиента. Как иллюстрируется, система 200 включает в себя службу 210, устройство 220 хранения данных (ds220), устройство 230 хранения данных (ds230) и вычислительное устройство 240.
Используемые вычислительные устройства могут быть вычислительным устройством любого типа, которое выполнено с возможностью выполнения операций, относящихся к использованию вычислительного устройства. Например, некоторые из вычислительных устройств могут быть: мобильными вычислительными устройствами (например, сотовыми телефонами, планшетами, смартфонами, портативными компьютерами и т.п.); некоторые могут быть настольными вычислительными устройствами, а другие вычислительные устройства могут быть выполнены как серверы. Некоторые вычислительные устройства могут быть выполнены с возможностью обеспечения онлайновой облачной службы (например, службы 210), некоторые могут быть выполнены как совместно используемые ресурсы данных, которые обеспечивают службы хранения данных, некоторые могут быть выполнены в локальных сетях, некоторые могут быть выполнены в сетях, доступных через Интернет, и т.п.
Вычислительные устройства соединены через сеть 18. Сеть 18 может быть сетями множества различных типов. Например, сеть 18 может быть IP-сетью, коммуникационной сетью для сотовой связи и т.п. В общем, сеть 18 используется для передачи данных между вычислительными устройствами, такими как вычислительное устройство 240, устройство 220 хранения данных, устройство 230 хранения данных и служба 210.
Вычислительное устройство 240 включает в себя приложение 242, Web-браузер 244 и пользовательский интерфейс 246. Как иллюстрируется, вычислительное устройство 240 используется пользователем, чтобы взаимодействовать со службой, такой как служба 210. В соответствии с вариантом осуществления служба 210 является службой, работающей в режиме коллективной аренды. В общем, работа в режиме коллективной аренды относится к изоляции данных (включая резервные копии), использованию и административному управлению между потребителями. Другими словами, данные от одного потребителя (клиенты 1) не доступны для другого потребителя (клиенты 2) даже при том, что данные от каждого из клиента могут храниться в пределах одной и той же базы данных в одном и том же устройстве хранения данных.
Пользовательский интерфейс (UI) 246 используется для того, чтобы взаимодействовать с различными приложениями, которые могут быть локальными/нелокальными для вычислительного устройства 240. Один или несколько пользовательских интерфейсов одного или несколько типов могут использоваться для взаимодействия с документом. Например, UI 246 может включать в себя использование контекстного меню, меню в пределах строки меню, пункта меню, выбранного из ленточного пользовательского интерфейса, графического меню и т.п. В общем, UI 246 выполнен таким образом, что пользователь может легко взаимодействовать с функциональными возможностями приложения. Например, пользователь может просто выбрать элемент выбора в UI 246, чтобы выбрать восстановление данных клиента, которые поддерживаются службой 210.
Устройство 220 хранения данных и устройство 230 хранения данных выполнены с возможностью хранения данных клиента. Устройства хранения данных доступны для различных вычислительных устройств. Например, сетевые устройства хранения данных могут быть ассоциированы с онлайновой службой, которая поддерживает онлайновые службы деловой точки решения задач. Например, онлайновая служба может обеспечивать услуги передачи данных, услуги обработки текста, услуги электронной таблицы и т.п.
Как иллюстрируется, устройство 220 хранения данных включает в себя данные клиента, включающие в себя соответствующие резервные данные для N различных клиента. Устройство хранения данных может сохранять все/часть данных клиента. Например, некоторые клиенты могут использовать больше чем одно устройство хранения данных, тогда как другие клиенты совместно используют устройство хранения данных со многими другими клиентами. Хотя соответствующие резервные данные для клиента иллюстрируются в пределах того же самого устройства хранения данных, резервные данные могут храниться в других местоположениях. Например, одно устройство хранения данных может использоваться для хранения данных клиента и одно или несколько других устройств хранения данных могут использоваться для хранения соответствующих резервных данных.
Устройство 230 хранения данных иллюстрирует местоположение подлежащих переводу данных клиента и подлежащих переводу резервных данных из другого устройства хранения данных. В представленном примере данные 2 клиента и соответствующие резервные данные переводятся из устройства 220 хранения данных в устройство 230 хранения данных. Резервные данные для клиента 3 переводятся из устройства 220 хранения данных в устройство 230 хранения данных. Данные 8 клиента переводятся из устройства 220 хранения данных в устройство 230 хранения данных. Изменение местоположения может происходить по разным причинам. Например, для клиента может быть необходимо больше пространства, в устройствах хранения данных может происходить выравнивание нагрузки, пул, в котором располагается клиент, может обновляться, в работе устройства хранения данных может возникнуть неисправность, база данных может быть перемещена/обновлена и т.п. Перемещение данных клиента может быть вызвано множеством других сценариев. Как можно видеть из представленного примера, данные клиента могут храниться в одном устройстве хранения данных, а соответствующие резервные данные могут храниться в другом устройстве хранения данных.
Служба 210 включает в себя диспетчера 26 резервного копирования, предысторию 212 и Web-приложение 214, которое содержит Web-рендерер 216 (средство визуализации Web). Служба 210 выполнена как онлайновая служба, которая выполнена с возможностью предоставления услуг, относящихся к отображению взаимодействия с данными от множества клиента. Служба 210 обеспечивает совместно используемую инфраструктуру для множества клиента. В соответствии с вариантом осуществления служба 210 представляет собой службу SHAREPOINT ONLINE от MICROSOFT. Различные клиенты могут размещать свои Web-приложения/семейство Web-сайтов, используя службу 210. Клиент также может осуществлять использование выделенным эксклюзивным образом или в сочетании с услугами, предоставляемыми службой 210. Web-приложение 214 выполнено с возможностью приема и реагирования на запросы, относящиеся к данным. Например, служба 210 может осуществлять доступ к данным клиента, которые хранятся в сетевом устройстве 220 хранения данных и/или сетевом устройстве 230 хранения данных. Web-приложение 214 действует для обеспечения интерфейса для пользователя вычислительного устройства, такого как вычислительное устройство 240, чтобы взаимодействовать с данными, доступными через сеть 18. Web-приложение 214 может осуществлять связь с другими серверами, которые используются для выполнения операций, относящихся к этой службе.
Служба 210 принимает запросы от вычислительных устройств, таких как вычислительное устройство 240. Вычислительное устройство может передавать запрос в службу 210, чтобы взаимодействовать с документом и/или с другими данными. В ответ на такой запрос Web-приложение 214 получает данные из местоположения, такого как сетевое устройство 230 хранения данных. Данные для выведения на экран преобразовываются в формат языка разметки, такой как формат ISO/IEC 29500. Данные могут быть преобразованы службой 210 или одним или несколькими другими вычислительными устройствами. Как только Web-приложение 214 принимает представление языка разметки данных, служба использует Web-рендерер 216, чтобы преобразовать отформатированный языком разметки документ в представление данных, которое может быть воспроизведено приложением Web-браузера, таким как Web-браузер 244, на вычислительном устройстве 240. Воспроизводимые данные оказываются по существу подобными выходным данным соответствующего приложения для настольного компьютера, когда используются для просмотра тех же самых данных. Как только Web-рендерер 216 завершает визуализацию файла, он возвращается службой 210 на запрашивающее вычислительное устройство, на котором он может быть визуально воспроизведен Web-браузером 244.
Web-рендерер 216 также выполнен с возможностью преобразования для просмотра в файл языка разметки одного или нескольких сценариев (скриптов) для того, чтобы позволить пользователю вычислительного устройства, такого как вычислительное устройство 240, взаимодействовать с данными в пределах контекста Web-браузера 244. Web-рендерер 216 функционирует, чтобы преобразовывать для просмотра код сценария, который исполняется приложением 244 Web-браузера, в возвращаемую Web-страницу. Сценарии могут обеспечивать функциональные возможности, например, для того, чтобы позволять пользователю изменять раздел данных и/или модифицировать значения, которые связаны с данными. В ответ на конкретные типы ввода данных пользователем могут выполняться сценарии. Когда исполняется сценарий, реакция системы может быть передана в службу 210, указывая, что на документ воздействовали, чтобы идентифицировать тип взаимодействия, которое было сделано, и дополнительно идентифицировать для Web-приложения 214 функцию, которая должна быть выполнена в отношении этих данных.
В ответ на операцию, которая вызывает изменение в местоположении данных клиента, диспетчер 26 резервного копирования помещает введенные данные в предысторию 212. Предыстория 212 поддерживает запись местоположений для данных клиента и соответствующих резервных данных. В соответствии с вариантом осуществления предыстория 212 сохраняет имя базы данных и местоположение, которое используется для хранения данных клиента, имя и размещение местоположения резервной копии для данных клиента, и время, которое данные хранят в этом местоположении (см. фиг. 3 и связанное с ней обсуждение). Информация предыстории может сохраняться различными способами. Например, записи предыстории для каждого клиента могут храниться в базе данных, информация предыстории может храниться в файле данных и т.п.
В соответствии с вариантом осуществления диспетчер 26 резервного копирования выполнен с возможностью выполнения полных резервных копий данных клиента и инкрементных резервных копий и регистраций в журнале транзакций между периодами времени полных резервных копий. Планирование полных резервных копий является реконфигурируемым. В соответствии с вариантом осуществления полные резервные копии выполняются еженедельно, инкрементные резервные копии выполняются ежедневно, а транзакции сохраняются каждые пять минут. Также могут использоваться другие календарные планы, и они могут быть реконфигурируемыми. Различные резервные копии могут быть сохранены в одном и том же местоположении и/или в различных местоположениях. Например, полные резервные копии могут сохраняться в первом местоположении, а инкрементные резервные копии и журналы транзакций могут сохраняться в другом местоположении.
Фиг. 3 показывает предысторию, включающую в себя записи для изменений местоположения данных клиента. Предыстория 300 включает в себя записи для каждой клиента, в отношении которой выполняется управление. С целью приведения примера предыстория 300 показывает записи предысторий для клиента 1 (310), клиента 2 (320) и клиента 8 (330).
Как иллюстрируется, запись 310 предыстории создавалась в ответ на добавление клиента 1. В соответствии с вариантом осуществления запись предыстории содержит поля для местоположения контента, времени, местоположения резервной копии и времени. Местоположение контента предоставляет информацию о том, где сохранен контент клиента (например, имя базы данных, URL (унифицированный указатель ресурса) для местоположения контента и т.п.). Поле Время 1 указывает последнее время, когда данные клиента были в указанном местоположении. В соответствии с вариантом осуществления, когда поле Время 1 пусто, для записи используется значение Время 2. Когда поле Время 1 и поле Время 2 пусты оба, данные все еще располагаются в местоположении контента и местоположении резервной копии, указанных в записи. Поле местоположения резервной копии определяет местоположение того места, где располагается резервная копия для контента. Поле Время 2 определяет последнее время, когда резервные данные клиента были в определенном местоположении.
Что касается предыстории для клиента 1 (310), то видно, что данные клиента 1 располагаются в местоположении контента "Контент 12" (например, имя базы данных) и что резервные данные для данных клиента 1 располагаются в местоположении "Резервные копии\ds220\Контент 12". В этом случае данные клиента 1 не изменили местоположение, поскольку клиент 1 был добавлен.
Данные клиента 2 изменили местоположение от "Контента 12" к "Контенту 56" и к "Контенту 79". До 10:00 04.03.2010 и после 1:04 02.01.2010 данные хранятся в "Контенте 56", а соответствующие резервные данные хранятся в местоположении "Резервные копии\ds220\Контент 56". До 1:04 02.01.2010 данные хранятся в "Контенте 12", а соответствующие резервные данные хранятся в местоположении "Резервные копии\ds220\Контент 12".
Данные клиента 3 изменили местоположения от "Контента 12" к "Контенту 15". Соответствующие резервные данные изменились от местоположения "Резервные копии\ds220\Контент 12" к местоположению "Резервные копии\ds220\Контент 15" и к местоположению "Резервные копии\ds230\Контент 79". Данные клиента 3 хранятся в "Контенте 15" после 7:35 12.03.2010. До 1:22 24.03.2010 и после 7:35 3.12.2010 соответствующие резервные данные хранятся в местоположении "Резервные копии\ds220\Контент 15". До 7:35 12.03.2010 данные хранятся в "Контенте 12", а соответствующие резервные данные хранятся в местоположении "Резервные копии\ds220\Контент 12". В этом примере местоположение резервных данных клиента 3 изменилось без изменения местоположения данных клиента от "Контента 15".
Могут быть использованы многие другие способы, чтобы сохранять информацию, относящуюся к местоположению данных клиента. Например, поле времени может включать в себя время начала и время окончания, время начала и отсутствие времени окончания или время окончания и отсутствие времени начала. Местоположение может быть указано как имя, идентификатор, URL и т.п. Также могут быть включены другие поля, такие как поле размера, количество полей записей, последнее поле, доступ к которому обеспечивался, и т.п.
Фиг. 4 и 5 показывают иллюстративный процесс для восстановления данных клиента при перемещениях клиента. Читая обсуждение процедур, представленных в данном документе, следует учесть, что логические операции различных вариантов осуществления реализуются (1) как последовательность реализуемых компьютером действий или программные модули, исполняемые на вычислительной системе, и/или (2) как взаимосвязанные логические схемы вычислительной машины или схемные модули в пределах вычислительной системы. Реализация представляет вопрос выбора, зависящий от требований по рабочим характеристикам вычислительной системы, реализующей изобретение. Соответственно, иллюстрируемые логические операции и формирование вариантов осуществления, описанных в данном документе, упоминаются различным образом как операции, структурные устройства, действия или модули. Эти операции, структурные устройства, действия и модули могут быть реализованы в программном обеспечении, во встроенном программном обеспечении (firmware), в цифровых логических схемах специального назначения и в любом их сочетании.
Фиг. 4 иллюстрирует процесс обновления предыстории изменения местоположения данных клиента.
После начального блока процесс 400 переходит к операции 410, на которой делается определение, что операция изменила местоположение данных клиента. Изменение может относиться ко всем/части данных клиента. Изменение в местоположении данных клиента может быть вызвано множеством различных операций. Например, добавление клиента, модернизация пула, перемещение клиента, выравнивание нагрузки для данных клиента, выравнивание нагрузки для соответствующих резервных данных, выполнение операций технического обслуживания, неисправность и т.п. В общем, определяется любая операция, которая вызывает изменение местоположений данных клиента и/или соответствующих резервных данных.
Перейдем к операции 420, на которой осуществляют доступ к предыстории для клиента, данные которой изменяют местоположение. К предыстории можно осуществить доступ в пределах локального устройства хранения данных, совместно используемого устройства хранения данных и/или некоторого другого хранилища данных.
Переходя к операции 430, отметим, что на ней обновляется предыстория для клиента, чтобы отразить текущее состояние и любые предыдущие состояния данных клиента. В соответствии с вариантом осуществления каждый клиент включает в себя таблицу, указывающую ее соответствующую предысторию. Предыстория может быть сохранена с использованием множества различных способов, использующих множество различных типов структур. Например, предыстория может быть сохранена в запоминающем устройстве, файле, электронной таблице, базе данных и т.п. Записи предыстории также могут объединяться в пределах устройства хранения данных, например, внутри списка, электронной таблицы и т.п. В соответствии с вариантом осуществления запись предыстории содержит поля для местоположения контента, времени, местоположения резервной копии и времени. Местоположение контента предоставляет информацию о том, где хранится контент клиента (например, имя базы данных, URL для местоположения контента и т.п.). Поле Время 1 указывает последнее время, в которое данные клиента были в указанном местоположении. В соответствии с вариантом осуществления, когда поле Время 1 пусто, значение Время 1 является таким же, как поле Время 2. Когда поле Время 1 и поле Время 2 пусты, данные все еще располагаются в местоположении контента и местоположении резервной копии. Поле местоположения резервной копии указывает местоположение того, где располагается резервная копия для контента. Поле Время 2 указывает последнее время, когда резервные данные клиента были в указанном местоположении.
Затем процесс переходит к конечному блоку и возвращается к обработке других действий.
Фиг. 5 показывает процесс обработки запроса на восстановление данных клиента из предыдущего местоположения.
После начального блока процесс переходит к операции 510, на которой принимается запрос на восстановление данных клиента. Например, клиент может случайно удалить данные, которые он хотел бы восстановить. В соответствии с вариантом осуществления запрос включает в себя время, указывающее, когда положительно данные были удалены. В соответствии с другим вариантом осуществления может быть дан интервал времени. В соответствии с еще одним вариантом осуществления может выполняться поиск данных в каждом местоположении в пределах предыстории клиента без обеспечения в запросе времени.
Перейдем к операции 520, на которой к предыстории для клиента осуществляют доступ, чтобы определить, где располагаются данные. Как обсуждалось выше, предыстория включает в себя текущее местоположение данных клиента и соответствующих резервных данных и каждое из предыдущих местоположений данных.
Переходя к операции 530, отметим, что на ней данные клиента восстанавливаются во временное местоположение так, что текущие данные клиента не перезаписываются нежелательными предыдущими данными.
Перейдем к операции 540, на которой запрошенные данные извлекаются из временного местоположения и восстанавливаются в текущем местоположении данных клиента. Данные во временном местоположении могут быть стерты.
Затем процесс переходит к конечному блоку и возвращается к обработке других действий.
Приведенные выше описание изобретения, примеры и данные обеспечивают полное описание изготовления и использования структуры изобретения. Поскольку многие варианты осуществления изобретения могут быть выполнены без отступления от существа и объема настоящего изобретения, изобретение заключается в прилагаемой формуле изобретения.