СПОСОБ И УСТРОЙСТВО ДЛЯ РЕЗЕРВНОГО КОПИРОВАНИЯ ФАЙЛА
METHOD AND DEVICE FOR FILE BACKUP

[0001] Настоящая заявка испрашивает приоритет и основывается на китайской заявке на патент CN № 201410429701.7, поданной 27 августа 2014 года, содержание которой полностью включено в настоящую заявку в качестве ссылки.
ОБЛАСТЬ ТЕХНИКИ
[0002] Настоящее изобретение относится, в общем, к области хранения данных, и в частности, к способам и устройствам для резервного копирования файла.
УРОВЕНЬ ТЕХНИКИ
[0003] Из-за широкого применения и популярности мобильных устройств продолжает расти потребность в автоматическом резервном копировании файлов. Однако поскольку объемов локальной памяти в мобильных устройствах часто недостаточно, желательно автоматически выполнять резервное копирование файлов с мобильных устройств на устройства с достаточными объемами памяти, такие как локальные серверы или интеллектуальные маршрутизаторы.
[0004] Однако на практике файлы с разными путями доступа к файлу часто фактически являются одним и тем же файлом. В таком случае при попытке автоматического резервного копирования локального файла с мобильного устройства на локальный сервер или интеллектуальный маршрутизатор резервные копии для одного и того же файла могут создаваться = повторяться.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
[0005] В целях решения проблемы известного уровня техники настоящее изобретение предлагает способы и устройства для резервного копирования файла.
[0006] Согласно первому аспекту вариантов осуществления настоящего изобретения предлагается способ резервного копирования файла, включающий в себя:
[0007] определение хеш-значения файла в соответствии с заданным алгоритмом;
[0008] запрос по определенному хеш-значению в локальной базе данных резервного копирования; и
[0009] если обнаружено, что хеш-значение записано в локальной базе данных резервного копирования, то отмена резервного копирования файла на сервер резервного копирования.
[0010] Если требуется, определение хеш-значения файла в соответствии с заданным алгоритмом включает в себя:
[0011] выполнение оценивание того, не превышает ли или равен ли размер файла заданному пороговому значению;
[0012] если установлено, что размер файла превышает или равен заданному пороговому значению, выполняют извлечение нескольких фрагментов файла из файла и определяют хеш-значение, относящееся к нескольким фрагментам файла, в качестве хеш-значения файла; и
[0013] если установлено, что размер файла меньше заданного порогового значения, выполняют определение хеш-значения, относящегося к файлу, в качестве хеш-значения файла.
[0014] Если требуется, извлечение нескольких фрагментов файла из файла включает в себя:
[0015] равномерное извлечение из файла нескольких фрагментов файла, каждый из которых имеет заданный размер,
[0016] где количество байтов, занимаемых каждым из фрагментов файла, меньше заданного порогового значения.
[0017] Если требуется, способ дополнительно включает в себя:
[0018] если обнаружено, что хеш-значение не записано в базе данных локального резервного копирования, выполняют загрузку файла, соответствующего хеш-значению, на сервер резервного копирования, и после загрузки файла, соответствующего хеш-значению, на сервер резервного копирования, сохранение определенного хеш-значения в базе данных локального резервного копирования.
[0019] Если требуется, способ дополнительно включает в себя:
[0020] после успешной загрузки файла, соответствующего хеш-значению, на сервер резервного копирования, пометку хеш-значения в качестве загруженного в базу данных локального резервного копирования.
[0021] Если требуется, до отмены резервного копирования файла на сервер резервного копирования, данный способ дополнительно включает в себя:
[0022] запрос о том, помечено ли хеш-значение как загруженное в базу данных локального резервного копирования;
[0023] если обнаружено, что хеш-значение помечено как загруженное, отмену резервного копирования файла на сервер резервного копирования;
[0024] если обнаружено, что хеш-значение не помечено как загруженное, выполнение запроса на сервер резервного копирования о том, успешно ли загружен файл, соответствующий хеш-значению;
[0025] если обнаружено, что файл, соответствующий хеш-значению, успешно загружен, пометку хеш-значения в качестве загруженного в базу данных локального резервного копирования и отмену резервного копирования файла на сервер резервного копирования; и
[0026] если обнаружено, что файл, соответствующий хеш-значению, не был успешно загружен, выполнение резервного копирования файла на сервер резервного копирования.
[0027] Если требуется, способ дополнительно включает в себя:
[0028] запись данных о свойствах файла в базу данных локального резервного копирования, в которой данные о свойствах содержат время внесения последних изменений и размер файла; и
[0029] когда данные о свойствах файла отличаются от данных о свойствах файла, записанных в базе данных локального резервного копирования, выполняют обновление хеш-значения и данных о свойствах файла, записанных в базе данных локального резервного копирования.
[0030] Согласно второму аспекту вариантов осуществления настоящего изобретения предлагается способ резервного копирования файла, включающий в себя:
[0031] прием запроса на получение сведений, загруженного с терминала, в котором запрос на получение сведений содержит хеш-значение;
[0032] запрос хеш-значения в базе данных локального резервного копирования; и
[0033] если обнаружено, что хеш-значение записано в базе данных локального резервного копирования, информирование терминала об успешной загрузке файла, соответствующего хеш-значению.
[0034] Если требуется, способ дополнительно включает в себя:
[0035] определение хеш-значения файла, загруженного терминалом, в соответствии с заданным алгоритмом; и
[0036] после успешного локального резервного копирования файла сохранение определенного хеш-значения в базе данных локального резервного копирования.
[0037] Если требуется, определение хеш-значения файла, загруженного терминалом, в соответствии с заданным алгоритмом, включает в себя:
[0038] оценивание того, не превышает ли или равен ли размер файла заданному пороговому значению;
[0039] если установлено, что размер файла превышает или равен заданному пороговому значению, выполняют извлечение нескольких фрагментов файла из файла и определяют хеш-значение в отношении нескольких фрагментов файла, в качестве хеш-значения файла; и
[0040] если установлено, что размер файла меньше заданного порогового значения, выполняют определение хеш-значения в отношении файла в качестве хеш-значения файла.
[0041] Если требуется, извлечение нескольких фрагментов файла из файла включает в себя:
[0042] равномерное извлечение из файла нескольких фрагментов файла, каждый из которых имеет заданный размер, в котором количество байтов, занимаемых каждым из фрагментов файла, меньше заданного порогового значения.
[0043] Согласно третьему аспекту вариантов осуществления настоящего изобретения предлагается устройство для резервного копирования файла, включающее в себя:
[0044] первый модуль определения, предназначенный для определения хеш-значения файла в соответствии с заданным алгоритмом;
[0045] первый модуль запроса, предназначенный для выполнения запроса установленного хеш-значения в базе данных локального резервного копирования; и
[0046] модуль обработки, предназначенный для отмены резервного копирования файла на сервер резервного копирования, если обнаружено, что хеш-значение записано в базе данных локального резервного копирования.
[0047] Если требуется, первый модуль определения включает в себя:
[0048] первый оценивающий подмодуль, предназначенный для оценивания, не превышает ли или равен ли размер файла заданному пороговому значению;
[0049] первый определяющий подмодуль, предназначенный для, извлечения нескольких фрагментов файла из файла и определения хеш-значения, в отношении нескольких фрагментов файла в качестве хеш-значения файла, если установлено размер файла превышает или равен заданному пороговому значению; и
[0050] второй определяющий подмодуль, предназначенный для определения хеш-значения, в отношении файла в качестве хеш-значения файла, если установлено, что размер файла меньше заданного порогового значения.
[0051] Если требуется, первый определяющий подмодуль включает в себя:
[0052] первый извлекающий подмодуль, предназначенный для равномерного извлечения из файла нескольких фрагментов файла, каждый из которых имеет заданный размер, в котором количество байтов, занимаемых каждым из фрагментов файла, меньше заданного порогового значения.
[0053] Если требуется, данное устройство дополнительно включает в себя:
[0054] модуль загрузки, предназначенный для загрузки файла, соответствующего хеш-значению, на сервер резервного копирования, если обнаружено, что хеш-значение не записано в базе данных локального резервного копирования, и
[0055] первый модуль сохранения, предназначенный для сохранения хеш-значения в базе данных локального резервного копирования, после загрузки файла, соответствующего хеш-значению, на сервер резервного копирования.
[0056] Если требуется, устройство дополнительно включает в себя:
[0057] модуль пометки, предназначенный для пометки хеш-значения в качестве загруженного в базу данных локального резервного копирования после успешной загрузки файла, соответствующего хеш-значению, на сервер резервного копирования.
[0058] Если требуется, модуль обработки включает в себя:
[0059] первый запрашивающий подмодуль, предназначенный для выполнения запроса о том, помечено ли хеш-значение как загруженное в базу данных локального резервного копирования, до отмены резервного копирования файла на сервер резервного копирования,
[0060] обрабатывающий подмодуль, предназначенный для отмены резервного копирования файла на сервер резервного копирования, если обнаружено, что хеш-значение помечено как загруженное,
[0061] второй запрашивающий подмодуль, предназначенный для направления запроса с помощью сервера резервного копирования о том, был ли успешно загружен файл, соответствующий хеш-значению, если обнаружено, что хеш-значение не помечено как загруженное;
[0062] первый подмодуль пометки, предназначенный для пометки хеш-значения в качестве загруженного в базу данных локального резервного копирования и отмены резервного копирования файла на сервер резервного копирования, если обнаружено, что файл, соответствующий хеш-значению, успешно загружен, и
[0063] подмодуль резервного копирования, предназначенный для резервного копирование файла на сервер резервного копирования, если обнаружено, что файл, соответствующий хеш-значению, не был успешно загружен.
[0064] Если требуется, устройство включает в себя:
[0065] модуль записи, предназначенный для записи данных о свойствах файла в базу данных локального резервного копирования, в которой данные о свойствах содержат время внесения последних изменений и размер файла; и
[0066] модуль обновления, предназначенный для обновления хеш-значения и данных о свойствах файла, записанных в базе данных локального резервного копирования, когда данные о свойствах файла отличаются от данных о свойствах, записанных в базе данных локального резервного копирования.
[0067] Согласно четвертому аспекту вариантов осуществления настоящего изобретения предлагается устройство для резервного копирования файла, включающее в себя:
[0068] принимающий модуль, предназначенный для приема запроса на получение сведений, загруженного с терминала, в котором запрос на получение сведений содержит хеш-значение;
[0069] второй модуль запроса, предназначенный для выполнения запроса хеш-значения в резервной базе данных локального резервного копирования; и
[0070] информирующий модуль, предназначенный для информирования терминала об успешной загрузке файла, соответствующего хеш-значению, если обнаружено, что хеш-значение записано в базе данных локального резервного копирования.
[0071] Если требуется, устройство включает в себя:
[0072] второй модуль определения, предназначенный для определения хеш-значения файла, загруженного терминалом, в соответствии с заданным алгоритмом; и
[0073] второй модуль сохранения, предназначенный для сохранения установленного хеш-значения в базе данных локального резервного копирования, после успешного локального резервного копирования файла.
[0074] Если требуется, второй модуль определения включает в себя:
[0075] второй оценивающий подмодуль, предназначенный для того, чтобы установить, не превышает ли или равен ли размер файла заданному пороговому значению;
[0076] третий определяющий подмодуль, предназначенный для извлечения нескольких фрагментов файла из файла и определение хеш-значения, в отношении нескольких фрагментов файла в качестве хеш-значения файла, если установлено, что размер файла превышает или равен заданному пороговому значению, и
[0077] четвертый определяющий подмодуль, предназначенный для определения хеш-значения, относящегося к файлу, в качестве хеш-значения файла, если установлено, что размер файла меньше заданного порогового значения.
[0078] Если требуется, третий определяющий подмодуль включает в себя:
[0079] второй извлекающий подмодуль, предназначенный для равномерного извлечения из файла нескольких фрагментов файла, каждый из которых имеет заданный размер, в котором количество байтов, занимаемых каждым из фрагментов файла, меньше заданного порогового значения.
[0080] Согласно пятому аспекту вариантов осуществления настоящего изобретения предлагается устройство для резервного копирования файла, которое включает в себя:
[0081] процессор; и
[0082] запоминающее устройство для хранения инструкций, выполняемых процессором,
[0083] причем процессор предназначен для
[0084] определения хеш-значения файла в соответствии с заданным алгоритмом;
[0085] выполнение запроса определенного хеш-значения в базе данных локального резервного копирования; и
[0086] если обнаружено, что хеш-значение записано в базе данных локального резервного копирования, отмену резервного копирования файла на сервер резервного копирования.
[0087] Согласно шестому аспекту вариантов осуществления настоящего изобретения предлагается устройство для резервного копирования файла, включающее в себя:
[0088] процессор; и
[0089] запоминающее устройство для хранения инструкций, выполняемых процессором,
[0090] где процессор предназначен для
[0091] приема запроса на получение сведений, загруженного с терминала, где запрос на получение сведений содержит хеш-значение;
[0092] запроса хеш-значения в базе данных локального резервного копирования; и
[0093] если обнаружено, что хеш-значение записано в базе данных локального резервного копирования, информирование терминала об успешной загрузке файла, соответствующего хеш-значению.
[0094] Преимущества, обеспечиваемые вариантами осуществления настоящего изобретения, включают в себя следующее:
[0095] В вышеизложенных вариантах осуществления настоящего изобретения хеш-значение определяется для файла при помощи заданного алгоритма, и выполняется запрос хеш-значения в базе данных локального резервного копирования. Если обнаруживается, что хеш-значение записано в базе данных локального резервного копирования, это отменяет резервное копирование файла на сервер резервного копирования, тем самым позволяя избежать повторного резервного копирования одного и того же файла с разными путями доступа к файлу.
[0096] В вышеизложенных вариантах осуществления настоящего изобретения при определении хеш-значения файла при помощи заданного алгоритма файл используется вместе с процессом сравнению с пороговым значением. Если размер файла превышает заданное пороговое значение, несколько фрагментов файла извлекаются из файла, и хеш-значение определяется в отношении нескольких фрагментов файла как хеш-значение файла. Таким образом можно эффективно снизить рабочую нагрузку по выполнению вычислений при определении хеш-значения файла, если размер файла слишком большой, и тем самым снизить потребление энергии устройством.
[0097] В вышеизложенных вариантах осуществления настоящего изобретения посредством извлечения из файла равномерно распределенных фрагментов файла, каждый из которых имеет размер менее заданного порогового значения, можно обеспечить максимально возможное соответствие между хеш-значением определенным в отношении фрагментов файла, и хеш-значением определенным в отношении файла. Кроме того, может снизиться рабочая нагрузка по выполнению вычислений при определении хеш-значения.
[0098] В вышеизложенных вариантах осуществления настоящего изобретения, если хеш-значение не находится в базе данных локального резервного копирования, посредством загрузки файла, соответствующего хеш-значению, на сервер резервного копирования и сохранения хеш-значения в базе данных локального резервного копирования, когда вот-вот произойдет резервное копирование одного и того же файла с разными путями доступа к файлу, можно найти установленное хеш-значение в базе данных локального резервного копирования. Таким образом можно избежать повторного резервного копирования одного и того же файла с разными путями доступа к файлу.
[0099] В вышеизложенных вариантах осуществления настоящего изобретения после успешной загрузки файла, соответствующего хеш-значению, на сервер резервного копирования хеш-значение помечается как загруженное в базу данных локального резервного копирования. Таким образом, о загрузке файла можно узнать, выполнив запрос хеш-значения в базе данных локального резервного копирования.
[0100] В вышеизложенных вариантах осуществления настоящего изобретения до отмены резервного копирования файла на сервер резервного копирования выполняется запрос о том, помечено ли хеш-значение как загруженное в базу данных локального резервного копирования. Если оно помечено как загруженное, это отменяет резервное копирование файла на сервер резервного копирования; а если оно не помечено как загруженное, направляется дополнительный запрос серверу резервного копирования о том, был ли успешно загружен файл. Когда определяется, что файл успешно загружен, это отменяет резервное копирование файла на сервер резервного копирования; а когда определяется, что файл не был успешно загружен, выполняется резервное копирование файла на сервер резервного копирования. Таким образом, можно избежать сбоев в работе из-за неудачной загрузки.
[0101] В вышеизложенных вариантах осуществления настоящего изобретения данные о свойствах, такие как время внесения последних изменений и размер файла, записываются в базу данных локального резервного копирования, а когда данные о свойствах файла отличаются от локально записанных данных о свойствах, хеш-значение и данные о свойствах файла, записанные в базе данных локального резервного копирования, обновляются. Таким образом можно избежать неправильной оценки при резервном копировании файла.
[0102] В вышеизложенных вариантах осуществления настоящего изобретения посредством выполнения в базе данных локального резервного копирования запроса хеш-значения, содержащегося в запросе на получение сведений, полученном от терминала, и информирования терминала о том, что файл, соответствующий хеш-значению, успешно загружен, если хеш-значение записано в базе данных локального резервного копирования, можно избежать сбоев в работе терминала, вызванных неудачной загрузкой файла, т.е. многократного резервного копирования одного и того же файла с разными путями доступа к файлу на сервер резервного копирования.
[0103] В вышеизложенных вариантах осуществления настоящего изобретения хеш-значение файла, загруженного терминалом, определяется при помощи заданного алгоритма, а после успешного локального резервного копирования файла определенное хеш-значение сохраняется в базе данных локального резервного копирования. Таким образом, когда сервер резервного копирования еще раз находит хеш-значение в базе данных локального резервного копирования, можно информировать соответствующий терминал об успешной загрузке файла, соответствующего хеш-значению.
[0104] В вышеизложенных вариантах осуществления настоящего изобретения при определении хеш-значения файла при помощи заданного алгоритма файл используется вместе с процессом сравнения с пороговым значением. Если размер файла превышает заданное пороговое значение, несколько фрагментов файла извлекаются из файла, и хеш-значение определяется в отношении к нескольким фрагментам файла как хеш-значение файла. Таким образом, можно эффективно снизить рабочую нагрузку по выполнению вычислений при определении хеш-значения файла, если размер файла слишком большой, и тем самым снизить потребление энергии устройством.
[0105] В вышеизложенных вариантах осуществления настоящего изобретения посредством извлечения из файла равномерно распределенных фрагментов файла, каждый из которых имеет размер менее заданного порогового значения, можно обеспечить максимально возможное соответствие между хеш-значением, определяемым в отношении фрагментов файла, и хеш-значением, определяемым в отношении файла. Кроме того, может снизиться рабочая нагрузка по выполнению вычислений при определении хеш-значения.
[0106] Необходимо понимать, что как вышеизложенное общее описание, так и нижеизложенное подробное описание являются всего лишь иллюстративными и пояснительными и не могут ограничивать настоящее изобретение.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0107] Сопроводительные чертежи, включенные в данное описание и составляющие его часть, иллюстрируют варианты осуществления изобретения, соответствующие настоящему изобретению, и наряду с описанием служат для объяснения принципов изобретения.
[0108] Фиг. 1 представляет функциональную блок-схему способа резервного копирования файла согласно примеру осуществления.
[0109] Фиг. 2 представляет функциональную блок-схему другого способа резервного копирования файла согласно примеру осуществления.
[0110] Фиг. 3 представляет функциональную блок-схему другого способа резервного копирования файла согласно примеру осуществления.
[0111] Фиг. 4 представляет схему извлечения фрагментов файла из видеофайла согласно примеру осуществления.
[0112] Фиг. 5 представляет структурную блок-схему устройства для резервного копирования файла согласно примеру осуществления.
[0113] Фиг. 6 представляет структурную блок-схему устройства для резервного копирования файла согласно примеру осуществления.
[0114] Фиг. 7 представляет структурную блок-схему устройства для резервного копирования файла согласно примеру осуществления.
[0115] Фиг. 8 представляет структурную блок-схему устройства для резервного копирования файла согласно примеру осуществления.
[0116] Фиг. 9 представляет структурную блок-схему устройства для резервного копирования файла согласно примеру осуществления.
[0117] Фиг. 10 представляет структурную блок-схему устройства для резервного копирования файла согласно примеру осуществления.
[0118] Фиг. 11 представляет структурную блок-схему устройства для резервного копирования файла согласно примеру осуществления.
[0119] Фиг. 12 представляет структурную блок-схему устройства для резервного копирования файла согласно примеру осуществления.
[0120] Фиг 13 представляет структурную блок-схему устройства для резервного копирования файла согласно примеру осуществления изобретения;
[0121] Фиг. 14 представляет структурную блок-схему устройства для резервного копирования файла согласно примеру осуществления.
[0122] Фиг. 15 представляет структурную блок-схему устройства для резервного копирования файла согласно примеру осуществления.
[0123] Фиг. 16 представляет структурную блок-схему конфигурации устройства для резервного копирования файла согласно примеру осуществления.
[0124] Фиг. 17 представляет еще одну структурную блок-схему выполнения устройства для резервного копирования файла согласно примеру осуществления.
ПОДРОБНОЕ ОПИСАНИЕ
[0125] Ниже подробно рассматриваются примеры осуществления, проиллюстрированные на сопроводительных чертежах. Нижеизложенное описание ссылается на сопроводительные чертежи, на которых одни и те же позиции на разных чертежах обозначают одни и те же или аналогичные элементы, если не определено иное. Исполнения, изложенные в приведенном ниже описании примеров осуществления изобретения, не являются всеми возможными исполнениями, соответствующими изобретению. Наоборот, это всего лишь примеры устройств и способов, соответствующих аспектам относящихся к изобретению как изложено в прилагаемой формуле изобретения.
[0126] Термины, используемые в настоящем описании изобретения, употребляются исключительно в целях описания конкретных вариантов осуществления изобретения, и не подразумевают ограничения настоящего изобретения. Для целей настоящего описания изобретения и прилагаемой формулы изобретения подразумевается, что употребляемые в единственном числе слова «какой-либо», «упомянутый» и «данный» включают в себя множественное число, если контекст явно не указывает на иное. Также необходимо понимать, что используемый в настоящем описании термин «и/или» означает и включает в себя любые или все возможные сочетания одного или нескольких из соответствующих перечисленных элементов.
[0127] Необходимо понимать, что хотя термины «первый», «второй», «третий» и т.д. используются в настоящем описании изобретения для описания многообразия данных, не следует ограничивать эти данные такими терминами. Данные термины используются исключительно для выделения данных одного вида. Например, без отступления от объема настоящего изобретения, первые данные также могут упоминаться как вторые данные. Аналогичным образом, вторые данные также могут упоминаться как первые данные. В зависимости от контекста в целях настоящего описания слово «если» может толковаться как «где …» или «когда …» или «в ответ на».
[0128] Фиг. 1 представляет функциональную блок-схему способа резервного копирования файла согласно примеру осуществления. Как показано на фиг. 1, способ, применяемый в терминале, включает в себя следующие этапы.
[0129] На этапе 101 определяется хеш-значение файла в соответствии с заданным алгоритмом.
[0130] В данном варианте осуществления заданный алгоритм может заключаться в том, что файл используется вместе процессом сравнения с пороговым значением до определения хеш-значения, а потом можно выбирать другие способы определения хеш-значения в зависимости от результата процесса сравнения с порогового значения.
[0131] Например, сначала может быть выполнена оценка, не превышает ли размер файла заданное пороговое значение. Если размер файла не превышает заданное пороговое значение, хеш-значение напрямую определяется в отношении файла; а если размер файла превышает заданное пороговое значение, вычисление хеш-значения файла напрямую может вызвать весьма серьезную рабочую нагрузку по выполнению вычислений, что может в свою очередь вызвать увеличение потребления энергии устройством. Соответственно, для файла, размер которого превышает заданное пороговое значение, можно извлечь из файла несколько фрагментов файла, каждый из которых имеет заданный размер, и хеш-значение определяется в отношении к нескольким фрагментам файла как хеш-значение файла. Например, при извлечении из файла фрагментов файла файл может быть разделен на несколько блоков файла, каждый из которых имеет заданный размер, а потом некоторые блоки файла выбираются в качестве фрагментов файла изо всех блоков файла, полученных в результате разделения.
[0132] Заданный размер меньше заданного порогового значения, и заданное пороговое значение можно установить в соответствии с фактическими условиями, или можно взять эмпирическое значение, на которое настоящее изобретение не налагает ограничений. Например, для резервного копирования видеофайла или файла изображения при помощи способа, предусмотренного настоящим изобретением, заданное пороговое значение может принимать эмпирическое значение 4M.
[0133] Фрагменты файла могут извлекаться из файла либо в произвольном порядке, либо равномерно. Извлекаемые в произвольном порядке фрагменты файла могут быть распределены в файле неравномерно. В таком случае, если хеш-значение определяется в отношении фрагментов файла, неравномерно распределенных в файле, может возникнуть расхождение между установленным хеш-значением и хеш-значением, определяемым в отношении файла. Соответственно, для обеспечения максимального соответствия между хеш-значением контрольной суммы, определяемым относительно фрагментов файла, и значением, определяемым в отношении файла, фрагменты файла могут равномерно извлекаться из файла. Например, фрагменты файла могут извлекаться через фиксированный интервал, чтобы извлекаемые фрагменты файла могли быть равномерно распределены в файле.
[0134] Кроме того, необходимо отметить, что для извлечения фрагментов файла из файла количество фрагментов файла, извлекаемых из файла, не может быть слишком большим или слишком малым. Если количество извлекаемых фрагментов файла слишком большое, при определении хеш-значения может часто применяться алгоритм, что излишне занимает системные ресурсы; а если количество извлекаемых файлов слишком маленькое, может понижаться точность установленного хеш-значения. Соответственно, при практическом применении количество извлекаемых фрагментов файла может задаваться должным образом специалистами в данной области техники с учетом обоих факторов или можно взять эмпирическое значение, на которое настоящее изобретение не налагает ограничений.
[0135] При помощи данного решения можно эффективно снизить рабочую нагрузку по выполнению вычислений при определении хеш-значения файла и можно снизить потребление энергии устройством.
[0136] На этапе 102 выполняется запрос определенного хеш-значения в базе данных локального резервного копирования.
[0137] В данном варианте осуществления изобретения, если обнаруживается, что хеш-значение не записано в базе данных локального резервного копирования, выполняется резервное копирование файла, соответствующего хеш-значению, на сервер резервного копирования, а после резервного копирования файла, соответствующего хеш-значению, на сервер резервного копирования определенное хеш-значение сохраняется в базе данных локального резервного копирования.
[0138] На этапе 103, если обнаружено, что хеш-значение записано в базе данных локального резервного копирования, это отменяет резервное копирование файла на сервер резервного копирования.
[0139] В данном варианте осуществления, если обнаружено, что хеш-значение записано в базе данных локального резервного копирования, что означает, что файл загружен на сервер резервного копирования, и поэтому больше не будет выполняться резервного копирования файла на сервер резервного копирования во избежание повторного резервного копирования одного и того же файла.
[0140] Когда файл загружается на сервер резервного копирования, для предотвращения сбоев в работе, вызванных неудачной загрузкой, после успешной загрузки файла, соответствующего хеш-значению, на сервер резервного копирования, хеш-значение помечается как загруженное в базу данных локального резервного копирования. Когда хеш-значение найдено в базе данных локального резервного копирования, тогда до отмены резервного копирования файла, соответствующего хеш-значению, на сервер резервного копирования можно дополнительно определить, успешно ли загружен файл, при помощи выполнения запроса о том, помечено ли хеш-значение как загруженное в базу данных локального резервного копирования. Если хеш-значение помечено как загруженное, что означает, что файл, соответствующий хеш-значению, успешно загружен, это отменяет дальнейшее резервное копирование файла на сервер резервного копирования. Наоборот, если хеш-значение не помечено как загруженное, что означает вероятность того, что файл не был удачно загружен, можно направить запрос на сервер резервного копирования о том, успешно ли загружен файл. Если сервер резервного копирования сообщает, что файл, соответствующий хеш-значению, успешно загружен, это отменяет дальнейшее резервное копирование файла на сервер резервного копирования. Аналогичным образом, если сервер резервного копирования сообщает, что файл, соответствующий хеш-значению, не был успешно загружен, снова выполняется резервное копирование файла на сервер резервного копирования.
[0141] Из вышеизложенного варианта осуществления изобретения видно, что терминал определяет хеш-значение файла при помощи заданного алгоритма и запрашивает определенное хеш-значение в базе данных локального резервного копирования, и если обнаружено, что хеш-значение записано в базе данных локального резервного копирования, это отменяет резервное копирование файла на сервер резервного копирования, тем самым позволяя избежать повторение резервного копирования одного и того же файла с разными путями доступа к файлу.
[0142] Фиг. 2 представляет функциональную блок-схему другого способа резервного копирования файла согласно примеру осуществления. Как показано на фиг. 2, способ, применяемый в сервере резервного копирования, включает в себя следующие этапы.
[0143] На этапе 201 происходит прием запроса на получения сведений, загруженного с терминала, где запрос на получения сведений содержит хеш-значение;
[0144] На этапе 202 запрашивается хеш-значение в базе данных локального резервного копирования.
[0145] В данном варианте осуществления после получения резервным сервером файла, загруженного терминалом, определяется хеш-значение файла, загруженного терминалом, в соответствии с заданным алгоритмом; и после успешного локального резервного копирования файла происходит информирование терминала. Между тем, определенное хеш-значение сохраняется в базе данных локального резервного копирования, в которую терминал направляет запросы.
[0146] Заданный алгоритм, применяемый резервным сервером, представляет собой тот же алгоритм, который применяется терминалом. До определения хеш-значения для файла можно быть установлено, превышает ли размер файла заданное пороговое значение. Если размер файла не превышает заданное пороговое значение, хеш-значение напрямую определяется в отношении файла; а если размер файла превышает заданное пороговое значение, вычисление хеш-значения файла напрямую может вызвать весьма серьезную рабочую нагрузку по выполнению вычислений, что может в свою очередь вызвать увеличение потребления энергии устройством. Соответственно, для файла, размер которого превышает заданное пороговое значение, можно извлечь из файла несколько фрагментов файла, каждый из которых имеет заданный размер, и хеш-значение определяется в отношении к нескольким фрагментам файла как хеш-значение файла. Например, при извлечении из файла фрагментов файла файл может быть разделен на несколько блоков файла, каждый из которых имеет заданный размер, а потом некоторые блоки файла выбираются в качестве фрагментов файла изо всех блоков файла, полученных в результате разделения.
[0147] Заданный размер, меньше заданного порогового значения, и заданное пороговое значение можно установить в соответствии с фактическими условиями, или можно взять эмпирическое значение, на которое настоящее изобретение не налагает ограничений. Например, для резервного копирования видеофайла или файла изображения при помощи способа, предусмотренного настоящим изобретением, заданное пороговое значение может принимать эмпирическое значение 4M.
[0148] Фрагменты файла могут извлекаться из файла либо в произвольном порядке, либо равномерно. Извлекаемые в произвольном порядке фрагменты файла могут быть распределены в файле неравномерно. В таком случае, если хеш-значение определяется в отношении фрагментов файла, неравномерно распределенных в файле, может возникнуть расхождение между установленным хеш-значением и хеш-значением, определяемым в отношении файла. Соответственно, для обеспечения максимального соответствия между хеш-значением, определяемым относительно фрагментов файла, и хеш-значением, определяемым в отношении файла, фрагменты файла могут равномерно извлекаться из файла. Например, фрагменты файла могут извлекаться через фиксированный интервал, чтобы извлекаемые фрагменты файла могли быть равномерно распределены в файле.
[0149] Кроме того, необходимо отметить, что для извлечения фрагментов файла из файла количество фрагментов файла, извлекаемых из файла, не может быть слишком большим или слишком маленьким. Если количество извлекаемых фрагментов файла слишком большое, при определении хеш-значения может часто вызываться алгоритм, что излишне занимает системные ресурсы; а если количество извлекаемых файлов слишком маленькое, может понижаться точность установленного хеш-значения. Соответственно, при практическом применении количество извлекаемых фрагментов файла может задаваться должным образом специалистами в данной области техники с учетом обоих факторов или можно взять эмпирическое значение, на которое настоящее изобретение не налагает ограничений.
[0150] При помощи данного решения можно эффективно снизить рабочую нагрузку по выполнению вычислений при определении хеш-значения файла и можно снизить потребление энергии устройством.
[0151] На этапе 203, если обнаружено, что хеш-значение записано в базе данных локального резервного копирования, происходит информирование терминала об успешной загрузке файла, соответствующего хеш-значению.
[0152] В данном варианте осуществления, если обнаружено, что определенное хеш-значение записано в базе данных локального резервного копирования, что означает, что файл, запрашиваемый в этот раз терминалом, был ранее успешно загружен локально, таким образом сервер резервного копирования может отправить терминалу сообщение, информируя его об успешной загрузке файла, чтобы терминал отменил дальнейшее резервное копирование файла на сервер резервного копирования после получения сообщения. Наоборот, если обнаружено, что установленное хеш-значение не записано в базе данных локального резервного копирования, сервер резервного копирования может дополнительно отправить сообщение терминалу, информируя его о том, что файл не был успешно загружен, чтобы терминал снова выполнил резервное копирование файла на сервер резервного копирования после получения сообщения.
[0153] Из вышеизложенного варианта осуществления видно, что сервер резервного копирования запрашивает хеш-значение, содержащееся в запросе на получение сведений, получаемого от терминала в базе данных локального резервного копирования, и сообщает терминалу об успешной загрузке файла, соответствующего хеш-значению, если хеш-значение записано в базе данных локального резервного копирования, тем самым позволяя избежать сбоев в работе терминала, вызванных неудачной загрузкой файла, т.е. повторного резервного копирования одного и того же файла с разными путями доступа к файлу.
[0154] Фиг. 3 представляет функциональную блок-схему другого способа резервного копирования файла согласно примеру осуществления. Как показано на фиг. 3, данный способ включает в себя следующие этапы.
[0155] На этапе 301 терминал определяет хеш-значение в соответствии с заданным алгоритмом.
[0156] В данном варианте осуществления заданный алгоритм может заключаться в том, что до определения хеш-значения файла, можно сначала решить, не превышает ли размер файла заданное пороговое значение. Если размер файла не превышает заданное пороговое значение, хеш-значение напрямую определяется в отношении файла; а если размер файла превышает заданное пороговое значение, вычисление хеш-значения файла напрямую может вызвать весьма серьезную рабочую нагрузку по выполнению вычислений, что может в свою очередь вызвать увеличение потребления энергии устройством. Соответственно, для файла, размер которого превышает заданное пороговое значение, можно извлечь из файла несколько фрагментов файла, каждый из которых имеет заданный размер, и хеш-значение определяется в отношении к нескольким фрагментам файла как хеш-значение файла. Например, при извлечении из файла фрагментов файла файл может быть разделен на несколько блоков файла, каждый из которых имеет заданный размер, а потом некоторые блоки файла выбираются в качестве фрагментов файла изо всех блоков файла, полученных в результате разделения.
[0157] Заданный размер, меньший заданного порогового значения, и заданное пороговое значение можно установить в соответствии с фактическими условиями, или можно взять эмпирическое значение, на которое настоящее изобретение не налагает ограничений. Например, для резервного копирования видеофайла или файла изображения при помощи способа, предусмотренного настоящим изобретением, заданное пороговое значение может принимать эмпирическое значение 4M.
[0158] Фрагменты файла могут извлекаться из файла либо в произвольном порядке, либо равномерно. Извлекаемые в произвольном порядке фрагменты файла могут быть распределены в файле неравномерно. В таком случае, если хеш-значение определяется в отношении фрагментов файла, неравномерно распределенных в файле, может возникнуть расхождение между определенным хеш-значением и хеш-значением, определяемым в отношении файла. Соответственно, для обеспечения максимального соответствия между хеш-значением, определяемым в отношении фрагментов файла, и хеш-значением, определяемым в отношении файла, фрагменты файла могут равномерно извлекаться из файла. Например, фрагменты файла могут извлекаться через фиксированный интервал, чтобы извлекаемые фрагменты файла могли быть равномерно распределены в файле.
[0159] Кроме того, следует отметить, что для извлечения фрагментов файла из файла количество фрагментов файла, извлекаемых из файла, не может быть слишком большим или слишком маленьким. Если количество извлекаемых фрагментов файла слишком большое, при определении хеш-значения может часто применяться алгоритм, что излишне занимает системные ресурсы; а если количество извлекаемых файлов слишком маленькое, может понижаться точность установленного хеш-значения. Соответственно, при практическом применении количество извлекаемых фрагментов файла может задаваться должным образом специалистами в данной области техники с учетом обоих факторов или можно взять эмпирическое значение, на которое настоящее изобретение не налагает ограничений.
[0160] Например, при допущении, что терминал собирается выполнить резервное копирование локального видеофайла размером 10М, а заданное пороговое значение Τ принимает эмпирическое значение в 4M, размер видеофайла превышает заданное пороговое значение. В таком случае из видеофайла могут быть извлечены 4 фрагмента файла, каждый из которых имеет заданный размер, принимающий эмпирическое значение в 1М.
[0161] Далее видеофайл сначала делится на 4 блока файла, каждый размером 2,5М, а затем из каждого блока файла извлекается фрагмент файла размером 1М. Более того, в целях обеспечения равномерного распределения фрагментов файла в видеофайле можно установить фиксированный интервал между фрагментами файла. Например, фрагменты файла можно извлекать в соответствии со следующей интервальной функцией:
[0162] [КР, КР+1]
[0163] В приведенной выше интервальной функции: Ρ означает размер каждого блока файла, К принимает значение от (0, 1, …, Т-1), а Τ означает заданное пороговое значение. В данном варианте осуществления изобретения Ρ составляет 2,5, К принимает значение от (0, 1, 2, 3). В соответствии с приведенной выше интервальной функцией, как показано на фиг. 4, из видеофайла можно извлечь четыре фрагмента файла, каждый из которых имеет размер 1М, через фиксированный интервал в 1,5М. Это фрагменты файла [0, 1М], [2,5М, 3,5М], [5М, 6М] и [7,5М, 8,5М], соответственно.
[0164] При помощи данного решения можно эффективно снизить рабочую нагрузку по выполнению вычислений при определении хеш-значения файла и можно снизить потребление энергии устройством.
[0165] На этапе 302 терминал запрашивает определенное хеш-значение в базе данных локального резервного копирования.
[0166] В данном варианте осуществления изобретения, если обнаруживается, что хеш-значение не записано в базе данных локального резервного копирования, выполняется резервное копирование файла, соответствующего хеш-значению, на сервер резервного копирования, а после резервного копирования файла, соответствующего хеш-значению, на сервер резервного копирования установленное хеш-значение сохраняется в базе данных локального резервного копирования. Кроме того, после получения терминалом информации об успешной загрузке файла, соответствующего хеш-значению, на сервер резервного копирования, хеш-значение может быть помечено как загруженное в базу данных локального резервного копирования. В частности, терминал может получить информацию об успешной загрузке файла, соответствующего хеш-значению, на сервер резервного копирования посредством получения информационного сообщения, отправленного сервером резервного копирования терминалу после успешной загрузки файла на сервер резервного копирования.
[0167] На этапе 303, если терминал обнаруживает, что хеш-значение записано в базе данных локального резервного копирования, оно также запрашивает, помечено ли хеш-значение как загруженное в базу данных локального резервного копирования.
[0168] На этапе 304, если терминал обнаруживает, что хеш-значение не помечено как загруженное, оно направляет запрос серверу резервного копирования о том, успешно ли загружен файл, соответствующий хеш-значению.
[0169] В данном варианте осуществления изобретения, если терминал обнаруживает, что хеш-значение помечено как загруженное, это отменяет резервное копирование файла на сервер резервного копирования. В частности, терминал может направить запрос серверу резервного копирования о том, успешно ли загружен файл, соответствующий хеш-значению, посредством направления запроса на получение сведений, содержащего хеш-значение, резервному серверу.
[0170] На этапе 305 сервер резервного копирования запрашивает хеш-значение в базе данных локального резервного копирования.
[0171] В настоящем варианте осуществления изобретения после получения сервером резервного копирования файла, загруженного терминалом, сначала хеш-значение файла, загруженного терминалом, определяется в соответствии с заданным алгоритмом, а после успешного локального резервного копирования файла определенное хеш-значение сохраняется в базе данных локального резервного копирования, в которую терминал направляет запросы. При этом заданный алгоритм для определения хеш-значения файла, применяемый сервером резервного копирования, является тем же алгоритмом, который применяется терминалом и который не будет повторно описываться в данном пункте.
[0172] На этапе 306, если сервер резервного копирования обнаруживает, что хеш-значение записано в базе данных локального резервного копирования, он сообщает терминалу об успешной загрузке файла, соответствующего хеш-значению.
[0173] В данном варианте осуществления изобретения, когда сервер резервного копирования обнаруживает, что хеш-значение записано в базе данных локального резервного копирования, он может отправить информационное сообщение терминалу.
[0174] На этапе 307 терминал помечает хеш-значение в базе данных локального резервного копирования как загруженное и отменяет резервное копирование файла на сервер резервного копирования.
[0175] В настоящем варианте осуществления, после получения терминалом информации об успешной загрузке файла, соответствующего хеш-значению, посредством получения информационного сообщения, отправленного сервером резервного копирования, терминал помечает хеш-значение как загруженное и отменяет резервное копирование файла на сервер резервного копирования. С другой стороны, если терминал обнаруживает при помощи сервера резервного копирования, что файл, соответствующий хеш-значению, не был успешно загружен, он выполняет резервное копирование файла на сервер резервного копирования, а после успешного резервного копирования файла на сервер резервного копирования он помечает хеш-значение, соответствующее файлу, как загруженное в базу данных локального резервного копирования.
[0176] Из вышеизложенного варианта осуществления видно, что хеш-значение файла определяется при помощи заданного алгоритма, и выполняется запрос определенного хеш-значения в базе данных локального резервного копирования терминала. Если обнаружено, что хеш-значение записано в базе данных локального резервного копирования, это отменяет резервное копирование файла на сервер резервного копирования, тем самым позволяя избежать повторного резервного копирования одного и того же файла с разными путями доступа к файлу. Кроме того, в настоящем изобретении посредством улучшения стандартного алгоритма для определения хеш-значения, извлечения нескольких равномерно распределенных фрагментов файла небольшого размера из заданного файла и определения хеш-значения в отношении к нескольким фрагментам файла, можно эффективно снизить рабочую нагрузку по выполнению вычислений при определении хеш-значения, и тем самым снизить потребление энергии устройством.
[0177] В другом возможном варианте осуществления настоящего изобретения, основанном на вышеизложенных вариантах осуществления, показанных на фиг. 1 или фиг. 3, данные о свойствах файла могут быть записаны в базу данных локального резервного копирования терминала. Например, данные о свойствах файла могут содержать время внесения последних изменений и размер файла, и т.д. Когда данные о свойствах файла отличаются от данных о свойствах, записанных в базе данных локального резервного копирования, что означает, что файл был изменен или было добавлено новое содержание, хеш-значение файла необходимо определить повторно, и хеш-значение файла, записанное в базе данных локального резервного копирования, необходимо обновить, и данные о свойствах файла также необходимо обновить. Однако если данные о свойствах, записанные в базе данных локального резервного копирования, аналогичны фактическим данным о свойствах файла, базу данных локального резервного копирования не нужно обновлять и можно напрямую использовать значения, сохраненные в базе данных локального резервного копирования.
[0178] В вышеизложенном варианте осуществления данные о свойствах файла, такие как время внесения последних изменений и размер файла, записаны в базе данных локального резервного копирования, а когда данные о свойствах файла отличаются от данных о свойствах, записанных локально, хеш-значение и данные о свойствах файла, записанные в базе данных локального резервного копирования, обновляются. Таким образом можно избежать неправильной оценки при резервном копировании файла.
[0179] В соответствии с вышеизложенными вариантами осуществления способа резервного копирования файла в настоящем описании изобретения предлагаются варианты осуществления устройства для резервного копирования файла.
[0180] Фиг. 5 представляет структурную блок-схему устройства для резервного копирования файла согласно примеру осуществления, которое может применяться в терминале.
[0181] Как показано на фиг. 5, согласно примеру осуществления устройство 500 для резервного копирования файла включает в себя: первый модуль 501 определения, первый модуль 502 запроса и модуль 503 обработки. В частности,
[0182] первый модуль 501 определения предназначен для определения хеш-значения файла в соответствии с заданным алгоритмом;
[0183] первый модуль 502 запроса предназначен для запроса определенного хеш-значения в базе данных локального резервного копирования; и
[0184] модуль 503 обработки предназначен для отмены резервного копирования файла на сервер резервного копирования, если обнаруживается, что хеш-значение записано в базе данных локального резервного копирования..
[0185] В вышеизложенном варианте осуществления хеш-значение файла определяется при помощи заданного алгоритма, и определенное хеш-значение запрашивается в базе данных локального резервного копирования, и если обнаружено, что хеш-значение записано в базе данных локального резервного копирования, это отменяет резервное копирование файла на сервер резервного копирования, тем самым позволяя избежать повторного резервного копирования одного и того же файла с разными путями доступа к файлу.
[0186] Как показано на фиг. 6, на которой представлена структурная блок-схема другого устройства для резервного копирования файла согласно примеру осуществления, основанного на вышеизложенном варианте осуществления, показанном на фиг. 5. Первый модуль 501 определения может включать в себя: первый оценивающий подмодуль 501А, первый определяющий подмодуль 501В и второй определяющий подмодуль 501С. В частности,
[0187] первый оценивающий подмодуль 501А предназначен для того, чтобы установить, не превышает ли или равен ли размер файла заданному пороговому значению;
[0188] первый определяющий подмодуль 501В предназначен для извлечения нескольких фрагментов файла из файла и определение хеш-значения, относящегося к нескольким фрагментам файла в качестве хеш-значения файла, если установлено, что размер файла превышает или равен заданному пороговому значению,
[0189] второй определяющий подмодуль 501С предназначен для определения хеш-значения, относящегося к файлу, в качестве хеш-значения файла, если установлено, что размер файла меньше заданного порогового значения,
[0190] В вышеизложенном варианте осуществления при определении хеш-значения файла при помощи заданного алгоритма файл применяется вместе с процессом сравнения с пороговым значением. Если размер файла превышает заданное пороговое значение, несколько фрагментов файла извлекаются из файла, и хеш-значение определяется в отношении к нескольким фрагментам файла как хеш-значение файла. Таким образом можно эффективно снизить рабочую нагрузку по выполнению вычислений при определении хеш-значения файла, если размер файла слишком большой, и тем самым снизить потребление энергии устройством.
[0191] Как показано на фиг. 7, которая представляет структурную блок-схему другого устройства для резервного копирования файла согласно примеру осуществления, основанного на вышеизложенном варианте осуществления, показанном на фиг. 6. Первый подмодуль 501В определения может включать в себя первый извлекающий подмодуль 501В1.
[0192] Первый извлекающий подмодуль 501В1 предназначен для равномерного извлечения из файла нескольких фрагментов файла, каждый из которых имеет заданный размер, где количество байтов, занимаемых каждым из фрагментов файла, меньше заданного порогового значения.
[0193] В вышеизложенном варианте осуществления посредством извлечения из файла равномерно распределенных фрагментов файла, каждый из которых имеет размер менее заданного порогового значения, можно обеспечить максимально возможное соответствие между хеш-значением, определенным в отношении фрагментов файла, и хеш-значением, определенным в отношении файла. Кроме того, может снизиться рабочая нагрузка по выполнению вычислений при определении хеш-значения.
[0194] Как показано на фиг. 8, которая представляет структурную блок-схему другого устройства для резервного копирования файла согласно примеру осуществления, основанного на вышеизложенном варианте осуществления, показанном на фиг. 5. Устройство 500 может также включать в себя модуль 504 загрузки и первый модуль 505 сохранения. В частности,
[0195] загружающий модуль 504 предназначенный для загрузки файла, соответствующего хеш-значению, на сервер резервного копирования, если обнаружено, что хеш-значение не записано в базе данных локального резервного копирования, а
[0196] первый модуль 505 сохранения предназначенный для сохранения хеш-значения в базе данных локального резервного копирования, после загрузки файла, соответствующего хеш-значению, на сервер резервного копирования.
[0197] В вышеизложенном варианте осуществления после успешной загрузки файла, соответствующего хеш-значению, на сервер резервного копирования хеш-значение помечается как загруженное в базу данных локального резервного копирования. Таким образом, о загрузке файла можно узнать, выполнив запрос по хеш-значению в базе данных локального резервного копирования.
[0198] Необходимо отметить, что модуль 504 загрузки и первый модуль 505 сохранения в вышеизложенном варианте осуществления устройства, показанном на фиг. 8, могут также быть включены в вышеизложенные варианты осуществления устройства, показанном на фиг. 6 и фиг. 7, на которые настоящее изобретение не налагает ограничений.
[0199] Как показано на фиг. 9, которая представляет структурную блок-схему другого устройства для резервного копирования файла согласно примеру осуществления, основанного на вышеизложенном варианте осуществления, показанном на фиг. 8. Устройство 500 может также включать в себя модуль 506 пометки.
[0200] Модуль 506 пометки предназначен для пометки хеш-значения в качестве загруженного в базу данных локального резервного копирования после успешной загрузки файла, соответствующего хеш-значению, на сервер резервного копирования.
[0201] В вышеизложенном варианте осуществления после успешной загрузки файла, соответствующего хеш-значению, на сервер резервного копирования хеш-значение помечается как загруженное в базу данных локального резервного копирования. Таким образом, о загрузке файла можно узнать, выполнив запрос по хеш-значению в базе данных локального резервного копирования.
[0202] Следует отметить, что модуль 504 загрузки и первый модуль 505 сохранения в вышеизложенном варианте осуществления устройства, показанном на фиг. 9, также могут быть включены в вышеизложенные варианты осуществления устройства, показанного на фиг. 6 и фиг. 8, на которые настоящее изобретение не налагает ограничений.
[0203] Как показано на фиг. 10, которая представляет структурную блок-схему другого устройства для резервного копирования файла согласно примеру осуществления, основанного на вышеизложенном варианте осуществления, показанном на фиг. 5. Модуль 503 обработки может дополнительно включать в себя первый запрашивающий подмодуль 503А, обрабатывающий подмодуль 503В, второй запрашивающий подмодуль 503С, первый подмодуль 503D пометки и подмодуль 503Е резервного копирования. В частности,
[0204] первый запрашивающий подмодуль 503А предназначен для выполнения запроса о том, помечено ли хеш-значение как загруженное в базу данных локального резервного копирования до отмены резервного копирования файла на сервер резервного копирования,
[0205] обрабатывающий подмодуль 503В предназначен для отмены резервного копирования файла на сервер резервного копирования, если обнаружено, что хеш-значение помечено как загруженное,
[0206] второй запрашивающий подмодуль 503С предназначен для направления серверу резервного копирования запроса об успешной загрузке файла, соответствующего хеш-значению, если обнаружено, что хеш-значение не помечено как загруженное
[0207] первый подмодуль 503D пометки предназначен для пометки хеш-значения в качестве загруженного в базу данных локального резервного копирования и отмены резервного копирования файла на сервер резервного копирования, если обнаружено, что файл, соответствующий хеш-значению, успешно загружен, и
[0208] подмодуль 503Е резервного копирования предназначен для резервного копирования файла на сервер резервного копирования, если обнаружено, что файл, соответствующий хеш-значению, не был успешно загружен на сервер резервного копирования.
[0209] В вышеизложенном варианте осуществления до отмены резервного копирования файла на сервер резервного копирования выполняется запрос о том, помечено ли хеш-значение как загруженное в базу данных локального резервного копирования. Если оно помечено как загруженное, это отменяет резервное копирование файла на сервер резервного копирования; а если оно не помечено как загруженное, направляется дополнительный запрос серверу резервного копирования о том, был ли успешно загружен файл. В случае, когда определяется, что файл успешно загружен, это отменяет резервное копирование файла на сервер резервного копирования; а когда определяется, что файл не был успешно загружен, выполняется резервное копирование файла на сервер резервного копирования. Таким образом можно избежать сбоев в работе из-за неудачной загрузки.
[0210] Необходимо отметить, что первый запрашивающий подмодуль 503А, обрабатывающий подмодуль 503В, второй запрашивающий подмодуль 503С, первый подмодуль 503D пометки и подмодуль 503Е резервного копирования в вышеизложенном варианте осуществления устройства, показанном на фиг. 10, также могут быть включены в вышеизложенные варианты осуществления устройства, показанные на фиг. 6 и фиг. 9, на которые настоящее изобретение не налагает ограничений.
[0211] Как показано на фиг. 11, которая представляет структурную блок-схему другого устройства для резервного копирования файла согласно примеру осуществления, основанного на вышеизложенном варианте осуществления изобретения, показанном на фиг. 5. Устройство 500 может дополнительно включать в себя записывающий модуль 506 и обновляющий модуль 507. В частности,
[0212] записывающий модуль 508 предназначен для записи данных о свойствах файла в базу данных локального резервного копирования, в которой данные о свойствах содержат время внесения последних изменений и размер файла; а
[0213] обновляющий модуль 507 предназначен для обновления хеш-значения и данных о свойствах файла, записанных в базе данных локального резервного копирования, в случае, когда данные о свойствах файла отличаются от данных о свойствах, записанных в базе данных локального резервного копирования.
[0214] В вышеизложенном варианте осуществления данные о свойствах, такие как время внесения последних изменений и размер файла, записываются в базу данных локального резервного копирования, а когда данные о свойствах файла отличаются от данных о свойствах записанных локально, хеш-значение и данные о свойствах файла, записанные в базе данных локального резервного копирования, обновляются. Таким образом можно избежать неправильной оценки при резервном копировании файла.
[0215] Следует отметить, что записывающий подмодуль 508 и обновляющий модуль 507 в вышеизложенном варианте осуществления устройства, показанном на фиг. 11, также могут быть включены в вышеизложенные варианты осуществления устройства, показанного на фиг. 6 и фиг. 10, на которые настоящее изобретение не налагает ограничений.
[0216] Фиг. 12 представляет структурную блок-схему другого устройства для резервного копирования файла согласно примеру осуществления, которое может применяться в сервере резервного копирования.
[0217] На фиг. 12 представляющее другое устройство 1200 для резервного копирования файла согласно примеру осуществления, которое включает в себя: принимающий модуль 1201, второй модуль 1202 запроса и информирующий модуль 1203. В частности,
[0218] принимающий модуль 1201 предназначен для приема запроса на получение сведений, загруженного с терминала, где запрос на получение сведений содержит хеш-значение;
[0219] второй запрашивающий модуль 1202 предназначен для запроса хеш-значения в базе данных локального резервного копирования; и
[0220] информирующий модуль 1203 предназначен для информирования терминала об успешной загрузке файла, соответствующего хеш-значению, если обнаружено, что хеш-значение записано в базе данных локального резервного копирования.
[0221] В вышеизложенном варианте осуществления посредством выполнения в базе данных локального резервного копирования запроса хеш-значения, содержащегося в запросе на получение сведений, полученном от терминала, и информирования терминала о том, что файл, соответствующий хеш-значению, успешно загружен, если хеш-значение записано в базе данных локального резервного копирования, можно избежать сбоев в работе терминала, вызванных неудачной загрузкой файла, т.е. повторного резервного копирования одного и того же файла с разными путями доступа к файлу на сервер резервного копирования.
[0222] На фиг. 13 представлена структурная блок-схема другого устройства для резервного копирования файла согласно примеру осуществления, основанного на вышеизложенном варианте осуществления, показанном на фиг. 12. Устройство 1200 дополнительно включает в себя второй модуль 1204 определения и второй модуль 1205 сохранения. В частности,
[0223] второй модуль 1204 определения предназначен для определения хеш-значения файла, загруженного терминалом, в соответствии с заданным алгоритмом; а
[0224] второй модуль 1205 сохранения предназначен для сохранения определенного хеш-значения в базе данных локального резервного копирования после успешного локального резервного копирования файла.
[0225] В вышеизложенном варианте осуществления хеш-значение файла, загруженного терминалом, определяется при помощи заданного алгоритма, а после успешного локального резервного копирования файла определенное хеш-значение сохраняется в базе данных локального резервного копирования. Таким образом, когда сервер резервного копирования еще раз находит хеш-значение в базе данных локального резервного копирования, можно информировать соответствующий терминал об успешной загрузке файла, соответствующего хеш-значению.
[0226] На фиг. 14 представлена структурная блок-схема другого устройства для резервного копирования файла согласно примеру осуществления, основанного на вышеизложенном варианте осуществления, показанном на фиг. 12. Второй модуль 1204 определения включает в себя второй оценивающий подмодуль 1204А, третий определяющий подмодуль 1204В и четвертый определяющий подмодуль 1204С. В частности,
[0227] второй оценивающий подмодуль 1204А предназначен для того, чтобы установить, не превышает ли или равен ли размер файла заданному пороговому значению;
[0228] третий определяющий подмодуль 1204В предназначен для извлечения нескольких фрагментов файла из файла и определения хеш-значения в отношении к нескольким фрагментам файла в качестве хеш-значения файла, если установлено, что размер файла превышает или равен заданному пороговому значению, а
[0229] четвертый определяющий подмодуль 1204С предназначен для определения хеш-значения в отношении к файлу, в качестве хеш-значения файла, если выводится заключение о том, что размер файла меньше заданного порогового значения.
[0230] В вышеизложенном варианте осуществления при определении хеш значения файла при помощи заданного алгоритма файл применяется вместе с процессом сравнения с пороговым значением. Если размер файла превышает заданное пороговое значение, несколько фрагментов файла извлекаются из файла, и хеш-значение определяется в отношении к нескольким фрагментам файла как хеш-значение файла. Таким образом, можно эффективно снизить рабочую нагрузку по выполнению вычислений при определении хеш-значения файла, если размер файла слишком большой, и тем самым снизить потребление энергии устройством. Кроме того, посредством извлечения из файла равномерно распределенных фрагментов файла, каждый из которых имеет размер менее заданного порогового значения, можно обеспечить максимально возможное соответствие между хеш-значением, определяемым в отношении фрагментов файла, и хеш-значением определяемым в отношении файла. Кроме того, может снизиться рабочая нагрузка по выполнению вычислений при определении хеш-значения.
[0231] На фиг. 15 представлена структурная блок-схема другого устройства для резервного копирования файла согласно примеру осуществления, основанного на вышеизложенном варианте осуществления, показанного на фиг. 14. Третий определяющий подмодуль 1204В может включать в себя второй извлекающий подмодуль 1204В1.
[0232] Второй извлекающий подмодуль 1204В1 предназначен для равномерного извлечения из файла нескольких фрагментов файла, каждый из которых имеет заданный размер, где количество байтов, занимаемых каждым из фрагментов файла, меньше заданного порогового значения.
[0233] В вышеизложенном варианте осуществления посредством извлечения из файла равномерно распределенных фрагментов файла, каждый из которых имеет размер менее заданного порогового значения, можно обеспечить максимально возможное соответствие между хеш-значением, определяемым в отношении фрагментов файла, и хеш-значением, определяемым в отношении файла. Кроме того, может снизиться рабочая нагрузка по выполнению вычислений при определении хеш-значения.
[0234] Соответственно, в настоящем изобретении также предлагается устройство для резервного копирования файла, включающее в себя запоминающее устройство и одну или более программ, где одна или более программ хранятся в запоминающем устройстве и предназначены для обеспечения выполнения одним или более процессорами, где одна или более программ включают в себя инструкции по инициированию выполнения следующих действий:
[0235] определение хеш-значения файла в соответствии с заданным алгоритмом;
[0236] запрос определенного хеш-значения в базе данных локального резервного копирования; и
[0237] если обнаружено, что хеш-значение записано в базе данных локального резервного копирования, отмена резервного копирования файла на сервер резервного копирования.
[0238] Фиг. 16 представляет структурную блок-схему устройства для резервного копирования файла согласно примеру осуществления.
[0239] Например, устройством 1600, показанным на фиг. 16, может быть мобильный телефон, компьютер, цифровой широковещательный терминал, устройство обмена сообщениями, игровая консоль, планшет, медицинское оборудование, тренажерное оборудование, персональный цифровой помощник и тому подобные.
[0240] Показанное на фиг. 16 устройство 1600 может включать в себя один или более следующих компонентов: блок 1601 обработки, запоминающее устройство 1602, блок 1603 питания, мультимедийный блок 1604, аудио блок 1605, интерфейс 1606 ввода/вывода, сенсорный блок 1607, и блок 1608 связи.
[0241] Блок 1601 обработки обычно управляет всеми операциями устройства 1600, такими как операции, связанные с отображением, телефонные вызовы, передачу данных, операции с камерой и операции записи. Блок 1601 обработки может включать в себя один или более процессоров 1609 для исполнения инструкций по выполнению всех или части этапов в описанных выше способах. Кроме того, блок 1601 обработки может включать в себя один или более модулей, которые обеспечивают взаимодействие между блоком 1601 обработки и другими компонентами. Например, блок 1601 обработки может включать в себя мультимедийный модуль для обеспечения взаимодействия между мультимедийным блоком 1608 и блоком 1601 обработки.
[0242] Запоминающее устройство 1602 предназначено для хранения различных типов данных и для поддержания работы устройства 1600. Примеры таких данных включают в себя инструкции для любых приложений или способов, используемых на устройстве 1600, контактные данные, данные телефонной книги, сообщения, фотографии, видео и т.д. Запоминающее устройство 1602 может быть выполнено с использованием любого типа энергозависимого или энергонезависимого запоминающего устройства или их сочетания, такие как статическое запоминающее устройство с произвольной выборкой (SRAM), электрически стираемое программируемое запоминающее устройство (EEPROM), стираемое программируемое постоянное запоминающее устройство (EPROM), программируемое постоянное запоминающее устройство (PROM), постоянная запоминающее устройство (ROM), магнитное запоминающее устройство, флэш-память, магнитный или оптический диск.
[0243] Блок 1603 питания обеспечивает питание различных компонентов устройства 1600. Блок 1603 питания может включать в себя систему управления питанием, один или более источников питания, а также другие компоненты, связанные с генерированием, управлением и распределением питания в устройстве 1100.
[0244] Мультимедийный блок 1604 включает в себя экран, обеспечивающий выходной интерфейс между устройством 1600 и пользователем. В некоторых вариантах осуществления, экран может включать в себя жидкокристаллический дисплей (ЖКД) и сенсорную панель (СП). Если экран включает в себя сенсорную панель, экран может быть выполнен в виде сенсорного экрана, чтобы получать входные сигналы от пользователя. Сенсорная панель включает в себя один или более сенсорных датчиков для восприятия прикосновений, скольжения и жестов на сенсорной панели. Сенсорные датчики могут воспринимать не только границу прикосновения или скольжение, но и распознавать определенный период времени и нажатие, связанные с действием прикосновением или скольжением. В некоторых вариантах осуществления, мультимедийный блок 1604 включает в себя переднюю камеру и/или заднюю камеру. Передняя камера и/или задняя камера может получить внешние мультимедийные данные, пока устройство 1600 находится в рабочем режиме, таком как фотографирование или создание видео. Каждая из передних камер и камер заднего вида может быть фиксированной системой оптических линз или может иметь фокус и возможность оптического масштабирования.
[0245] Аудио блок 1605 предназначен для вывода и/или входных звуковых сигналов. Например, аудио блок 1605 включает в себя микрофон (MIC), выполненный с возможностью приема внешнего аудиосигнала, когда устройство 1600 находится в рабочем режиме, таком как в режиме вызова, режиме записи, и в режиме распознавания голоса. Полученный звуковой сигнал может дополнительно хранятся в запоминающем устройстве 1602 или передан с помощью блока 1608 связи. В некоторых вариантах осуществления аудио блок 1605 дополнительно включает в себя динамик для вывода аудиосигналов.
[0246] Интерфейс ввода/вывода 1606 обеспечивает интерфейс между блоком 1601 обработки и периферийными интерфейсными модулями, такими как клавиатура, колесо управления мыши, кнопка, и тому подобное. Кнопка может включать в себя, но не ограничивать, кнопку возврата в начало, кнопку регулирования громкости, кнопку «Пуск», и кнопку блокировки.
[0247] Сенсорный блок 1607 включает в себя один или более датчиков для обеспечения оценки статуса различных аспектов устройства 1600. Например, сенсорный блок 1607 может обнаружить открытое/закрытое состояние устройства 1600, относительное расположение компонентов устройства 1600, например, дисплея и клавиатуры, изменение в положении устройства 1600 или компонента устройства 1600, присутствие или отсутствие контакта пользователя с устройством 1100, ориентация или ускорения/замедление устройства 1600 и изменение температуры устройства 1600. Сенсорный блок 1607 может включать в себя бесконтактный датчик приближения, для обнаружения присутствия близлежащих объектов без какого-либо физического контакта. Сенсорный блок 1607 может также включать в себя оптический датчик, такой как датчик изображения CMOS или CCD, для использования в приложениях для создания изображений. В некоторых вариантах осуществления сенсорный блок 1607 может также включать в себя акселерометр, гироскопический датчик, магнитный датчик, датчик давления, или датчик температуры.
[0248] Блок 1608 связи предназначен для обеспечения связи, проводной или беспроводной, между устройством 1600 и другими устройствами. Устройство 1600 может получить доступ к беспроводной сети на основе стандарта связи, таком как WI-FI, 2G или 3G, или их сочетания. В одном из примеров осуществления, блок 1608 связи принимает широковещательный сигнал или широковещательную соответствующую информацию от внешней широковещательной системы управления через широковещательный канал. В одном из примеров осуществления, блок 1608 связи дополнительно включает в себя модуль радиосвязи на коротком расстоянии (NFC) для обеспечения связи ближнего действия. Например, модуль NFC может быть реализован на основе технологии радиочастотной/ВЧ идентификации (RFID), технологии ассоциации ИК техники передачи данных (IrDA), сверхширокополосной технологии (UWB), технологии Bluetooth (ВТ), и других технологий.
[0249] В примерах осуществления настоящего изобретения устройство 1600 можно реализовать с помощью одной или нескольких специализированных интегральных схем (СИС), цифровых сигнальных процессоров (ЦСП), устройств цифровой обработки сигналов (УЦОС), программируемых логических устройств (ПЛУ), программируемых пользователем вентильных матриц (ППВМ), контроллеров, микроконтроллеров, микропроцессоров, или других электронных блоков, для выполнения описанных выше способов.
[0250] В примерах осуществления, дополнительно предложена машиночитаемая среда долговременного хранения, содержащая инструкции, такие как введенные в запоминающее устройство 1602, выполняемые процессором 1609 в устройстве 1600, для выполнения выше описанного способа. Например, машиночитаемая среда долговременного хранения может быть постоянным запоминающим устройством (ROM), оперативным запоминающим устройством (RAM), диском CD-ROM, магнитной лентой, гибким диском, оптическим устройством хранения данных и т.п.
[0251] Когда инструкции, содержащиеся в машиночитаемой среде долговременного хранения, выполняются процессором или терминалом, терминал может применить способ резервного копирования файла, включающий в себя:
[0252] определение хеш-значения файла в соответствии с заданным алгоритмом;
[0253] запрос определенного хеш-значения в базе данных локального резервного копирования; и
[0254] если обнаружено, что хеш-значение записано в базе данных локального резервного копирования, отмена резервного копирования файла на сервер резервного копирования.
[0255] Соответственно, в настоящем изобретении дополнительно предлагается другое устройство для резервного копирования файла, включающее в себя запоминающее устройство и одну или более программ, где одна или более программ хранятся в запоминающем устройстве и предназначены для выполнения одним или более процессорами, где одна или более программ включают в себя инструкции по инициированию выполнения следующих операций:
[0256] прием запроса на получение сведений, загруженного с терминала, где запрос на получение сведений содержит хеш-значение;
[0257] запрос хеш-значения в базе данных локального резервного копирования; и
[0258] если обнаружено, что хеш-значение записано в базе данных локального резервного копирования, информирование терминала об успешной загрузке файла, соответствующего хеш-значению.
[0259] Фиг. 17 представляет другую структурную блок-схему устройства 1700 для резервного копирования файла согласно примеру осуществления. Например, устройство 1700 может быть предусмотрено в качестве сервера. Как показано на фиг. 17, сервер 1700 включает в себя блок 1722 обработки, а дополнительно включает в себя один или более процессоров и ресурсов хранения, представленных запоминающим устройством 1732, для хранения инструкций, выполняемых блоком 1722 обработки, таких как прикладные программы. Прикладные программы, хранящиеся в запоминающем устройстве 1732, могут включать в себя один или более модулей, каждый из которых соответствует набору инструкций. Кроме того, блок 1722 обработки предназначен для выполнения инструкций по применению вышеописанного способа резервного копирования файла.
[0260] Устройство 1700 может также включать в себя: блок питания 1726, предназначенный для управления питанием устройства 1700; интерфейсы 1750 проводной или беспроводной сети, предназначенные для подключения устройства 1700 к сети; и интерфейсы 1758 ввода/вывода. Устройство 1700 может работать под управлением операционной системой, хранящейся в запоминающем устройстве 1732, такой как Windows ServerTM, Mac OS XTM, UnixTM, LinuxTM, FreeBSDTM и т.п.
[0261] Другие варианты осуществления будут очевидны специалистам в данной области техники из рассмотрения описания и практического применения изобретения, раскрытого в заявке. Данная заявка подразумевает охват любых изменений, применений или адаптаций настоящего изобретения, следующих его общим принципам, и включает в себя такие отступления от настоящего описания, которые реализуемы посредством известного или общепринятой практике в данной области техники. Подразумевается, что описание и примеры следует рассматривать лишь как иллюстративные, а истинный объем и сущность изобретения изложены в нижеследующей формуле изобретения.
[0262] Необходимо понимать, что настоящее изобретение не ограничивается именно той конструкцией, которая была описана выше и проиллюстрирована в сопроводительных чертежах, и что различные модификации и изменения можно вносить без отступления от объема изобретения. Предполагается, что объем настоящего изобретения должен ограничиваться только прилагаемой формулой изобретения.