Способ, узел и система управления данными для кластера базы данных - RU2653254C1

Код документа: RU2653254C1

Чертежи

Описание

ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ

[0001] Настоящее изобретение относится к базам данных и, в частности касается способа, узла и системы управления данными для кластера базы данных.

УРОВЕНЬ ТЕХНИКИ

[0002] Все узлы в кластере базы данных подсоединены к совместно используемому дисковому массиву, а в этом совместно используемом дисковом массиве хранятся данные всех упомянутых узлов. Если узел в кластере базы данных дает сбой, то данные, обновленные в этом узле, нельзя использовать в течение некоторого периода времени, что отрицательно сказывается на выполнении ряда услуг. Обычным решением этой проблемы является обновление журнала узла в совместно используемом дисковом массиве, и тогда, если один узел дает сбой, то другой узел считывает журнал этого узла для выполнения восстановления; если другой узел не может считать журнал упомянутого узла, то данные в этом узле нельзя будет восстановить до тех пор, пока узел не будет перезапущен, и тогда обеспечивается внешнее обслуживание; однако такая обработка связана с очень большими временными затратами, что сказывается на качестве обслуживания. Вдобавок, при обновлении информации в журнале в совместно используемом дисковом массиве рабочие характеристики кластерной системы также могут сильно пострадать из-за большого количества синхронизированных журналов.

СУЩНОСТЬ ИЗОБРЕТЕНИЯ

[0003] Варианты осуществления настоящего изобретения обеспечивает способ, узел и систему управления данными для кластера базы данных, с тем чтобы решить проблему отрицательного воздействия на качество обслуживания, обусловленную процессом восстановления узла, требующим больших временных затрат, после того как узел дал сбой.

[0004] Согласно первому аспекту обеспечен способ управления данными для кластера базы данных, где кластер базы данных включает в себя первый двухпортовый твердотельный диск SSD, второй двухпортовый твердотельный диск SSD, первый узел, второй узел и третий узел, где первый двухпортовый SSD подсоединен к первому узлу и второму узлу, а второй двухпортовый SSD подсоединен ко второму и третьему узлу; причем способ включает в себя:

запись первым узлом журнала транзакций в первый двухпортовый SSD, так что в том случае, когда первый узел дает сбой, второй узел получает журнал транзакций из первого двухпортового SSD, и второй узел в соответствии с журналом транзакций оперирует данными, которые хранятся в первом узле, до того, как первый узел дал сбой; или

запись первым узлом журнала транзакций в первый двухпортовый SSD, так что в том случае, когда первый узел дает сбой, после того как второй узел получает журнал транзакций из первого двухпортового SSD, второй узел посылает журнал транзакций на третий узел, а третий узел оперирует данными, которые хранятся в первом узле, до того, как первый узел дал сбой, причем

третий узел, первый узел и второй узел способны передавать данные друг другу.

[0005] В первом возможном варианте реализации первого аспекта способ дополнительно включает в себя:

получение первым узлом на предварительно установленном периоде времени журнала транзакций, который имеется после контрольной точки первого двухпортового SSD, и архивирование в совместно используемый дисковый массив журнала транзакций, который имеется после указанной контрольной точки.

[0006] Со ссылкой на первый аспект или первый возможный вариант реализации первого аспекта во втором возможном варианте реализации первого аспекта способ дополнительно включает в себя:

в том случае, когда и первый узел, и второй узел являются экземплярами базы данных, непосредственное выполнение первым узлом передачи данных со вторым узлом путем использования первого двухпортового SSD.

[0007] Со ссылкой на второй возможный вариант реализации первого аспекта в третьем возможном варианте реализации первого аспекта по меньшей мере один порт в первом двухпортовом SSD является портом PCIE; и по меньшей мере один порт во втором двухпортовом SSD является портом PCIE.

[0008] Со ссылкой на первый аспект или любой один из возможных вариантов реализации (с первого по третий) первого аспекта в четвертом возможном варианте реализации первого аспекта способ дополнительно включает в себя:

запуск вторым узлом другого процесса базы данных для оперирования данными, которые хранятся в первом узле до того, как первый узел дал сбой, где другой процесс базы данных не зависит от первоначального процесса базы данных во втором узле.

[0009] Со ссылкой на первый аспект или любой один из возможных вариантов реализации (с первого по третий) первого аспекта в пятом возможном варианте реализации первого аспекта способ дополнительно включает в себя:

запуск третьим узлом другого процесса базы данных для оперирования данными, которые хранятся в первом узле до того, как первый узел дал сбой, где другой процесс базы данных не зависит от первоначального процесса базы данных в третьем узле.

[0010] Согласно второму аспекту обеспечен первый узел, где кластер базы данных включает в себя первый двухпортовый твердотельный диск SSD, второй двухпортовый твердотельный диск SSD, первый узел, второй узел и третий узел, где первый двухпортовый SSD подсоединен к первому узлу и второму узлу и второй двухпортовый SSD подсоединен ко второму узлу и третьему узлу; причем первый узел включает в себя:

