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

Иллюстрации

Показать все

Изобретение относится к управлению операцией блокировки системы баз данных. Техническим результатом является повышение производительности системы баз данных за счет того, что узел обработки реализует операцию блокировки посредством использования операнда блокировки и весь процесс управления операцией блокировки независимо выполняется посредством узла обработки, что освобождает центральный узел-координатор от обработки сообщения блокировки. В способе управления операцией блокировки системы баз данных получают операнд блокировки для целевой блокировки, при этом операнд используется для записи текущего состояния блокировки в каждом узле обработки, причем текущее состояние в каждом узле обработки представляется посредством битов данных в операнде. Используют блокировку для получения блокировки для целевого объекта данных. Получают исходное значение операнда в момент, когда используется блокировка, для получения блокировки для целевого объекта. Обновляют значение бита данных на значение, указывающее на то, что состояние целевой блокировки в первом узле обработки представляет собой "блокировка продолжается". Определяют завершается удачно или неудачно операция получения блокировки. 4 н. и 10 з.п. ф-лы, 12 ил.

Реферат

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

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

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

Совместно используемая кластерная система баз данных, главным образом, используется для приложения онлайновой обработки транзакций (онлайновой обработки транзакций, OLTP). Приложение должно поддерживать большое число параллельных пользователей, чтобы периодически добавлять и модифицировать данные. Следовательно, вся система баз данных должна управлять большим числом блокировок всех типов. Общие блокировки включают в себя блокировку страниц, блокировку процедур, блокировку кортежей и т.п. Поскольку система баз данных должна использовать блокировки, чтобы обеспечивать согласованность различных состояний базы данных, получение блокировки и снятие блокировки, как и операция ввода-вывода, в общем, представляет собой одну из наиболее длительных операций в системе баз данных. Следовательно, архитектура подсистемы блокировки в базе данных в значительной степени влияет на производительность всей системы баз данных.

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

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

Узел обработки (узел обработки, PN) отправляет сообщение с запросом в центральный узел-координатор (узел-координатор, CN). Сообщение с запросом включает в себя информацию относительно целевой блокировки. Сообщение с запросом может представлять собой сообщение с запросом на получение блокировки или сообщение с запросом на снятие блокировки. Если сообщение с запросом представляет собой сообщение с запросом на получение блокировки, сообщение с запросом включает в себя сообщение с запросом для запроса на получение коллективной блокировки или сообщение с запросом для запроса на получение монопольной блокировки.

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

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

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

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

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

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

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

- определение, посредством первого узла обработки согласно операнду блокировки, того, завершается или нет операция получения блокировки удачно.

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

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

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

- определение, посредством первого узла обработки согласно операнду блокировки, того, завершается или нет операция получения блокировки удачно, включает в себя:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Согласно третьему аспекту, настоящее изобретение предоставляет узловое устройство. Узловое устройство включает в себя модуль получения, функциональный модуль и модуль определения, причем:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Согласно четвертому аспекту, настоящее изобретение предоставляет узловое устройство. Узловое устройство включает в себя модуль получения, функциональный модуль и модуль обновления, причем:

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

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

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

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

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

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

В вышеприведенном техническом решении, первый узел обработки получает операнд блокировки для целевой блокировки, причем операнд блокировки используется для того, чтобы записывать текущее состояние целевой блокировки в каждом узле обработки в системе баз данных, и текущее состояние целевой блокировки в каждом узле обработки в системе баз данных представляется посредством одного или более битов данных в операнде блокировки; использует целевую блокировку для того, чтобы выполнять операцию получения блокировки для целевого объекта данных; и когда операнд блокировки удовлетворяет условию для успешной операции получения блокировки, определяет то, что операция получения блокировки завершается удачно, и обновляет значение бита данных, который находится в операнде блокировки и используется для того, чтобы указывать состояние целевой блокировки в первом узле обработки, на значение, которое используется для того, чтобы указывать, что состояние целевой блокировки в первом узле обработки представляет собой "блокировка продолжается". Таким образом, узел обработки реализует операцию блокировки посредством использования операнда блокировки, и весь процесс управления операцией блокировки независимо выполняется посредством узла обработки, что освобождает центральный узел-координатор от обработки сообщения блокировки, за счет этого повышая производительность системы баз данных.

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

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

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

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

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

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

Фиг. 5 является принципиальной структурной схемой узлового устройства согласно варианту осуществления настоящего изобретения;

Фиг. 6 является принципиальной структурной схемой другого узлового устройства согласно варианту осуществления настоящего изобретения;

Фиг. 7 является принципиальной структурной схемой еще одного узлового устройства согласно варианту осуществления настоящего изобретения;

Фиг. 8 является принципиальной структурной схемой еще одного узлового устройства согласно варианту осуществления настоящего изобретения;

Фиг. 9 является принципиальной структурной схемой еще одного узлового устройства согласно варианту осуществления настоящего изобретения;

Фиг. 10 является принципиальной структурной схемой еще одного узлового устройства согласно варианту осуществления настоящего изобретения;

Фиг. 11 является принципиальной структурной схемой еще одного узлового устройства согласно варианту осуществления настоящего изобретения; и

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

ПОДРОБНОЕ ОПИСАНИЕ ВАРИАНТОВ ОСУЩЕСТВЛЕНИЯ

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

Фиг. 1 является блок-схемой последовательности операций способа управления операцией блокировки системы баз данных согласно варианту осуществления настоящего изобретения. Система баз данных, в которой постоянно размещается блокировка, включает в себя N PN, где N является целым числом, большим 0. Как показано на фиг. 1, способ включает в себя:

101: Первый PN получает операнд блокировки для целевой блокировки, приче