СПОСОБ И УСТРОЙСТВО ДЛЯ ВОССТАНОВЛЕНИЯ БАЗЫ ДАННЫХ РЕЗЕРВНОГО УЗЛА
METHOD AND DEVICE FOR RESTORING BACKUP DATABASE

ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
[0001] Настоящее изобретение в целом относится к области техники связи, и более конкретно, к способу и устройству для восстановления базы данных резервного узла.
ПРЕДШЕСТВУЮЩИЙ УРОВЕНЬ ТЕХНИКИ
[0002] База данных (Data Base) является набором связанных и структурированных данных, надлежаще сохраняемых в устройстве хранения данных в компьютере. Технология потоковой репликации по журналу отката (redo) обычно используется, чтобы реализовывать горячее резервное копирование базы данных с двухузловым кластером. База данных активного узла посылает постоянно-формируемые потоки журнала отката на базу данных резервного узла, и база данных резервного узла повторно выполняет потоки журнала отката для восстановления данных, чтобы реализовать горячее резервное копирование. Однако только ограниченные файлы журналов сохраняются в базе данных активного узла. Когда скорость репликации базы данных резервного узла является чрезмерно низкой, восстановление является чрезмерно медленным, сеть разрушена, или подобное, база данных резервного узла не может реплицировать необходимый файл журнала из базы данных активного узла, и механизм потоковой репликации останавливается. В этом случае база данных резервного узла подлежит восстановлению, чтобы продолжить выполнение потоковой репликации.
[0003] В существующем способе для восстановления базы данных резервного узла, все файлы данных и все файлы журнала в базе данных активного узла реплицируют однократно в базу данных резервного узла, так что потоковая репликация может продолжаться после того, как база данных резервного узла повторно запускается. Однако когда в базе данных активного узла имеется большой объем данных, этот способ для восстановления базы данных резервного узла может быть затратной по времени и вызывать чрезвычайно высокое потребление сетевых ресурсов.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
[0004] Варианты осуществления настоящего изобретения обеспечивают способ и устройство для восстановления базы данных резервного узла, каковое может сократить время для восстановления базы данных резервного узла.
[0005] Согласно первому аспекту, обеспечивается способ для восстановления базы данных резервного узла, включающий в себя: получение информации файла о первом файле страничной структуры (находящемся) в базе данных активного узла и информации файла о втором файле страничной структуры (находящемся) в базе данных резервного узла, где первый файл страничной структуры и второй файл страничной структуры являются файлами данных, соответствующими друг другу; сравнение информации файла о первом файле страничной структуры с информацией файла о втором файле страничной структуры, чтобы получить результат сравнения, является ли информация файла одинаковой; и восстановление базы данных резервного узла в соответствии с результатом сравнения, является ли информация файла одинаковой.
[0006] Со ссылкой на первый аспект, в способе реализации первого аспекта, восстановление базы данных резервного узла в соответствии с результатом сравнения, является ли информация файла одинаковой, включает в себя: когда результат сравнения, является ли информация файла одинаковой, таков, что информация файла о первом файле страничной структуры отличается от информации файла второго файла страничной структуры, замену второго файла страничной структуры первым файлом страничной структуры.
[0008] Со ссылкой на первый аспект и вышеуказанный способ реализации первого аспекта, в другом способе реализации первого аспекта информация файла включает в себя размер файла; и сравнение информации файла о первом файле страничной структуры с информацией файла о втором файле страничной структуры составляет конкретно: сравнение размера файла первого файла страничной структуры с размером файла второго файла страничной структуры.
[0009] Со ссылкой на первый аспект и вышеуказанные способы реализации первого аспекта, в другом способе реализации первого аспекта, когда результатом сравнения размеров файла является «различные», восстановление базы данных резервного узла составляет конкретно замена всех страниц во втором файле страничной структуры всеми страницами (находящимися) в первом файле страничной структуры.
[0010] Со ссылкой на первый аспект и вышеуказанные способы реализации первого аспекта, в другом способе реализации первого аспекта, информация файла включает в себя количество страниц; и сравнение информации файла о первом файле страничной структуры с информацией файла о втором файле страничной структуры составляет конкретно: сравнение количества страницы первого файла страничной структуры с количеством страниц второго файла страничной структуры.
[0011] Со ссылкой на первый аспект и вышеуказанные способы реализации первого аспекта, в другом способе реализации первого аспекта, когда результатом сравнения значений количества страниц является «различные», восстановление базы данных резервного узла является конкретно заменой всех страниц во втором файле страничной структуры всеми страницами в первом файле страничной структуры.
[0012] Со ссылкой на первый аспект и вышеуказанные способы реализации первого аспекта, в другом способе реализации первого аспекта, когда результатом сравнения информации файла является «одинаковая», восстановление базы данных резервного узла составляет конкретно: сравнение поочередно информации версии каждой страницы в первом файле страничной структуры с информацией версии каждой страницы во втором файле страничной структуры; и для страниц с отличающейся информацией версии страницы замена соответствующей страницы во втором файле страничной структуры страницей в первом файле страничной структуры.
[0013] Со ссылкой на первый аспект и вышеуказанные способы реализации первого аспекта, в другом способе реализации первого аспекта информация версии страницы включает в себя местоположение файла журнала или логическую отметку времени системы.
[0014] Со ссылкой на первый аспект и вышеуказанные способы реализации первого аспекта, в другом способе реализации первого аспекта, до восстановления базы данных резервного узла в соответствии с результатом сравнения, является ли информация файла одинаковой, способ дополнительно включает в себя: определение, что база данных активного узла поддерживает отношение репликации, и процесс базы данных резервного узла отключен нормально.
[0015] Со ссылкой на первый аспект и вышеуказанные способы реализации первого аспекта, в другом способе реализации первого аспекта, когда результатом сравнения, является ли информация файла одинаковой, является «одинаковая, и результатом сравнения информации версии страницы является «одинаковая», второй файл страничной структуры не модифицируют.
[0016] Согласно второму аспекту, обеспечивается устройство для восстановления базы данных резервного узла, где устройство включает в себя: блок получения, выполненный с возможностью получения информации файла о первом файле страничной структуры в базе данных активного узла и информации файла о втором файле страничной структуры в базе данных резервного узла, где первый файл страничной структуры и второй файл страничной структуры являются файлами данных, соответствующими друг другу; блок сравнения, выполненный с возможностью сравнения информации файла о первом файле страничной структуры с информацией файла о втором файле страничной структуры, которая получена блоком получения, чтобы получить результат сравнения, является ли информация файла одинаковой; и блок восстановления, выполненный с возможностью восстановления базы данных резервного узла в соответствии с результатом сравнения, является ли информация файла той же, и который получен блоком сравнения.
[0017] Со ссылкой на второй аспект, в способе реализации второго аспекта, блок восстановления конкретно выполнен с возможностью: когда результат сравнения, является ли информация файла одинаковой, таков, что информация файла о первом файле страничной структуры отличается от информации файла о втором файле страничной структуры, заменять второй файл страничной структуры первым файлом страничной структуры.
[0018] Со ссылкой на второй аспект и вышеуказанный способ реализации второго аспекта, в другом способе реализации второго аспекта, информация файла включает в себя размер файла; и блок сравнения конкретно выполнен с возможностью сравнения размера файла первого файла страничной структуры с размером файла для второго файла страничной структуры.
[0019] Со ссылкой на второй аспект и вышеуказанные способы реализации второго аспекта, в очередном способе реализации второго аспекта, когда результатом сравнения размеров файлов, полученным блоком сравнения, является «различные», блок восстановления конкретно выполнен с возможностью замены всех страниц во втором файле страничной структуры всеми страницами в первом файле страничной структуры.
[0020] Со ссылкой на второй аспект и вышеуказанные способы реализации второго аспекта, в очередном способе реализации второго аспекта, информация файла включает в себя количество страниц; и блок сравнения конкретно выполнен с возможностью сравнения количества страниц первого файла страничной структуры с количеством страниц второго файла страничной структуры.
[0021] Со ссылкой на второй аспект и вышеуказанные способы реализации второго аспекта, в очередном способе реализации второго аспекта, когда результатом сравнения количества страниц, полученным блоком сравнения, является «различное», блок восстановления конкретно выполнен с возможностью замены всех страниц во втором файле страничной структуры всеми страницами в первом файле страничной структуры.
[0022] Со ссылкой на второй аспект и вышеуказанные способы реализации второго аспекта, в очередном способе реализации второго аспекта, когда результатом сравнения информации файла является «одинаковая», блок восстановления конкретно выполнен с возможностью: сравнивать поочередно информацию версии каждой страницы в первом файле страничной структуры с информацией версии каждой страницы во втором файле страничной структуры; и для страниц с отличающейся информацией версии страницы заменять соответствующую страницу во втором файле страничной структуры страницей в первом файле страничной структуры.
[0023] Со ссылкой на второй аспект и вышеуказанные способы реализации второго аспекта, в очередном способе реализации второго аспекта информация версии страницы включает в себя местоположение файла журнала или логическую отметку времени системы.
[0024] Со ссылкой на второй аспект и вышеуказанные способы реализации второго аспекта, в очередном способе реализации второго аспекта устройство дополнительно включает в себя блок определения, и блок определения выполнен с возможностью: до восстановления блоком восстановления базы данных резервного узла в соответствии с результатом сравнения, является ли информация файла одинаковой, дополнительно определять, что база данных активного узла поддерживает отношение репликации, и процесс базы данных резервного узла отключен нормально.
[0025] Со ссылкой на второй аспект и вышеуказанные способы реализации второго аспекта, в очередном способе реализации второго аспекта, когда результатом сравнения, является ли информация файла одинаковой, и который получен блоком сравнения, является «одинаковая», и результатом сравнения информации версии страницы является «одинаковая», блок восстановления выполнен с возможностью пропуска модифицирования второго файла страничной структуры.
[0026] В вариантах осуществления настоящего изобретения, в ходе восстановления базы данных резервного узла получают информацию файла о первом файле страничной структуры в базе данных активного узла и информацию файла о втором файле страничной структуры в базе данных резервного узла и сравнивают, чтобы определить, является ли информация файла одинаковой, и базу данных резервного узла восстанавливают в соответствии с результатом сравнения, тем самым избегая чрезвычайно высокого потребления сетевого ресурса, вносимого в силу того, что базу данных резервного узла восстанавливают способом полного резервного копирования, когда имеется большой объем данных в базе данных активного узла, и сокращая время для восстановления базы данных резервного узла.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0027] Чтобы описать технические решения в вариантах осуществления настоящего изобретения более ясно, последующее кратко описывает сопроводительные чертежи, требуемые для описания вариантов осуществления настоящего изобретения. Очевидно, сопроводительные чертежи в последующем описании показывают просто некоторые варианты осуществления настоящего изобретения, и специалист в данной области техники все еще может вывести другие чертежи из этих сопроводительные чертежи без творческих усилий.
[0028] Фиг.1 - схема последовательности операций способа для восстановления базы данных резервного узла согласно варианту осуществления настоящего изобретения;
[0029] Фиг.2 - схема последовательности операций способа для восстановления базы данных резервного узла согласно другому варианту осуществления настоящего изобретения;
[0030] Фиг.3 - схематичное изображение восстановления базы данных резервного узла на основании информации версии страницы базы данных активного узла и информации версии страницы базы данных резервного узла согласно варианту осуществления настоящего изобретения;
[0031] Фиг.4 - блок-схема устройства для восстановления базы данных резервного узла согласно варианту осуществления настоящего изобретения; и
[0032] Фиг.5 - блок-схема устройства для восстановления базы данных резервного узла согласно другому варианту осуществления настоящего изобретения.
ОПИСАНИЕ ВАРИАНТОВ ОСУЩЕСТВЛЕНИЯ ИЗОБРЕТЕНИЯ
[0033] Последующее ясно описывает технические решения в вариантах осуществления настоящего изобретения со ссылкой на сопроводительные чертежи в вариантах осуществления настоящего изобретения. Очевидно, описанные варианты осуществления являются частью, а не всеми вариантами осуществления настоящего изобретения. Все другие варианты осуществления, полученные средним специалистом в данной области техники на основании вариантов осуществления настоящего изобретения без творческих усилий, должны находиться в рамках объема охраны настоящего изобретения.
[0034] Фиг.1 является схемой схема последовательности операций способа для восстановления базы данных резервного узла согласно варианту осуществления настоящего изобретения.
[0035] Этап 101: Получить информацию файла о первом файле страничной структуры в базе данных активного узла и информацию файла о втором файле страничной структуры в базе данных резервного узла, где первый файл страничной структуры и второй файл страничной структуры являются файлами данных, соответствующими друг другу.
[0036] Этап 102: Сравнить информацию файла о первом файле страничной структуры с информацией файла о втором файле страничной структуры, чтобы получить результат сравнения, является ли информация файла одинаковой.
[0037] Этап 103: Восстановить базу данных резервного узла в соответствии с результатом сравнения, является ли информация файла одинаковой.
[0038] В этом варианте осуществления настоящего изобретения, в ходе восстановления базы данных резервного узла получают информацию файла о первом файле страничной структуры в базе данных активного узла и информацию файла о втором файле страничной структуры в базе данных резервного узла и сравнивают, чтобы определить, является ли информация файла одинаковой, и базу данных резервного узла восстанавливают в соответствии с результатом сравнения, тем самым избегая чрезвычайно высокого потребления сетевого ресурса, вносимого в силу того, что базу данных резервного узла восстанавливают способом полного резервного копирования, когда имеется большой объем данных в базе данных активного узла, и сокращая время для восстановления базы данных резервного узла.
[0039] База данных резервного узла может получать информацию файла о первом файле страничной структуры в базе данных активного узла и информацию файла о втором файле страничной структуры в базе данных резервного узла. Первый файл страничной структуры и второй файл страничной структуры являются файлами данных, соответствующими друг другу. Первый файл страничной структуры может быть любым файлом страничной структуры из файлов данных в базе данных активного узла. Конкретно, база данных активного узла может считывать информацию версии файла страничной структуры из локальных файлов данных, и затем посылать информацию версии файла страничной структуры в базу данных резервного узла. База данных резервного узла может дополнительно считывать информацию версии второго файла страничной структуры, которая соответствует местоположению первого файла страничной структуры файлов данных в базе данных активного узла и относится к файлам данных в базе данных резервного узла. Соответствие местоположения при этом может быть таково, что местоположения файла являются одинаковыми, например, местоположение первого файла страничной структуры в базе данных активного узла является одинаковым с местоположением второго файла страничной структуры в базе данных резервного узла.
[0040] Файлы в базе данных включают в себя файл данных и файл журнала. В ходе восстановления базы данных резервного узла восстановлению полностью подлежат файл данных и файл журнала. Когда обе части, и файл данных, и файл журнала, полностью реплицированы в базе данных активного узла, это указывает, что база данных резервного узла полностью восстановлена. Файл журнала отслеживает запись исполнения языка структурированного запроса (Structured Query Language, SQL) всякий раз, чтобы записать операцию обновления базы данных. Файл журнала включает информацию, требуемую для восстановления всех транзакций в базе данных.
[0041] Файл данных в базе данных активного узла или в базе данных резервного узла может включать и файл страничной структуры, и файл не-страничной структуры. Файл страничной структуры сохраняют и им управляют, используя страницу в качестве наименьшей единицы.
[0042] Следует понимать, что информация файла в этом варианте осуществления настоящего изобретения может быть размером файла, количеством страниц файла или информацией версии страницы файла. Этот вариант осуществления настоящего изобретения не налагает ограничение на информацию файла.
[0043] Когда информация файла о первом файле страничной структуры отличается от информации файла о втором файле страничной структуры, второй файл страничной структуры может заменяться первым файлом страничной структуры. Таким образом, файл в базе данных резервного узла может быть заменен файлом страничной структуры, находящимся в базе данных активного узла, где местоположение файла соответствует местоположению файла страничной структуры. Следует понимать, что когда в базе данных резервного узла не имеется файла, соответствующего файлу страничной структуры в базе данных активного узла, файл в базе данных активного узла может быть непосредственно реплицирован в соответствующее местоположение в базе данных резервного узла. Этот случай также находится в рамках объема охраны настоящего изобретения.
[0044] Конкретно, размеры файлов в базе данных могут быть одинаковыми. Являются ли файлы одинаковыми, может быть определено путем сравнения размеров файлов, или путем сравнения количества страниц файлов, или более конкретно, путем сравнения информации версии страницы файлов.
[0045] Когда информацией файла является размер файла, сравнением информации файла о первом файле страничной структуры с информацией файла о втором файле страничной структуры конкретно является сравнение размера файла первого файла страничной структуры с размером файла второго файла страничной структуры. Например, когда размер файла в базе данных активного узла и размер файла в базе данных резервного узла являются одинаковыми (например, оба по 8 Кбит), оба файла могут считаться одинаковыми. В этом случае файл в базе данных резервного узла не должен модифицироваться. Когда размер файла в базе данных активного узла и размер файла в базе данных резервного узла являются различными, эти два файла могут считаться отличающимися, и соответствующий файл в базе данных резервного узла может быть заменен файлом из базы данных активного узла. То есть, все страницы соответствующего файла в базе данных резервного узла заменяют всеми страницами файла, находящегося в базе данных активного узла.
[0046] Когда информацией файла является количество страниц, сравнение информации файла о первом файле страничной структуры с информацией файла о втором файле страничной структуры конкретно представляет сравнение количества страниц первого файла страничной структуры с количеством страниц второго файла страничной структуры. Например, когда количество страниц файла в базе данных активного узла и количество страниц файла в базе данных резервного узла являются одинаковыми (например, первый файл в базе данных активного узла включает шесть страниц, и второй файл в базе данных резервного узла включает шесть страниц, где местоположения первого файла и второго файла являются одинаковыми в этих двух базах данных), оба файла могут считаться одинаковыми. В этом случае, файл в базе данных резервного узла не должен модифицироваться. Когда количество страниц файла в базе данных активного узла и количество страниц файла в базе данных резервного узла являются различными, эти два файла могут считаться отличающимися, и файл в базе данных резервного узла может быть заменен файлом из базы данных активного узла. То есть, все страницы файла в базе данных резервного узла заменяют всеми страницами, находящимися в базе данных активного узла.
[0047] Когда информацией файла является информация версии страницы, сравнение информации файла о первом файле страничной структуры с информацией файла о втором файле страничной структуры является конкретно сравнением информации версии страницы первого файла страничной структуры с информацией версии страницы второго файла страничной структуры. Информацию версии страницы для каждой страницы файла страничной структуры в базе данных активного узла можно сравнивать с информацией версии страницы для каждой страницы файла страничной структуры в соответствующем местоположении в базе данных резервного узла. Когда информация версии для каждой страницы файла в базе данных активного узла является одинаковой с информацией версии для каждой страницы файла в соответствующей базе данных резервного узла, эти оба файла могут считаться одинаковыми. В этом случае, файл в базе данных резервного узла не должен модифицироваться. Когда информация версии страницы файла в базе данных активного узла отличается от информации версии страницы файла в соответствующей базе данных резервного узла, страница в базе данных резервного узла может быть заменена страницей из базы данных активного узла. Следует понимать, что когда значения количества страниц являются одинаковыми, относительно страниц, которые являются различными, страница в базе данных резервного узла может быть заменена страницей из базы данных активного узла. Когда значения количества страниц являются различными, например, когда у страницы в базе данных активного узла нет соответствующей страницы в базе данных резервного узла, страницу в базе данных активного узла можно реплицировать в соответствующее местоположение в базе данных резервного узла. Этот случай все еще находится в рамках объема охраны настоящего изобретения.
[0048] Следует понимать, что предшествующие три типа информации файла, размер файла, количество страниц файла и информацию версии страницы файла, можно комбинировать в произвольном порядке для определения, является ли файл страничной структуры в базе данных активного узла одинаковым с файлом страничной структуры в соответствующей базе данных резервного узла. Подробности дополнительно здесь не описываются отдельно.
[0049] Когда информация файла о первом файле страничной структуры является одинаковой с информацией файла о втором файле страничной структуры, контент первого файла страничной структуры может считаться одинаковым с контентом второго файла страничной структуры. Когда информация файла о первом файле страничной структуры отличается от информации файла о втором файле страничной структуры, контент первого файла страничной структуры может считаться отличающимся от контента второго файла страничной структуры.
[0050] Восстановление базы данных резервного узла в соответствии с результатом сравнения, является ли информация файла одинаковой, включает в себя: когда результат сравнения, является ли информация файла одинаковой, таков, что информация файла о первом файле страничной структуры отличается от информации файла о втором файле страничной структуры, замену второго файла страничной структуры первым файлом страничной структуры.
[0051] Когда результат сравнения, является ли информация файла одинаковой, таков, что информация файла о первом файле страничной структуры является одинаковой с информацией файла о втором файле страничной структуры, второй файл страничной структуры не должен модифицироваться, то есть, второй файл страничной структуры в базе данных резервного узла сохраняется. Замена второго файла первым файлом может быть полностью реплицирующей первый файл и заменяющей полный контент второго файла полным контентом первого файла. Когда количество страниц первого файла отличается от количества страниц второго файла, полная замена файла может выполняться аналогично.
[0052] Замена второго файла первым файлом может дополнительно включать в себя сравнение первой страницы первого файла с первой страницей второго файла. Когда первая страница первого файла является одинаковой с первой страницей второго файла, первая страница второго файла не должна модифицироваться. Когда первая страница первого файла отличается от первой страницы второго файла, первая страница второго файла заменяется первой страницей первого файла. Каждую страницу первого файла сравнивают с каждой страницей второго файла с тем, что страницу не реплицируют, когда страницы являются одинаковыми, и, следовательно, потребление сетевых ресурсов для восстановления базы данных резервного узла может быть снижено.
[0053] Конкретно, первая страница первого файла является страницей файла страничной структуры для файла данных в базе данных активного узла. Первая страница второго файла является страницей файла страничной структуры в базе данных резервного узла. Местоположение первой страницы первого файла и местоположение первой страницы второго файла являются одинаковыми в файлах данных в обеих базах данных. Файл данных в базе данных включает в себя, по меньшей мере, один файл, где файл данных может быть файлом страничной структуры или файлом не-страничной структуры. Файл страничной структуры сохраняют и им управляют, используя страницу в качестве наименьшей единицы. Страница файла страничной структуры включает в себя информацию версии. Обычно, информацией версии является местоположение или идентификатор времени в истории изменения страницы. Информация версии может постепенно увеличиваться с обновлением страницы. Обычно, если информация версии для страниц является такой же, контент страниц может считаться одинаковым. Если информация версии страниц отличается, контент страниц может считаться отличающимся. Когда контент первой страницы первого файла отличается от контента первой страницы второго файла, первую страницу второго файла можно заменять первой страницей первого файла. Например, первая страница файла в активном узле может быть реплицирована, чтобы заменить первую страницу второго файла. Когда контент первой страницы первого файла является одинаковым с контентом первой страницы второго файла, первую страницу второго файла можно не модифицировать, то есть, первую страницу второго файла можно не заменять первой страницей файла в активном узле.
[0054] Например, когда номер версии страницы файла в базе данных активного узла является одинаковым с номером версии соответствующей страницы соответствующего файла в соответствующей базе данных резервного узла, страница файла в базе данных резервного узла не должна модифицироваться. Когда номер версии страницы файла в базе данных активного узла отличается от номера версии соответствующей страницы соответствующего файла в соответствующей базе данных резервного узла, страница файла в базе данных резервного узла заменяется страницей файла в базе данных активного узла.
[0055] Определение, являются ли страницы такими же, не ограничивается в этом варианте осуществления настоящего изобретения. Например, являются ли страницы такими же, может быть определено путем использования номеров версий страниц. Однако настоящее изобретение не ограничивается этим.
[0056] Следует понимать, что замена в этом варианте осуществления настоящего изобретения может дополнительно включать в себя добавление или удаление. Когда база данных резервного узла не включает в себя второй файл (например, в процессе горячего резервного копирования с двухузловым кластером, резервный узел не может отслеживать активный узел и не реплицирует первый файл в активный узел), первый файл добавляют к местоположению, которое находится в базе данных резервного узла и соответствует первому файлу в базе данных активного узла. Когда база данных резервного узла включает в себя больше файлов, чем база данных активного узла, избыточный файл удаляют. Вышеуказанные случаи все находятся в рамках объема охраны в этом варианте осуществления настоящего изобретения.
[0057] В этом варианте осуществления настоящего изобретения базу данных резервного узла восстанавливают способом инкрементного резервного копирования. Базу данных резервного узла восстанавливают путем сравнения информации файла для файлов страничной структуры из файлов данных, необходимо реплицировать только измененный файл в базе данных активного узла и в базе данных резервного узла, и одинаковый файл не подлежит репликации. Следовательно, время для восстановления базы данных резервного узла может быть сокращено, и потребление сетевых ресурсов может быть снижено.
[0058] В этом варианте осуществления настоящего изобретения базу данных резервного узла восстанавливают способом инкрементного резервного копирования. Базе данных активного узла более не требуется передавать все данные в базу данных резервного узла, так что время для восстановления базы данных резервного узла сокращается, и потребление сетевых ресурсов на активном узле может быть дополнительно снижено.
[0059] Не обязательно, в варианте осуществления настоящего изобретения, информация версии страницы может включать, по меньшей мере, одну из следующей информации: местоположения файла журнала и логической отметки времени системы.
[0060] Не обязательно, в варианте осуществления настоящего изобретения, до восстановления базы данных резервного узла в соответствии с результатом сравнения, является ли информация файла одинаковой, способ дополнительно включает в себя определение, что база данных активного узла поддерживает отношение репликации, и процесс базы данных резервного узла отключен нормально.
[0061] Не обязательно, в варианте осуществления настоящего изобретения, когда база данных активного узла не поддерживает отношение репликации или процесс базы данных резервного узла отключен аномально, файл данных в базе данных резервного узла перезаписывают файлом данных из базы данных активного узла.
[0062] До восстановления базы данных резервного узла, может быть определено, поддерживает ли база данных активного узла отношение репликации. До восстановления базы данных резервного узла, может дополнительно определяться, нормально ли отключен процесс базы данных резервного узла. Когда база данных активного узла поддерживает отношение репликации, или когда процесс базы данных резервного узла отключен нормально, база данных резервного узла может быть восстановлена согласно информации файла о первом файле страничной структуры и информации файла о втором файле страничной структуры, так что точность восстановления базы данных резервного узла может быть повышена. Когда база данных активного узла поддерживает отношение репликации, и база данных резервного узла отключена нормально, точность восстановления базы данных резервного узла может быть дополнительно повышена путем восстановления базы данных резервного узла согласно информации файла о первом файле страничной структуры и информации файла о втором файле страничной структуры. Когда база данных активного узла не поддерживает отношение репликации, или процесс базы данных резервного узла отключен аномально, базу данных резервного узла восстанавливают способом полного резервного копирования. Файл данных в базе данных резервного узла перезаписывают файлом данных из базы данных активного узла, и файл журнала в базе данных резервного узла перезаписывают файлом журнала из базы данных активного узла.
[0063] Когда база данных активного узла разрешает режим «без журнализации» (Nologging), или файл данных в базе данных резервного узла не из базы данных активного узла, база данных активного узла не поддерживает отношение репликации. Если файл данных в базе данных резервного узла не из базы данных активного узла, может считаться, что база данных резервного узла не соответствует базе данных активного узла, и, следовательно, база данных активного узла не поддерживает отношение репликации. Например, идентификатор базы данных активного узла не согласуется с идентификатором базы данных резервного узла.
[0064] Следует понимать, что каким образом определять, что база данных активного узла не поддерживает отношение репликации, не ограничивается в этом варианте осуществления настоящего изобретения. Например, когда база данных активного узла не соответствует базе данных резервного узла, может считаться, что база данных активного узла не поддерживает отношение репликации.
[0065] База данных активного узла может разрешать режим «без журнализации» для обновления базы данных приложения. Следовательно, база данных резервного узла не может узнать, модифицирована ли база данных активного узла, или какая модификация делалась в базе данных активного узла. В этом случае, база данных резервного узла не может быть восстановлена способом инкрементного резервного копирования. Если база данных активного узла однажды разрешила режим «без журнализации», может считаться, что база данных активного узла не поддерживает отношение репликации.
[0066] Когда база данных активного узла не поддерживает отношение репликации, база данных резервного узла не может быть восстановлена способом инкрементного резервного копирования, а нуждается в восстановлении способом полного резервного копирования. Все файлы данных и все файлы журнала в базе данных активного узла реплицируют в базу данных резервного узла, то есть, файлы данных в базе данных резервного узла перезаписывают файлами данных, находящимися в базе данных активного узла, и файлы журнала в базе данных резервного узла перезаписывают файлами журнала, находящимися в базе данных активного узла.
[0067] База данных резервного узла дополнительно включает в себя управляющий файл, где управляющий файл в базе данных резервного узла может регистрировать информацию состояния базы данных резервного узла. База данных резервного узла может узнать, согласно информации состояния, является ли база данных резервного узла нормально отключенной. Каким образом определять, является ли база данных резервного узла нормально отключенной, не ограничивается в этом варианте осуществления настоящего изобретения.
[0068] Когда процесс базы данных резервного узла отключен аномально, может существовать страница частичной записи (partial write), и в этом случае, являются ли одинаковыми контент страницы в базе данных активного узла и контент страницы в соответствующей базе данных резервного узла, не может быть определено сравнением информации версии страницы. Следовательно, когда процесс базы данных резервного узла отключен аномально, база данных резервного узла не может быть восстановлена способом инкрементного резервного копирования, а подлежит восстановлению способом полного резервного копирования. Все файлы данных и все файлы журнала в базе данных активного узла реплицируют в базу данных резервного узла, то есть, файлы данных в базе данных резервного узла перезаписывают файлами данных из базы данных активного узла, и файлы журнала в базе данных резервного узла перезаписывают файлами журнала из базы данных активного узла.
[0069] Последовательность из двух этапов определения, поддерживает ли база данных активного узла отношение репликации, и является ли база данных резервного узла нормально отключенной, может быть взаимозаменяемой. Последовательность из определения, поддерживает ли база данных активного узла отношение репликации, и определения, является ли база данных резервного узла нормально отключенной, не ограничивается в этом варианте осуществления настоящего изобретения. Когда база данных активного узла не поддерживает отношение репликации, или процесс базы данных резервного узла был отключен аномально, база данных резервного узла может быть восстановлена полным резервным копированием. Когда база данных активного узла поддерживает отношение репликации, или когда база данных резервного узла отключена нормально, или когда база данных активного узла поддерживает отношение репликации, и база данных резервного узла отключена нормально, база данных резервного узла может быть восстановлена способом инкрементного резервного копирования.
[0070] Файл данных в базе данных активного узла или в базе данных резервного узла может включать в себя и файл страничной структуры, и файл не-страничной структуры. Для файла не-страничной структуры в файле данных, база данных резервного узла не может быть восстановлена сравнением информации версии страницы, но может быть восстановлена путем прямой замены файла не-страничной структуры в соответствующем местоположении файла данных в соответствующей базе данных резервного узла файлом не-страничной структуры файла данных в базе данных активного узла.
[0071] Не обязательно, в варианте осуществления настоящего изобретения, когда файл данных в базе данных активного узла включает в себя файл не-страничной структуры, файл не-страничной структуры файла данных в базе данных резервного узла заменяют файлом не-страничной структуры файла данных в базе данных активного узла. База данных активного узла дополнительно включает в себя файл журнала. В ходе восстановления базы данных резервного узла файл журнала в базе данных резервного узла может быть заменен файлом журнала из базы данных активного узла.
[0072] В этом варианте осуществления настоящего изобретения обеспечивается высокоэффективный способ для восстановления базы данных резервного узла. Информацию файла о первом файле страничной структуры файла данных в базе данных активного узла сравнивают с информацией файла о втором файле страничной структуры файла данных в базе данных резервного узла. Когда информация файла о первом файле страничной структуры является одинаковой с информацией файла о втором файле страничной структуры, контент двух фрагментов информации файла может считаться одинаковым, и страницу файла страничной структуры файла данных в базе данных резервного узла не модифицируют, тем самым снижая объем данных, подлежащих передаче, так что время для восстановления базы данных резервного узла может быть сокращено, доступность системы базы данных повышена, и рабочая характеристика восстановления базы данных резервного узла может быть дополнительно улучшена.
[0073] В ходе восстановления базы данных резервного узла, когда обе части, файл данных и файл журнала, в базе данных активного узла полностью реплицированы, это указывает, что база данных резервного узла полностью восстановлена. Файл журнала отслеживает регистрацию исполнения языка структурированных запросов (Structured Query Language, SQL) всякий раз, чтобы зарегистрировать операцию обновления базы данных. Файл журнала включает в себя информацию, требуемую для восстановления всех транзакций в базе данных.
[0074] Когда база данных резервного узла полностью восстановлена, база данных резервного узла может быть запущена, и отношение репликации между базой данных активного узла и базой данных резервного узла устанавливается снова, чтобы продолжить процесс обмена информацией, такой как горячее резервное копирование базы данных с двухузловым кластером.
[0075] Фиг.2 является блок-схемой  последовательности операций способа для восстановления базы данных резервного узла согласно другому варианту осуществления настоящего изобретения.
[0076] Этап 201: Отключить процесс базы данных резервного узла и начать восстанавливать базу данных резервного узла.
[0077] В процессе горячего резервного копирования базы данных с двухузловым кластером файл журнала, сохраняемый базой данных активного узла, является ограниченным. Когда скорость репликации базы данных резервного узла является чрезмерно низкой, восстановление базы данных резервного узла является чрезмерно медленным, сеть разрушается или подобное, база данных резервного узла не может реплицировать требуемый файл журнала из базы данных активного узла. В этом случае, механизм потоковой репликации журнала останавливается, и база данных резервного узла подлежит восстановлению. Во-первых, отключают процесс базы данных резервного узла, чтобы начать восстанавливать базу данных.
[0078] Этап 202: Определить, поддерживает ли база данных активного узла отношение репликации.
[0079] То, что база данных активного узла не поддерживает отношение репликации, заключает в себе, что база данных активного узла однажды разрешила режим «без журнализации», и база данных резервного узла не соответствует базе данных активного узла. База данных активного узла может разрешать режим «без журнализации» для обновления базы данных приложения. Следовательно, база данных резервного узла не может узнать, модифицирована ли база данных активного узла, или какая модификация делается в базе данных активного узла. В этом случае база данных резервного узла не может быть восстановлена способом инкрементного резервного копирования. Если база данных активного узла однажды разрешила режим «без журнализации», можно считать, что база данных активного узла не поддерживает отношение репликации. Кроме того, база данных активного узла может не соответствовать базе данных резервного узла, например, данные в базе данных резервного узла не из базы данных активного узла, или идентификатор базы данных активного узла не согласуется с идентификатором (таким как ID) базы данных резервного узла.
[0080] Этап 203: Восстановить базу данных резервного узла способом полного резервного копирования.
[0081] Когда результат определения на этапе 202 таков, что база данных активного узла не поддерживает отношение репликации, база данных резервного узла не может быть восстановлена способом инкрементного резервного копирования, но база данных резервного узла может быть восстановлена способом полного резервного копирования. Все файлы данных и все файлы журнала в базе данных активного узла могут заменяться в соответствующих местоположениях в базе данных резервного узла, чтобы восстановить базу данных резервного узла.
[0082] Этап 204: Определить, нормально ли отключен процесс базы данных резервного узла.
[0083] Когда результат определения на этапе 202 таков, что база данных активного узла поддерживает отношение репликации, продолжается подлежать определению, нормально ли отключен процесс базы данных резервного узла.
[0084] Последовательность из двух этапов определения, этапа 202 и этапа 204, может быть взаимозаменяемой. Последовательность из определения, поддерживает ли база данных активного узла отношение репликации, и определения, нормально ли отключен процесс базы данных резервного узла, в этом варианте осуществления настоящего изобретения. Например, сначала может быть определено, нормально ли отключен процесс базы данных резервного узла. Когда результат определения таков, что процесс базы данных резервного узла нормально отключен, продолжается подлежать определению, поддерживает ли база данных активного узла отношение репликации. Когда результат определения таков, что процесс базы данных резервного узла отключен аномально, базу данных резервного узла восстанавливают способом полного резервного копирования. Таким образом, файл данных и файл журнала в соответствующих местоположениях базы данных резервного узла заменяют файлом данных и файлом журнала в базе данных активного узла; или базу данных резервного узла запускают снова, и затем процесс базы данных резервного узла нормально отключают, чтобы далее определять, нормально ли отключен процесс базы данных резервного узла, и поддерживает ли база данных активного узла отношение репликации.
[0085] Этап 205: Восстановить базу данных резервного узла способом полного резервного копирования.
[0086] Когда процесс базы данных резервного узла отключен аномально, может присутствовать страница частичной записи (partial write), и в этом случае, является ли контент файла страничной структуры файла данных в базе данных активного узла одинаковым с контентом файла в соответствующем местоположении файла страничной структуры в файле данных в базе данных резервного узла, не может быть определено путем сравнения информации файла. Следовательно, когда результат определения на этапе 204 таков, что процесс базы данных резервного узла отключен аномально, базу данных резервного узла восстанавливают способом полного резервного копирования. Таким образом, файл данных в базе данных резервного узла заменяют файлом данных из базы данных активного узла, и файл журнала в базе данных резервного узла заменяют файлом журнала из базы данных активного узла.
[0087] Этап 206: Запустить базу данных резервного узла снова и нормально отключить процесс базы данных резервного узла.
[0088] Когда результат определения на этапе 204 таков, что процесс базы данных резервного узла отключен аномально, база данных резервного узла может быть запущена снова, и затем процесс базы данных резервного узла нормально отключают, чтобы далее снова вернуться на этап 202 для определения, поддерживает ли база данных активного узла отношение репликации, чтобы продолжить исполнять последующий процесс.
[0089] Этап 205 и этап 206 являются различными способами, принятыми, когда результат определения на этапе 204 таков, что процесс базы данных резервного узла отключен аномально. Когда процесс базы данных резервного узла отключен аномально, этап 205 и этап 206 не выполняются одновременно, но этап 205 или этап 206 могут выполняться.
[0090] Этап 207: База данных резервного узла подключается к базе данных активного узла.
[0091] База данных резервного узла подключается к базе данных активного узла, чтобы разрешить две процедуры репликации файла данных и файла журнала для восстановления базы данных резервного узла. В последующем процедура восстановления файла журнала разрешается из этапа 208, и процедура восстановления файла данных разрешается из этапа 209.
[0092] Следует понимать, что две процедуры восстановления файла данных и файла журнала выполняются одновременно и не мешают друг другу. Восстановление файла журнала на этапе 208 может всегда выполняться, пока вся база данных резервного узла не будет полностью восстановлена, с тем, чтобы перезаписать файл журнала в базу данных резервного узла, используя файл журнала в базе данных активного узла. Например, файл журнала в базе данных активного узла реплицируют в базу данных резервного узла и для замены файла журнала в базе данных резервного узла.
[0093] Этап 208: Восстановить файл журнала.
[0094] Восстановлением файла журнала является перезапись файла журнала в базу данных резервного узла с использованием файла журнала в базе данных активного узла.
[0095] Этап 209: Определить, подлежит ли файл данных восстановлению.
[0096] Файл данных в базе данных включает в себя, по меньшей мере, один файл. Когда результат определения на этапе 209 таков, что имеется страница, подлежащая восстановлению, просматривают все текущие файлы данных, и этап 210 продолжает выполняться, чтобы продолжить восстановление другого файла. Другой файл продолжает не подлежать модифицированию, или соответствующий файл в базе данных резервного узла заменяют файлом в базе данных активного узла. Когда результат определения на этапе 209 таков, что нет файла данных, подлежащего восстановлению, то есть, все файлы данных в базе данных активного узла полностью восстановлены. Затем, выполняется этап 215, чтобы завершить всю процедуру.
[0097] Этап 210: Определить, является ли первый файл файлом страничной структуры.
[0098] Когда результат определения на этапе 209 таков, что файл данных, подлежащий восстановлению в базе данных резервного узла, существует в базе данных активного узла, выполняют этап 210, чтобы определить, является ли первый файл файлом страничной структуры, где первый файл может быть любым файлом из файлов данных в базе данных активного узла.
[0100] Этап 211: Определить, является ли информация файла одинаковой.
[0101] Когда результат определения на этапе 210 таков, что первый файл является файлом страничной структуры, выполняется этап 211, чтобы определить, является ли информация файла одинаковой. В предположении, что вторым файлом является файл, который находится в базе данных резервного узла и соответствует первому файлу в базе данных активного узла, выполняется этап 211, чтобы определить, является ли информация файла о первом файле одинаковой с информацией файла о втором файле.
[0102] Каким образом сравнивать информацию файла для определения, является ли контент файла одинаковым, не ограничивается в этом варианте осуществления настоящего изобретения. Информация файла в этом варианте осуществления настоящего изобретения может быть размером файла, количеством страниц файла или информацией версии страницы файла. Информация файла может быть кроме того другой релевантной информацией, и этот вариант осуществления настоящего изобретения не ограничивается этим.
[0103] Этап 212: Пропустить модифицирование второго файла.
[0104] Когда результат определения на этапе 211 таков, что информация файла для первого файла является одинаковой с информацией файла второго файла, контент файла в первом файле может считаться одинаковым с контентом файла во втором файла. В этом случае второй файл можно не модифицировать. То есть, второй файл сохраняется в базе данных резервного узла.
[0105] После этапа 211 выполняется этап 209, чтобы определить, имеется ли файл, подлежащий восстановлению.
[0106] Этап 213: Заменить второй файл первым файлом.
[0107] Когда результат определения на этапе 211 таков, что информация файла о первом файле отличается от информации файла для второго файла, контент файла в первом файле может считаться отличающимся от контента файла второго файла. В этом случае, второй файл может заменяться первым файлом.
[0108] Следует понимать, что замена второго файла первым файлом может быть полностью реплицирующей первый файл и заменяющей полный контент второго файла полным контентом первого файла.
[0109] Замена второго файла первым файлом может дополнительно включать в себя сравнение первой страницы первого файла с первой страницей второго файла. Когда первая страница первого файла является одинаковой с первой страницей второго файла, первая страница второго файла не должна модифицироваться. Когда первая страница первого файла отличается от первой страницы второго файла, первая страница второго файла заменяется первой страницей первого файла. Каждую страницу первого файла сравнивают с каждой страницей второго файла, так что страницу не реплицируют, когда страницы являются одинаковыми, и следовательно, потребление сетевых ресурсов по восстановлению базы данных резервного узла может быть снижено.
[0110] Следует понимать, что замена дополнительно включает в себя добавление или удаление. Например, когда контент первого файла отличается от такового из второго файла, второй файл может заменяться первым файлом. Когда база данных резервного узла не включает в себя второй файл (например, в процессе горячего резервного копирования с двухузловым кластером, резервный узел не может отслеживать активный узел и не реплицирует первый файл в активный узел), первый файл добавляют в местоположение, которое находится в базе данных резервного узла и соответствует первому файлу в базе данных активного узла. Когда база данных резервного узла включает в себя больше файлов, чем база данных активного узла, избыточный файл удаляют. Вышеуказанные случаи все находятся в рамках объема охраны в этом варианте осуществления настоящего изобретения.
[0111] После этапа 213 выполняется этап 209, чтобы определить, имеется ли файл, подлежащий восстановлению.
[0112] Этап 214: Реплицировать первый файл в базу данных резервного узла.
[0113] Когда из этапа 210 определения получают, что первый файл является файлом не-страничной структуры, первый файл реплицируют в соответствующее местоположение базы данных резервного узла.
[0114] Этап 215: Окончание.
[0115] Когда результат определения на этапе 209 таков, что нет файла данных, подлежащего восстановлению, и этап 208 завершен, выполняется этап 215 для окончания всей процедуры.
[0116] Когда процедура переходит на этап 215, это указывает, что весь процесс восстановления базы данных резервного узла завершен.
[0117] Фиг.3 является схематичным изображением восстановления базы данных резервного узла на основании информации версии страницы базы данных активного узла и информации версии страницы базы данных резервного узла согласно варианту осуществления настоящего изобретения.
[0118] На Фиг.3 позиция 301 представляет файл страничной структуры для файла данных в базе данных активного узла; 302 - файл страничной структуры в файле данных в исходной базе данных резервного узла; 303 - файл страничной структуры для файла данных в восстановленной базе данных резервного узла. Одна малая прямоугольная клетка обозначает одну страницу, и страницы, которые соединены последовательно, обозначают один файл. Например, каждая из клеток 301-1, 301-2, 302-1, 302-2, 303-1 и 303-2 на фигуре указывает одну страницу. 301-1, 301-2, и последующие две малые клетки обозначают один файл. Малые пустые клетки в позициях 301 и 302 указывают, что информация версии страницы того же местоположения файла данных в базе данных активного узла является одинаковой с информацией версии страницы того же местоположения файла данных в базе данных резервного узла. Например, на Фиг.3 информация версии страницы 301-1 является одинаковой с таковой страницы 302-1. Малые пустые клетки в позициях 301 и 302 указывают, что информация версии страницы того же местоположения файла данных в базе данных активного узла отличается от информации версии страницы того же местоположения файла данных в базе данных резервного узла. Например, на Фиг.3 информация версии страницы 301-2 является отличной от таковой страницы 302-2.
[0119] На Фиг.3 файл в позиции 301 соответствует файлу в соответствующем местоположении в 302. Каждый файл в 301 соответствует каждому файлу в 302. Например, первая строка в 301 включает в себя два файла, первый файл включает в себя четыре страницы, и второй файл включает в себя две страницы. Вторая строка включает в себя файл в семь страниц, и третья строка включает в себя файл в две страницы и файл в четыре страницы. Каждый файл в 302 соответствует каждому файлу в 301.
[0120] На Фиг.3 каждая страница каждого файла в 301 соответствует каждой странице каждого файла в 302. Например, страница 301-1 соответствует странице 302-1.
[0121] В этом варианте осуществления настоящего изобретения база данных резервного узла может быть восстановлена путем сравнения информации версии страницы для тех же местоположений, которые принадлежат файлу данных в базе данных активного узла и которые принадлежат файлу данных в базе данных резервного узла. Если информация версии страницы тех же местоположений, которые принадлежат файлу данных в базе данных активного узла и которые принадлежат файлу данных в базе данных резервного узла, является такой же, ключевой контент страниц можно считать одинаковым. В ходе восстановления базы данных резервного узла страница не должна обрабатываться, то есть, страница не обрабатывается. Если отличается информация версии страницы для тех же местоположений, которые принадлежат файлу данных в базе данных активного узла и которые принадлежат файлу данных в базе данных резервного узла, ключевой контент страниц можно считать отличающимся. В ходе восстановления базы данных резервного узла страница файла данных в базе данных резервного узла может заменяться страницей файла данных, находящейся в базе данных активного узла.
[0122] Например, путем сравнения информации версии страницы 301-1 с информацией версии страницы 302-1 можно получить, что информация версии страницы 301-1 является одинаковой с информацией версии страницы 302-1. База данных резервного узла не реплицирует страницу 301-1, чтобы заменить страницу 302-1, и не обрабатывает страницу 302-1. То есть, страница 302-1 сохраняется в файле данных в базе данных резервного узла, и страница 302-1 используется в качестве страницы 303-1 файла страничной структуры в восстановленной базе данных резервного узла. Путем сравнения информации версии страницы 301-2 с информацией версии страницы 302-2 можно получить, что информация версии страницы 301-2 отличается от информации версии страницы 302-2. База данных резервного узла использует страницу 301-2 для перезаписи страницы 302-2 файла страничной структуры в исходной базе данных резервного узла. Таким образом, страница 301-1 используется в качестве страницы 303-2 файла страничной структуры в восстановленной базе данных резервного узла.
[0123] Каждую страницу файла страничной структуры просматривают аналогично, чтобы сравнивать файл страничной структуры в базе данных активного узла с файлом страничной структуры в соответствующей базе данных резервного узла. Если информация версии для страниц является одинаковой, страницу файла данных базе данных резервного узла не модифицируют. Если информация версии страниц отличается, страницу файла данных в базе данных резервного узла заменяют страницей файла данных из базы данных активного узла.
[0124] Если файл данных в базе данных активного узла включает в себя файл не-страничной структуры, файл не-страничной структуры в файле данных в базе данных резервного узла заменяется файлом не-страничной структуры.
[0125] В заключение, все файлы журнала реплицируют в базу данных резервного узла. То есть, файлы журнала в базе данных резервного узла перезаписывают файлами журнала, находящимися в базе данных активного узла, так что база данных резервного узла может быть полностью восстановлена.
[0126] Когда база данных резервного узла полностью восстановлена, база данных резервного узла может быть запущена, и отношение репликации между базой данных активного узла и базой данных резервного узла устанавливается снова, чтобы продолжить процесс обмена информацией, такой как горячее резервное копирование базы данных с двухузловым кластером.
[0127] Со ссылкой на Фиг.1, Фиг.2 и Фиг.3, вышеизложенное описывает подробно способы и принципы для восстановления базы данных резервного узла. Со ссылкой на Фиг.4 и Фиг.5, последующее описывает подробно устройство для восстановления базы данных резервного узла.
[0128] Фиг.4 является блок-схемой устройства для восстановления базы данных резервного узла согласно варианту осуществления настоящего изобретения. Устройство 40 на Фиг.4 включает в себя блок 41 получения, блок 42 сравнения и блок 43 восстановления.
[0129] Блок 41 получения выполнен с возможностью получения информации файла о первом файле страничной структуры в базе данных активного узла и информации файла о втором файле страничной структуры в базе данных резервного узла, где первый файл страничной структуры и второй файл страничной структуры являются файлами данных, соответствующими друг другу.
[0130] Блок 42 сравнения выполнен с возможностью сравнения информации файла о первом файле страничной структуры с информацией файла о втором файле страничной структуры, которая получена блоком получения, чтобы получить результат сравнения, является ли информация файла одинаковой.
[0131] Блок 43 восстановления выполнен с возможностью восстановления базы данных резервного узла в соответствии с результатом сравнения, является ли той же информация файла, и который получен блоком сравнения.
[0132] В этом варианте осуществления настоящего изобретения, в ходе восстановления базы данных резервного узла получают информацию файла о первом файле страничной структуры в базе данных активного узла и информацию файла о втором файле страничной структуры в базе данных резервного узла и сравнивают, чтобы определить, является ли информация файла одинаковой, и базу данных резервного узла восстанавливают в соответствии с результатом сравнения, тем самым избегая чрезвычайно высокого потребления сетевого ресурса, вносимого в силу того, что базу данных резервного узла восстанавливают способом полного резервного копирования, когда имеется большой объем данных в базе данных активного узла, и сокращая время для восстановления базы данных резервного узла.
[0133] Не обязательно, в варианте осуществления настоящего изобретения, блок восстановления конкретно выполнен с возможностью: когда результат сравнения, является ли информация файла одинаковой, таков, что информация файла о первом файле страничной структуры отличается от информации файла о втором файле страничной структуры, заменять второй файл страничной структуры первым файлом страничной структуры.
[0134] Не обязательно, в варианте осуществления настоящего изобретения, информация файла включает в себя размер файла. Блок сравнения конкретно выполнен с возможностью сравнения размера файла для первого файла страничной структуры с размером файла второго файла страничной структуры.
[0135] Не обязательно, в варианте осуществления настоящего изобретения, когда результат сравнения размеров файла, полученный блоком сравнения, является отличающимся, блок восстановления конкретно выполнен с возможностью замены всех страниц во втором файле страничной структуры всеми страницами в первом файле страничной структуры.
[0136] Не обязательно, в варианте осуществления настоящего изобретения, информация файла включает в себя количество страниц. Блок сравнения конкретно выполнен с возможностью сравнения количества страниц первого файла страничной структуры с количеством страниц второго файла страничной структуры.
[0137] Не обязательно, в варианте осуществления настоящего изобретения, когда результат сравнения значений количества страниц, полученный блоком сравнения, является отличающимся, блок восстановления конкретно выполнен с возможностью замены всех страниц во втором файле страничной структуры всеми страницами в первом файле страничной структуры.
[0138] Не обязательно, в варианте осуществления настоящего изобретения, когда результатом сравнения информации файла, полученным блоком сравнения, является «одинаковая», блок восстановления конкретно выполнен с возможностью сравнения поочередно информации версии каждой страницы в первом файле страничной структуры с информацией версии каждой страницы во втором файле страничной структуры. Для страниц с отличающейся информацией версии страницы соответствующая страница во втором файле страничной структуры заменяется страницей, находящейся в первом файле страничной структуры.
[0139] Не обязательно, в варианте осуществления настоящего изобретения, информация версии страницы включает в себя местоположение файла журнала или логическую отметку времени системы.
[0140] Не обязательно, в варианте осуществления настоящего изобретения, устройство дополнительно включает в себя блок определения, выполненный с возможностью: до восстановления блоком восстановления базы данных резервного узла в соответствии с результатом сравнения, является ли информация файла одинаковой, дополнительно определять, что база данных активного узла поддерживает отношение репликации, и процесс базы данных резервного узла нормально отключен.
[0141] Не обязательно, в варианте осуществления настоящего изобретения, когда результатом сравнения, является ли одинаковой информация файла, и который получен блоком сравнения, является «одинаковая», и результатом сравнения информации версии страницы также является «одинаковая», блок восстановления выполнен с возможностью пропуска модифицирования второго файла страничной структуры.
[0142] Устройство 40 по Фиг.4 может исполнять процедуры способов, показанных на Фиг.1, Фиг.2 и Фиг.3. Чтобы избежать повторения, подробности здесь не описываются.
[0143] Фиг.5 является блок-схемой устройства для восстановления базы данных резервного узла согласно другому варианту осуществления настоящего изобретения. Устройство 50 включает в себя процессор 51, память 52 и систему 53 шин. Процессор 51 подключен к памяти 52 с использованием системы 53 шин, где память 52 выполнена с возможностью сохранения инструкции, и процессор 51 выполнен с возможностью исполнения инструкции и данных, сохраненных памятью 52. Часть памяти 52 может дополнительно включать в себя энергонезависимую оперативную память (NVRAM). Все компоненты устройства связаны вместе с использованием системы 53 шин, где в дополнение к шине данных система 53 шин включает в себя шину питания, шину управления и шину сигнала состояния. Однако для ясности описания различные шины помечены на фигуре как система 53 шин.
[0144] Способы, раскрытые в вышеуказанных вариантах осуществления настоящего изобретения, могут применяться к процессору 51 или реализовываться процессором 51. В процессе реализации этапы в вышеуказанных способах могут выполняться путем использования специализированной интегральной схемы в аппаратных средствах процессора 51 или инструкции в форме программного обеспечения. Процессор 51 может быть универсальным процессором, цифровым процессором сигналов, специализированной интегральной схемой, программируемой вентильной матрицей или другим программируемым логическим устройством, логическим элементом на дискретных компонентах или устройством на транзисторной логике, или дискретным аппаратным компонентом, и может реализовывать или исполнять каждый способ, этап и логическую блок-схему, раскрытые в вариантах осуществления настоящего изобретения. Универсальный процессор может быть микропроцессором, любым стандартным процессором или подобным. Этапы способа, раскрытого со ссылкой на варианты осуществления настоящего изобретения, могут непосредственно выполняться аппаратно-реализованным процессором или могут выполняться с использованием комбинации аппаратных средств процессора и программно-реализованного модуля. Программно-реализованный модуль может быть размещен в существующем в области техники носителе, таком как оперативная память, флэш-память, постоянная память, программируемое постоянное ЗУ, электрически стираемое программируемое ЗУ или регистровая память. Носитель размещают в памяти 52. Процессор 51 считывает информацию в памяти 52 и выполняет этапы вышеуказанного способа в комбинации с аппаратными средствами процессора 51.
[0145] Конкретно, процессор 51 может получать информацию файла о первом файле страничной структуры в базе данных активного узла и информацию файла о втором файле страничной структуры в базе данных резервного узла, где первый файл страничной структуры и второй файл страничной структуры являются файлами данных, соответствующими друг другу. Информацию файла о первом файле страничной структуры и информацию файла о втором файле страничной структуры, которая получена процессором 51, сравнивают, чтобы получить результат сравнения, является ли информация файла одинаковой. Базу данных резервного узла восстанавливают в соответствии с результатом сравнения, является ли одинаковой информация файла.
[0146] В этом варианте осуществления настоящего изобретения, в ходе восстановления базы данных резервного узла получают информацию файла о первом файле страничной структуры в базе данных активного узла и информацию файла о втором файле страничной структуры в базе данных резервного узла и сравнивают, чтобы определить, является ли информация файла одинаковой, и базу данных резервного узла восстанавливают в соответствии с результатом сравнения, тем самым избегая чрезвычайно высокого потребления сетевого ресурса, вносимого в силу того, что базу данных резервного узла восстанавливают способом полного резервного копирования, когда имеется большой объем данных в базе данных активного узла, и сокращая время для восстановления базы данных резервного узла.
[0147] Не обязательно, в варианте осуществления настоящего изобретения процессор 51 выполнен с возможностью: когда результат сравнения, является ли информация файла одинаковой, таков, что информация файла о первом файле страничной структуры отличается от информации файла о втором файле страничной структуры, заменять второй файл страничной структуры первым файлом страничной структуры.
[0148] Не обязательно, в варианте осуществления настоящего изобретения, процессор 51 выполнен с возможностью: когда информация файла включает в себя размер файла, сравнивать размер файла первого файла страничной структуры с размером файла второго файла страничной структуры.
[0149] Не обязательно, в варианте осуществления настоящего изобретения, процессор 51 выполнен с возможностью: когда результат сравнения размеров файла, полученный блоком сравнения, является отличающимся, заменять все страницы во втором файле страничной структуры всеми страницами, находящимися в первом файле страничной структуры.
[0150] Не обязательно, в варианте осуществления настоящего изобретения процессор 51 выполнен с возможностью: когда информация файла включает в себя количество страниц, сравнивать количество страниц первого файла страничной структуры с количеством страниц второго файла страничной структуры.
[0151] Не обязательно, в варианте осуществления настоящего изобретения процессор 51 выполнен с возможностью: когда результат сравнения значений количества страниц, полученный блоком сравнения, является отличающимся, заменять все страницы во втором файле страничной структуры всеми страницами в первом файле страничной структуры.
[0152] Не обязательно, в варианте осуществления настоящего изобретения процессор 51 конкретно выполнен с возможностью: когда результатом сравнения информации файла, полученным блоком сравнения, является «одинаковая», сравнивать поочередно информацию версии каждой страницы в первом файле страничной структуры с информацией версии каждой страницы во втором файле страничной структуры. Для страниц с отличающейся информацией версии страницы соответствующая страница во втором файле страничной структуры заменяется страницей в первом файле страничной структуры.
[0153] Не обязательно, в варианте осуществления настоящего изобретения информация версии страницы включает в себя местоположение файла журнала или логическую отметку времени системы.
[0154] Не обязательно, в варианте осуществления настоящего изобретения процессор 51 выполнен с возможностью: до восстановления блоком восстановления базы данных резервного узла в соответствии с результатом сравнения, является ли той же информация файла, и полученного первым блоком сравнения, определять, что база данных активного узла поддерживает отношение репликации, и процесс базы данных резервного узла отключен нормально.
[0155] Не обязательно, в варианте осуществления настоящего изобретения процессор 51 выполнен с возможностью: когда результатом сравнения, одинакова информация файла, и который получен блоком сравнения, является «одинаковая», и результатом сравнения информации версии страницы также является «одинаковая», пропускать модифицирование второго файла страничной структуры.
[0156] Устройство 50 может реализовывать этапы вышеуказанного варианта осуществления способа. Чтобы избежать повторения, подробности не описываются.
[0157] Следует понимать, что "вариант осуществления" или "один вариант осуществления", упомянутые во всему описанию, означают, что конкретная функция, структура или характеристика, связанная с вариантами осуществления, включена, по меньшей мере, в один вариант осуществления настоящего изобретения. Следовательно, фразы "в варианте осуществления" или "в одном варианте осуществления", появляющиеся всюду по всему описанию могут не обязательно ссылаться на тот же вариант осуществления. Кроме того, эти конкретные функции, структуры или признаки можно комбинировать в одном или нескольких вариантах осуществления любым надлежащим образом.
[0158] Следует понимать, что порядковые номера вышеуказанных процессов не означают последовательностей исполнения в различных вариантах осуществления настоящего изобретения. Последовательности исполнения процессов следует определять в соответствии с функциями и внутренней логикой процессов и не следует рассматривать каким-либо ограничением на процессы реализации вариантов осуществления настоящего изобретения.
[0159] Следует понимать, что в вариантах осуществления настоящего изобретения "B, соответствующее A" указывает, что B связано с A, и B может быть определено в соответствии с A. Однако следует дополнительно понимать, что определение A в соответствии с B не означает, что B определяют только согласно A; то есть, B может также определяться согласно A и/или другой информации.
[0160] Термин "и/или" в этом описании показывает только ассоциативную связь для описания ассоциативно-связанных объектов и представляет, что могут существовать три отношения. Например, A и/или B может представлять следующие три случая: существует только A, существуют и A, и B, и существует только B. Кроме того, знак "/" в этом описании обычно указывает отношение "или" между ассоциативно-связанными объектами.
[0161] Специалист в данной области техники может знать, что в комбинации с примерами, описанными в вариантах осуществления, раскрытых в этом описании, этапы способа и блоки могут быть реализованы электронными аппаратными средствами, программным обеспечением компьютера или комбинацией такового. Чтобы ясно описать взаимозаменяемость между аппаратными средствами и программным обеспечением, в вышеизложенном в общем описаны этапы и построения для каждого варианта осуществления согласно функциям. Выполняются ли функции аппаратно или программно, зависит от конкретных применений и условий конструктивного ограничения технических решений. Специалист в данной области техники может использовать различные способы для реализации описанных функций для каждого конкретного применения, но не следует считать, что реализация выходит за рамки объема настоящего изобретения.
[0162] Способы или этапы, описанные в вариантах осуществления, раскрытых в этом описании, могут быть реализованы аппаратными средствами, программно-реализованной программой, исполняемой процессором, или комбинацией этого. Программа может находиться в оперативной памяти (RAM), памяти, постоянной памяти (ROM), электрически программируемой ROM, электрически стираемой программируемой ROM, регистровой памяти, накопителе на жестком диске, съемном диске, ПЗУ на компакт-диске (CD-ROM) или любой другой форме носителя, известного в области техники.
[0163] Настоящее изобретение описано подробно со ссылкой на сопроводительные чертежи и вместе с вариантами осуществления, но настоящее изобретение не ограничивается этим. Различные эквивалентные изменения или замены вариантов осуществления настоящего изобретения могут делаться средним специалистом в данной области техники без выхода за рамки сути и существа, и изменения или замены должны находиться в рамках объема охраны настоящего изобретения.