блок записи, выполненный с возможностью записи журнала транзакций в первый двухпортовый SSD, так что в том случае, когда первый узел дает сбой, второй узел получает журнал транзакций из первого двухпортового SSD, и второй узел в соответствии с журналом транзакций оперирует данными, которые хранятся в первом узле, до того, как первый узел дал сбой; или

запись журнала транзакций в первый двухпортовый SSD, так что в том случае, когда первый узел дает сбой, после того как второй узел получает журнал транзакций из первого двухпортового SSD, второй узел посылает журнал транзакций на третий узел, а третий узел оперирует данными, которые хранятся в первом узле, до того, как первый узел дал сбой, причем

третий узел, первый узел и второй узел способны передавать данные друг другу.

[0011] В первом возможном варианте реализации второго аспекта первый узел дополнительно включает в себя:

блок получения, выполненный с возможностью получения на предварительно установленном периоде времени журнала транзакций, который имеется после контрольной точки первого двухпортового SSD; и

блок архивирования, выполненный с возможностью архивирования в совместно используемый дисковый массив, журнала транзакций, который имеется после указанной контрольной точки.

[0012] Со ссылкой на второй аспект или первый возможный вариант реализации второго аспекта во втором возможном варианте реализации второго аспекта первый узел дополнительно включает в себя:

блок передачи, выполненный с возможностью: в том случае, когда и первый узел, и второй узел являются экземплярами базы данных, непосредственного выполнения передачи данных со вторым узлом путем использования первого двухпортового SSD.

[0013] Со ссылкой на второй возможный вариант реализации второго аспекта в третьем возможном варианте реализации второго аспекта по меньшей мере один порт в первом двухпортовом SSD является портом PCIE; и по меньшей мере один порт во втором двухпортовом SSD является портом PCIE.

[0014] Со ссылкой на второй аспект или любой один из возможных вариантов реализации (с первого по третий) второго аспекта в четвертом возможном варианте реализации второго аспекта первый узел дополнительно включает в себя:

блок запуска, выполненный с возможностью запуска другого процесса базы данных для оперирования данными, которые хранятся в первом узле до того, как первый узел дал сбой, где другой процесс базы данных не зависит от первоначального процесса базы данных во втором узле.

[0015] Со ссылкой на второй аспект или любой один из возможных вариантов реализации (с первого по третий) второго аспекта в пятом возможном варианте реализации второго аспекта первый узел дополнительно включает в себя:

блок запуска, выполненный с возможностью запуска другого процесса базы данных для оперирования данными, которые хранятся в первом узле до того, как первый узел дал сбой, где другой процесс базы данных не зависит от первоначального процесса базы данных в третьем узле.

[0016] Согласно третьему аспекту обеспечена система управления данными для кластера базы данных, где кластер базы данных включает в себя первый двухпортовый твердотельный диск SSD, второй двухпортовый твердотельный диск SSD, первый узел, второй узел и третий узел, где первый двухпортовый SSD подсоединен к первому узлу и второму узлу и второй двухпортовый SSD подсоединен ко второму узлу и третьему узлу;

первый узел выполнен с возможностью записи журнала транзакций в первый двухпортовый SSD; и

второй узел выполнен с возможностью: в том случае, когда первый узел дает сбой, получения журнала транзакций из первого двухпортового SSD и оперирования в соответствии с журналом данными, которые хранятся в первом узле, до того, как первый узел дал сбой; или

в том случае, когда первый узел дает сбой, получения журнала транзакций из первого двухпортового SSD, посылки журнала транзакций на третий узел, а третий узел оперирует данными согласно журналу транзакций, которые хранятся в первом узле, до того, как первый узел дал сбой, причем

третий узел, первый узел и второй узел способны передавать данные друг другу.

[0017] В первом возможном варианте реализации третьего аспекта первый узел дополнительно включает в себя:

блок получения, выполненный с возможностью получения на предварительно установленном периоде времени журнала транзакций, который имеется после контрольной точки двухпортового SSD; и

блок архивирования, выполненный с возможностью архивирования в совместно используемый дисковый массив, журнала транзакций, который имеется после указанной контрольной точки.

[0018] Со ссылкой на третий аспект или первый возможный вариант реализации третьего аспекта во втором возможном варианте реализации третьего аспекта первый узел дополнительно включает в себя:

блок передачи, выполненный с возможностью: в том случае, когда и первый узел, и второй узел являются экземплярами базы данных, непосредственного выполнения передачи данных со вторым узлом путем использования первого двухпортового SSD.

[0019] Со ссылкой на второй возможный вариант реализации третьего аспекта в третьем возможном варианте реализации третьего аспекта по меньшей мере один порт в первом двухпортовом SSD является портом PCIE; и по меньшей мере один порт во втором двухпортовом SSD является портом PCIE.

[0020] Со ссылкой на третий аспект или любой один из возможных вариантов реализации (с первого по третий) третьего аспекта в четвертом возможном варианте реализации третьего аспекта первый узел дополнительно включает в себя:

блок запуска, выполненный с возможностью запуска другого процесса базы данных для оперирования данными, которые хранятся в первом узле до того, как первый узел дал сбой, где другой процесс базы данных не зависит от первоначального процесса базы данных во втором узле.

[0021] Со ссылкой на третий аспект или любой один из возможных вариантов реализации (с первого по третий) третьего аспекта в пятом возможном варианте реализации третьего аспекта блок запуска выполнен с возможностью запуска другого процесса базы данных для оперирования данными, которые хранятся в первом узле до того, как первый узел дал сбой, где другой процесс базы данных не зависит от первоначального процесса базы данных в третьем узле.

[0022] Варианты осуществления настоящего изобретения обеспечивают способ управления данными для кластера базы данных, где кластер базы данных включает в себя первый двухпортовый твердотельный диск SSD, второй двухпортовый твердотельный диск SSD, первый узел, второй узел и третий узел, где первый двухпортовый SSD подсоединен к первому узлу и второму узлу и второй двухпортовый SSD подсоединен ко второму узлу и третьему узлу; и первый узел записывает журнал транзакций в первый двухпортовый SSD, так что в том случае, когда первый узел дает сбой, второй узел получает журнал транзакций из первого двухпортового SSD, и второй узел в соответствии с журналом транзакций оперирует данными, которые хранятся в первом узле, до того как первый узел дал сбой; или первый узел записывает журнал транзакций в первый двухпортовый SSD, так что в том случае, когда первый узел дает сбой, после того как второй узел получает журнал транзакций из первого двухпортового SSD, второй узел посылает журнал транзакций на третий узел, а третий узел оперирует данными, которые хранятся в первом узле, до того как первый узел дал сбой, где между третьим узлом, первым узлом и вторым узлом может выполняться передача данных, так что, когда первый узел дал сбой, второй узел или третий узел могут использовать двухпортовый SSD для считывания информации журнала отказавшего узла, и после выполнения восстановления заменить первый узел для обеспечения внешнего обслуживания, повышая тем самым скорость восстановления кластера и улучшая доступность системы.

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ

[0023] Для более понятного описания технических решений в вариантах осуществления настоящего изобретения далее кратко представлены сопроводительные чертежи, необходимые для описания вариантов осуществления изобретения или известного уровня техники. Разумеется, что эти сопроводительные чертежи в последующем описании демонстрируют лишь некоторые варианты осуществления настоящего изобретения, а специалисты в данной области техники на основе этих сопроводительных чертежей могут получить другие чертежи, не прикладывая каких-либо творческих усилий.

[0024] Фиг. 1 - схематическое представление системы управления данными для кластера базы данных согласно варианту осуществления настоящего изобретения;

[0025] фиг. 2 - схематическое представление структуры управления данными для кластера базы данных согласно варианту осуществления настоящего изобретения;

[0026] фиг. 3 - схематическое представление структуры управления данными для кластера базы данных согласно варианту осуществления настоящего изобретения;

[0027] фиг. 4 - схематическое представление структуры управления данными для кластера базы данных согласно варианту осуществления настоящего изобретения;

[0028] фиг. 5 - схематическое представление способа управления данными для кластера базы данных согласно варианту осуществления настоящего изобретения;

[0029] фиг. 6 - блок-схема последовательности операций способа управления данными для кластера базы данных согласно варианту осуществления настоящего изобретения;

[0030] фиг. 7 - структурная схема устройств первого узла согласно варианту осуществления настоящего изобретения; и

[0031] фиг. 8 - структурная схема устройств первого узла согласно варианту осуществления настоящего изобретения.

ПОДРОБНОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯ

[0032] Далее со ссылками на сопроводительные чертежи в вариантах осуществления настоящего изобретения следует подробное описание технических решений, принятых в вариантах осуществления настоящего изобретения. Очевидно, что описанные варианты осуществления - это лишь некоторые примеры, а не все возможные варианты осуществления настоящего изобретения.

[0033] Обратимся к фиг. 1, где представлена структурная схема системы управления данными для кластера базы данных согласно варианту осуществления настоящего изобретения. Как показано на фиг. 1, система включает в себя:

первый двухпортовый твердотельный диск (SSD) 101, второй двухпортовый SSD 102, первый узел 103, второй узел 104 и третий узел 105, где первый двухпортовый -SSD 101 подсоединен к первому узлу 103 и второму узлу 104, второй двухпортовый SSD 102 подсоединен ко второму узлу 104 и третьему узлу 105, а второй узел 104 отдельно подсоединен к первому двухпортовому SSD 101 и второму двухпортовому SSD 102;

первый узел 103 выполнен с возможностью записи журнала транзакций в первый двухпортовый SSD 101; и

второй узел 104 выполнен с возможностью: в том случае, когда первый узел 103 дает сбой, получения журнала транзакций из первого двухпортового SSD 101, и оперирования согласно журналу транзакций данными, которые хранятся в первому узле, до того, как первый узел 103 дает сбой; или

в том случае, когда первый узел 103 дает сбой, для получения журнала транзакций из первого двухпортового SSD 101, посылки журнала транзакций на третий узел 105, и третий узел 105 согласно журналу транзакций, оперирует данными, которые хранятся в первом узле, до того, как первый узел 103 дает сбой, где

передача данных может выполняться между третьим узлом 105, первым узлом 103 и вторым узлом 104.

[0034] Первый узел 103 дополнительно включает в себя:

блок получения, выполненный с возможностью получения на предварительно установленном периоде времени журнала транзакций, который имеется после контрольной точки первого двухпортового SSD; и

блок архивирования, выполненный с возможностью архивирования в совместно используемый дисковый массив журнала транзакций, который имеется после указанной контрольной точки.

[0035] Обратимся, в частности, к фигурам 2-4, на которых схематически представлены структуры управления данными для кластера базы данных согласно вариантам осуществления настоящего изобретения. Как показано на фиг. 2, первый узел создает журнал транзакций, который записывается в SSD в процессе записи фонового журнала; первый узел регулярно считывает из указанного SSD журнал, который имеется после контрольной точки, и в процесс архивирования журнала первого узла в совместно используемый дисковый массив архивируется журнал, имеющийся после контрольной точки; и после восстановления путем считывания журнала первого узла посредством использования первого двухпортового SSD второй узел заменяет в работе первый узел.

[0036] Как показано на фиг. 3, после того как первый узел дал сбой, второй узел считывает журнал первого узла из первого двухпортового SSD, второй узел запускает новый процесс базы данных для выполнения восстановления, и после выполнения восстановления второй узел обеспечивает внешнее обслуживание, и второй узел считывает журнал первого узла, используя первый двухпортовый SSD, и передает этот журнал на другой узел для выполнения восстановления

[0037] Как показано на фиг. 4, после того как первый узел дает сбой, второй узел считывает журнал первого узла из указанного SSD, второй узел передает указанный журнал на третий узел, а после получения данных первого узла и после выполнения операции восстановления третий узел обеспечивает внешнее обслуживание.

[0038] Первый узел дополнительно включает в себя:

блок передачи, выполненный с возможностью: в том случае, когда и первый узел, и второй узел являются экземплярами базы данных, непосредственно выполняет передачу данных со вторым узлом, используя первый двухпортовый SSD.

[0039] В частности, на фиг. 5 схематически представлен способ управления данными для кластера базы данных согласно варианту осуществления настоящего изобретения.

[0040] Как показано на фиг. 5, в том случае, когда и первый узел, и второй узел являются экземплярами базы данных, передача данных может непосредственно выполняться с использованием сдвоенного порта, с тем чтобы избежать проблемы низкой скорости передачи данных, вызванной, например, перегрузкой сети.

[0041] Необязательно, по меньшей мере один порт в первом двухпортовом SSD является портом PCIE, и по меньшей мере один порт во втором двухпортовом SSD является портом PCIE.

[0042] Необязательно, первый узел дополнительно включает в себя:

блок запуска, выполненный с возможностью запуска другого процесса базы данных для оперирования данными, которые хранятся в первом узле, до того, как первый узел дает сбой, где этот другой процесс базы данных не зависит от первоначального процесса базы данных во втором узле.

[0043] Необязательно, первый узел дополнительно включает в себя:

блок запуска, выполненный с возможностью запуска другого процесса базы данных для оперирования данными, которые хранятся в первому узле, до того, как первый узел дает сбой, где этот другой процесс базы данных не зависит от первоначального процесса базы данных в третьем узле.

[0044] Этот вариант осуществления настоящего изобретения обеспечивает систему управления данными для кластера базы данных, где кластер базы данных включает в себя первый двухпортовый SSD, второй двухпортовый SSD, первый узел, второй узел и третий узел, где первый двухпортовый SSD подсоединен к первому узлу и второму узлу и второй двухпортовый SSD подсоединен ко второму узлу и третьему узлу; и первый узел записывает журнал транзакций в первый двухпортовый SSD, так что в том случае, когда первый узел дает сбой, второй узел получает журнал транзакций из первого двухпортового SSD, и второй узел в соответствии с журналом транзакций оперирует данными, которые хранятся в первом узле, до того как первый узел дал сбой; или первый узел записывает журнал транзакций в первый двухпортовый SSD, так что в том случае, когда первый узел дает сбой, после того как второй узел получает журнал транзакций из первого двухпортового SSD, второй узел посылает журнал транзакций на третий узел, а третий узел оперирует данными, которые хранятся в первом узле, до того как первый узел дал сбой, где третий узел, первый узел и второй узел способны передавать данные друг другу, так что, когда первый узел дал сбой, второй узел или третий узел могут использовать двухпортовый SSD для считывания информации журнала отказавшего узла, и после выполнения восстановления заменить первый узел для обеспечения внешнего обслуживания, повышая тем самым скорость восстановления кластера и улучшая доступность системы.

[0045] Обратимся к фиг. 6, где представлена блок-схема последовательности операций способа управления данными для кластера базы данных согласно варианту осуществления настоящего изобретения. Первый двухпортовый SSD подсоединен к первому узлу и второму узлу, второй двухпортовый SSD подсоединен ко второму узлу и третьему узлу, и второй узел отдельно подсоединен к первому двухпортовому SSD и второму двухпортовому SSD. Способ включает в себя:

[0046] Шаг 601: Первый узел записывает журнал транзакций в первый двухпортовый SSD, так что в том случае, когда первый узел дает сбой, второй узел получает журнал транзакций из первого двухпортового SSD, и второй узел в соответствии с журналом транзакций оперирует данными, которые хранятся в первом узле, до того, как первый узел дал сбой; или

первый узел записывает журнал транзакций в первый двухпортовый SSD, так что в том случае, когда первый узел дает сбой, после того как второй узел получает журнал транзакций из первого двухпортового SSD, второй узел посылает журнал транзакций на третий узел, а третий узел оперирует данными, которые хранятся в первом узле, до того, как первый узел дал сбой, причем

третий узел, первый узел и второй узел способны передавать данные друг другу.

[0047] Способ дополнительно включает в себя:

получение первым узлом на предварительно установленном периоде времени журнала транзакций, который имеется после контрольной точки первого двухпортового SSD, и архивирование в совместно используемый дисковый массив журнала транзакций, который имеется после указанной контрольной точки.

[0048] Способ дополнительно включает в себя:

в том случае, когда и первый узел, и второй узел являются экземплярами базы данных, непосредственное выполнение первым узлом передачи данных со вторым узлом путем использования первого двухпортового SSD.

[0049] По меньшей мере один порт в первом двухпортовом SSD является портом PCIE; и по меньшей мере один порт во втором двухпортовом SSD является портом PCIE.

[0050] За подробностями обратитесь к описанию фигур 2-4.

[0051] Способ дополнительно включает в себя:

запуск вторым узлом другого процесса базы данных для оперирования данными, которые хранятся в первом узле до того, как первый узел дал сбой, где другой процесс базы данных не зависит от первоначального процесса базы данных во втором узле.

[0052] Способ дополнительно включает в себя:

запуск третьим узлом другого процесса базы данных для оперирования данными, которые хранятся в первом узле до того, как первый узел дал сбой, где другой процесс базы данных не зависит от первоначального процесса базы данных в третьем узле.

[0053] За подробностями обратитесь к описанию фиг. 5.

[0054] Этот вариант осуществления настоящего изобретения обеспечивает способ управления данными для кластера базы данных, где кластер базы данных включает в себя первый двухпортовый твердотельный диск SSD, второй двухпортовый SSD, первый узел, второй узел и третий узел, где первый двухпортовый SSD подсоединен к первому узлу и второму узлу и второй двухпортовый SSD подсоединен ко второму узлу и третьему узлу; и первый узел записывает журнал транзакций в первый двухпортовый SSD, так что в том случае, когда первый узел дает сбой, второй узел получает журнал транзакций из первого двухпортового SSD, и второй узел в соответствии с журналом транзакций оперирует данными, которые хранятся в первом узле, до того как первый узел дал сбой; или первый узел записывает журнал транзакций в первый двухпортовый SSD, так что в том случае, когда первый узел дает сбой, после того как второй узел получает журнал транзакций из первого двухпортового SSD, второй узел посылает журнал транзакций на третий узел, а третий узел оперирует данными, которые хранятся в первом узле, до того как первый узел дал сбой, где третий узел, первый узел и второй узел способны передавать данные друг другу, так что, когда первый узел дал сбой, второй узел или третий узел могут использовать двухпортовый SSD для считывания информации журнала отказавшего узла, и после выполнения восстановления заменить первый узел для обеспечения внешнего обслуживания, повышая тем самым скорость восстановления кластера и улучшая доступность системы.

[0055] Обратимся к фиг. 7, где представлена структурная схема устройств первого узла согласно варианту осуществления настоящего изобретения. Как показано на фиг.7,

кластер базы данных включает в себя первый двухпортовый твердотельный диск SSD, второй двухпортовый SSD, первый узел, второй узел и третий узел, где первый двухпортовый SSD подсоединен к первому узлу и второму узлу и второй двухпортовый SSD подсоединен ко второму узлу и третьему узлу; причем первый узел включает в себя:

блок 701 записи, выполненный с возможностью записи журнала транзакций в первый двухпортовый SSD, так что в том случае, когда первый узел дает сбой, второй узел получает журнал транзакций из первого двухпортового SSD, и второй узел в соответствии с журналом транзакций оперирует данными, которые хранятся в первом узле, до того, как первый узел дал сбой; или

запись журнала транзакций в первый двухпортовый SSD, так что в том случае, когда первый узел дает сбой, после того как второй узел получает журнал транзакций из первого двухпортового SSD, второй узел посылает журнал транзакций на третий узел, а третий узел оперирует данными, которые хранятся в первом узле, до того, как первый узел дал сбой, причем

третий узел, первый узел и второй узел способны передавать данные друг другу.

[0056] Необязательно, первый узел дополнительно включает в себя:

блок получения, выполненный с возможностью получения на предварительно установленном периоде времени журнала транзакций, который имеется после контрольной точки первого двухпортового SSD; и

блок архивирования, выполненный с возможностью архивирования в совместно используемый дисковый массив, журнала транзакций, который имеется после указанной контрольной точки.

[0057] Необязательно, первый узел дополнительно включает в себя:

блок передачи, выполненный с возможностью: в том случае, когда и первый узел, и второй узел являются экземплярами базы данных, непосредственного выполнения передачи данных со вторым узлом путем использования первого двухпортового SSD.

[0058] По меньшей мере один порт в первом двухпортовом SSD является портом PCIE; и по меньшей мере один порт во втором двухпортовом SSD является портом PCIE.

[0059] Необязательно, первый узел дополнительно включает в себя:

блок запуска, выполненный с возможностью запуска другого процесса базы данных для оперирования данными, которые хранятся в первом узле до того, как первый узел дал сбой, где другой процесс базы данных не зависит от первоначального процесса базы данных во втором узле.

[0060] Необязательно, первый узел дополнительно включает в себя:

блок запуска, выполненный с возможностью запуска другого процесса базы данных для оперирования данными, которые хранятся в первом узле до того, как первый узел дал сбой, где другой процесс базы данных не зависит от первоначального процесса базы данных в третьем узле.

[0061] За подробностями обратитесь к описаниям фигур 2-5.

[0062] Этот вариант осуществления настоящего изобретения обеспечивает первый узел, где первый узел записывает журнал транзакций в первый двухпортовый SSD, так что в том случае, когда первый узел дает сбой, второй узел получает журнал транзакций из первого двухпортового SSD, и второй узел в соответствии с журналом транзакций оперирует данными, которые хранятся в первом узле, до того как первый узел дал сбой; или первый узел записывает журнал транзакций в первый двухпортовый SSD, так что в том случае, когда первый узел дает сбой, после того как второй узел получает журнал транзакций из первого двухпортового SSD, второй узел посылает журнал транзакций на третий узел, а третий узел оперирует данными, которые хранятся в первом узле, до того как первый узел дал сбой, где третий узел, первый узел и второй узел способны передавать данные друг другу, так что, когда первый узел дал сбой, второй узел или третий узел могут использовать двухпортовый SSD для считывания информации журнала отказавшего узла, и после выполнения восстановления заменить первый узел для обеспечения внешнего обслуживания, повышая тем самым скорость восстановления кластера и улучшая доступность системы.

[0063] На фиг.8 представлена структурная схема устройств первого узла согласно варианту осуществления настоящего изобретения. Обратимся к фиг. 8, где показан первый узел 800 согласно варианту осуществления настоящего изобретения, причем конкретный вариант осуществления настоящего изобретения не ограничивает специфическую реализацию первого узла. Первый узел 800 включает в себя:

процессор 801, коммуникационный интерфейс802, память 803 и шину 804.

[0064] Процессор 801, коммуникационный интерфейс 802 и память 803 полностью взаимосвязаны путем использования шины 804.

[0065] Коммуникационный интерфейс 802 выполнен с возможностью осуществления связи с другим устройством, а процессор 801 выполнен с возможностью выполнения программы.

[0066] В частности, указанная программа может включать в себя программный код, а программный код включает в себя команду компьютерной операции.

[0067] Процессор 801 может представлять собой центральный обрабатывающий блок (CPU) или прикладную специализированную интегральную схему (ASIC) или может быть выполнен в виде одной или нескольких интегральных схем реализации вариантов осуществления настоящего изобретения.

[0068] Память 803 выполнена с возможностью хранения программы. Память 803 может представлять собой энергозависимую память, такую как память с произвольным доступом (RAM) или энергонезависимую память, такую как память только для считывания(ROM), флэш-память, накопитель на жестком диске (HDD) или твердотельный накопитель (SSD). Процессор 801 выполняет нижеследующий способ согласно программной инструкции, хранящейся в памяти 803:

запись первым узлом журнала транзакций в первый двухпортовый SSD, так что в том случае, когда первый узел дает сбой, второй узел получает журнал транзакций из первого двухпортового SSD, и второй узел в соответствии с журналом транзакций оперирует данными, которые хранятся в первом узле, до того, как первый узел дал сбой; или

запись первым узлом журнала транзакций в первый двухпортовый SSD, так что в том случае, когда первый узел дает сбой, после того как второй узел получает журнал транзакций из первого двухпортового SSD, второй узел посылает журнал транзакций на третий узел, а третий узел оперирует данными, которые хранятся в первом узле, до того, как первый узел дал сбой, причем

третий узел, первый узел и второй узел способны передавать данные друг другу.

[0069] Способ дополнительно включает в себя:

получение первым узлом на предварительно установленном периоде времени журнала транзакций, который имеется после контрольной точки первого двухпортового SSD, и архивирование в совместно используемый дисковый массив, журнала транзакций, который имеется после указанной контрольной точки.

[0070] Способ дополнительно включает в себя:

в том случае, когда и первый узел, и второй узел являются экземплярами базы данных, непосредственное выполнение первым узлом передачи данных со вторым узлом путем использования первого двухпортового SSD.

[0071] По меньшей мере один порт в первом двухпортовом SSD является портом PCIE; и по меньшей мере один порт во втором двухпортовом SSD является портом PCIE.

[0072] Способ дополнительно включает в себя:

запуск вторым узлом другого процесса базы данных для оперирования данными, которые хранятся в первом узле до того, как первый узел дал сбой, где другой процесс базы данных не зависит от первоначального процесса базы данных во втором узле.

[0073] Способ дополнительно включает в себя:

запуск третьим узлом другого процесса базы данных для оперирования данными, которые хранятся в первом узле до того, как первый узел дал сбой, где другой процесс базы данных не зависит от первоначального процесса базы данных в третьем узле.

[0074] Этот вариант осуществления настоящего изобретения обеспечивает первый узел, где первый узел записывает журнал транзакций в первый двухпортовый SSD, так что в том случае, когда первый узел дает сбой, второй узел получает журнал транзакций из первого двухпортового SSD, и второй узел в соответствии с журналом транзакций оперирует данными, которые хранятся в первом узле, до того как первый узел дал сбой; или первый узел записывает журнал транзакций в первый двухпортовый SSD, так что в том случае, когда первый узел дает сбой, после того как второй узел получает журнал транзакций из первого двухпортового SSD, второй узел посылает журнал транзакций на третий узел, а третий узел оперирует данными, которые хранятся в первом узле, до того как первый узел дал сбой, где третий узел, первый узел и второй узел способны передавать данные друг другу, так что, когда первый узел дает сбой, второй узел или третий узел могут использовать двухпортовый SSD для считывания информации журнала отказавшего узла, и после выполнения восстановления заменить первый узел для обеспечения внешнего обслуживания, повышая тем самым скорость восстановления кластера и улучшая доступность системы.

[0075] Приведенные выше описания являются лишь примерными и конкретными вариантами реализации настоящего изобретения, и они не имеют своей целью ограничение объема защиты настоящего изобретения. Любые изменения или замены в техническом объеме, раскрытом в настоящем изобретении, которые без труда придут на ум специалистам в данной области техники, не должны выходить за рамки объема защиты настоящего изобретения. Таким образом, объем защиты настоящего изобретения должен соответствовать объему защиты формулы изобретения.

Реферат

Изобретение относится к средствам управления данными для кластера базы данных. Технический результат заключается в повышении надежности работы и быстродействия системы управления. Система включает первый двухпортовый SSD, второй двухпортовый SSD, первый узел, второй узел и третий узел, где первый двухпортовый SSD подсоединен к первому узлу и второму узлу и второй двухпортовый SSD подсоединен ко второму узлу и третьему узлу; и первый узел записывает журнал транзакций в первый двухпортовый SSD, когда первый узел дает сбой, второй узел получает журнал транзакций из первого двухпортового SSD и в соответствии с журналом транзакций оперирует данными, которые хранятся в первом узле, второй узел или третий узел могут использовать двухпортовый SSD для считывания информации журнала отказавшего узла, и заменить первый узел для обеспечения внешнего обслуживания, повышая тем самым скорость восстановления кластера и улучшая доступность системы. 3 н. и 15 з.п.ф-лы. 8 ил.

Формула

1. Способ управления данными для кластера базы данных, где кластер базы данных содержит первый двухпортовый твердотельный диск SSD, второй двухпортовый SSD, первый узел, второй узел и третий узел, где первый двухпортовый SSD подсоединен к первому узлу и второму узлу, а второй двухпортовый SSD подсоединен ко второму узлу и третьему узлу; причем способ содержит:
запись первым узлом журнала транзакций в первый двухпортовый SSD, так что в том случае, когда первый узел дает сбой, второй узел получает журнал транзакций из первого двухпортового SSD и в соответствии с журналом транзакций оперирует данными, которые хранятся в первом узле, до того, как первый узел дал сбой; или
запись первым узлом журнала транзакций в первый двухпортовый SSD, так что в том случае, когда первый узел дает сбой, второй узел получает журнал транзакций из первого двухпортового SSD, и посылает журнал транзакций на третий узел, а третий узел оперирует данными, которые хранятся в первом узле, до того как первый узел дал сбой, причем
третий узел, первый узел и второй узел способны передавать данные друг другу.
2. Способ по п. 1, в котором способ дополнительно содержит:
получение первым узлом на предварительно установленном периоде времени журнала транзакций, который имеется после контрольной точки первого двухпортового SSD, и архивирование в совместно используемый дисковый массив, журнала транзакций, который имеется после указанной контрольной точки.
3. Способ по п. 1, в котором способ дополнительно содержит:
когда и первый узел, и второй узел являются экземплярами базы данных, непосредственное выполнение первым узлом передачи данных со вторым узлом путем использования первого двухпортового SSD.
4. Способ по п. 3, в котором по меньшей мере один порт в первом двухпортовом SSD является портом PCIE; и по меньшей мере один порт во втором двухпортовом SSD является портом PCIE.
5. Способ по п. 1, в котором способ дополнительно содержит:
запуск вторым узлом другого процесса базы данных для оперирования данными, которые хранятся в первом узле до того, как первый узел дал сбой, где другой процесс базы данных не зависит от первоначального процесса базы данных во втором узле.
6. Способ по п. 1, в котором способ дополнительно содержит:
запуск третьим узлом другого процесса базы данных для оперирования данными, которые хранятся в первом узле до того, как первый узел дал сбой, где другой процесс базы данных не зависит от первоначального процесса базы данных в третьем узле.
7. Первый узел для управления данными в кластере базы данных, в котором кластер базы данных включает в себя первый двухпортовый твердотельный диск SSD, второй двухпортовый SSD, первый узел, второй узел и третий узел, где первый двухпортовый SSD подсоединен к первому узлу и второму узлу и второй двухпортовый SSD подсоединен ко второму узлу и третьему узлу; причем первый узел содержит: процессор, коммуникационный интерфейс и память, способные осуществлять связь друг с другом через шину, где процессор выполнен с возможностью выполнения исполняемой программы, хранящейся в указанной памяти, с тем чтобы:
записывать журнал транзакций в первый двухпортовый SSD, так что, когда первый узел дает сбой, второй узел считывает журнал транзакций из первого двухпортового SSD, и в соответствии с журналом транзакций оперирует данными, которые хранятся в первом узле, до того, как первый узел дал сбой; или
записывать журнал транзакций в первый двухпортовый SSD, так что в том случае, когда первый узел дает сбой, второй узел считывает журнал транзакций из первого двухпортового SSD и посылает журнал транзакций на третий узел, а третий узел оперирует данными, которые хранятся в первом узле, до того, как первый узел дал сбой, причем
третий узел, первый узел и второй узел способны передавать данные друг другу.
8. Первый узел по п. 7, в котором процессор узел дополнительно выполнен с возможностью выполнения исполняемой программы, хранящейся в указанной памяти, с тем чтобы:
получать на предварительно установленном периоде времени журнал транзакций, который имеется после контрольной точки первого двухпортового SSD; и
архивировать в совместно используемый дисковый массив, журнала транзакций, который имеется после указанной контрольной точки.
9. Первый узел по п.7, в котором процессор дополнительно выполнен с возможностью выполнения исполняемой программы, хранящейся в указанной памяти, с тем чтобы:
непосредственно выполнить передачу данных со вторым узлом путем использования первого двухпортового SSD, когда и первый узел, и второй узел являются экземплярами базы данных.
10. Первый узел по п. 9, в котором по меньшей мере один порт в первом двухпортовом SSD является портом PCIE; и по меньшей мере один порт во втором двухпортовом SSD является портом PCIE.
11. Первый узел по п. 7, в котором процессор дополнительно выполнен с возможностью выполнения исполняемой программы, хранящейся в указанной памяти, с тем чтобы:
запустить другой процесс базы данных для оперирования данными, которые хранятся в первом узле до того, как первый узел дал сбой, где другой процесс базы данных не зависит от первоначального процесса базы данных во втором узле.
12. Первый узел по п. 7, в котором процессор дополнительно выполнен с возможностью выполнения исполняемой программы, хранящейся в указанной памяти, с тем чтобы:
запустить другой процесс базы данных для оперирования данными, которые хранятся в первом узле до того, как первый узел дал сбой, где другой процесс базы данных не зависит от первоначального процесса базы данных в третьем узле.
13. Система управления данными, содержащая первый двухпортовый твердотельный диск SSD, второй двухпортовый SSD, первый узел, второй узел и третий узел, где первый двухпортовый SSD подсоединен к первому узлу и второму узлу, а второй двухпортовый SSD подсоединен ко второму узлу и третьему узлу;
первый узел выполнен с возможностью записи журнала транзакций в первый двухпортовый SSD; и
второй узел выполнен с возможностью: получения журнала транзакций из первого двухпортового SSD, когда первый узел дает сбой, и оперирования согласно журналу транзакций данными, которые хранятся в первому узле, до того, как первый узел дает сбой; или
получения журнала транзакций из первого двухпортового SSD, когда первый узел дает сбой, и посылки журнала транзакций на третий узел, и третий узел согласно журналу транзакций, оперирует данными, которые хранятся в первом узле, до того, как первый узел дает сбой, где
третий узел, первый узел и второй узел способны передавать данные друг другу.
14. Система по п. 13, в которой первый узел дополнительно выполнен с возможностью: получения на предварительно установленном периоде времени журнала транзакций, который имеется после контрольной точки первого двухпортового SSD; и
блок архивирования в совместно используемый дисковый массив журнала транзакций, который имеется после указанной контрольной точки.
15. Система по п. 13, в которой первый узел дополнительно
выполнен с возможностью непосредственного выполнения передачи данных со вторым узлом путем использования первого двухпортового SSD когда и первый узел, и второй узел являются экземплярами базы данных.
16. Система по п. 15, в которой по меньшей мере один порт в первом двухпортовом SSD является портом PCIE, и по меньшей мере один порт во втором двухпортовом SSD является портом PCIE.
17. Система по п. 13, где первый узел дополнительно выполнен с возможностью:
запуска другого процесса базы данных для оперирования данными, которые хранятся в первому узле, до того, как первый узел дает сбой, где этот другой процесс базы данных не зависит от первоначального процесса базы данных во втором узле.
18. Система по п. 13, где первый узел дополнительно выполнен с возможностью:
запуска другого процесса базы данных для оперирования данными, которые хранятся в первом узле, до того, как первый узел дает сбой, где этот другой процесс базы данных на зависит от первоначального процесса базы данных в третьем узле.

Авторы

Патентообладатели

Заявители

СПК: G06F16/00 G06F2201/80 G06F2201/805 G06F2201/82 G06F2213/0026

Публикация: 2018-05-07

Дата подачи заявки: 2014-11-25

0
0
0
0
Невозможно загрузить содержимое всплывающей подсказки.
Поиск по товарам