СПОСОБ И УСТРОЙСТВО УПРАВЛЕНИЯ ОПЕРАЦИЕЙ БЛОКИРОВКИ СИСТЕМЫ БАЗ ДАННЫХ Российский патент 2016 года по МПК G06F17/30 

Описание патента на изобретение RU2585973C2

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

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

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

Совместно используемая кластерная система баз данных, главным образом, используется для приложения онлайновой обработки транзакций (онлайновой обработки транзакций, 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 получает операнд блокировки для целевой блокировки, причем операнд блокировки используется для того, чтобы записывать текущее состояние целевой блокировки в каждом PN в системе баз данных, и текущее состояние целевой блокировки в каждом PN в системе баз данных представляется посредством одного или более битов данных в операнде блокировки.

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

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

"Блокировка более не выполняется" ("блокировка более не выполняется"), "коллективная блокировка продолжается" ("коллективная блокировка продолжается"), "монопольная блокировка продолжается" ("монопольная блокировка продолжается") и "ожидание блокировки" ("ожидание блокировки"). Значение состояния в вышеприведенном операнде блокировки указывает состояние использования целевой блокировки в PN.

102: Первый PN использует целевую блокировку для того, чтобы выполнять операцию получения блокировки для целевого объекта данных.

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

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

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

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

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

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

Необязательно, в этом способе реализации, если число PN в вышеприведенной системе баз данных составляет N, и N и M удовлетворяют N=M/2, вышеприведенный операнд блокировки может включать в себя данные N 2-битовых двоичных чисел. Данные одного 2-битового двоичного числа указывают состояние целевой блокировки в одном PN, т.е. текущее состояние целевой блокировки в каждом PN в системе баз данных представляется посредством данных одного 2-битового двоичного числа в операнде блокировки.

Необязательно, идентификатор узла может задаваться для каждого PN в вышеприведенной системе. Следовательно, взаимосвязь преобразования между позицией двоичного числа в операнде блокировки и идентификатором узла может устанавливаться в варианте осуществления настоящего изобретения. Например, если идентификаторы узлов вышеприведенных N PN равны 0123…N, вышеприведенная взаимосвязь преобразования может заключаться в том, что данные битов 0 и 1 в операнде блокировки могут указывать состояние целевой блокировки в PN, идентификатор узла которого равен 0, данные битов 2 и 3 в операнде блокировки могут указывать состояние целевой блокировки в PN, идентификатор узла которого равен 1, данные битов 3 и 4 в операнде блокировки могут указывать состояние целевой блокировки в PN, идентификатор узла которого равен 2, данные битов 5 и 6 в операнде блокировки могут указывать состояние целевой блокировки в PN, идентификатор узла которого равен 3, …, и данные битов N-1 и N в операнде блокировки могут указывать состояние целевой блокировки в PN, идентификатор узла которого равен N. Например, если идентификатор узла первого PN равен 0, двоичное число в битах 0 и 1 в операнде блокировки указывает состояние целевой блокировки в первом PN. Безусловно, вышеприведенные идентификаторы узлов и вышеприведенная взаимосвязь преобразования используются только в качестве одного примера в варианте осуществления настоящего изобретения. Вариант осуществления настоящего изобретения включает в себя, но не только, вышеуказанные идентификаторы узлов и взаимосвязь преобразования.

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

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

Операнд блокировки (2 бита) Состояние блокировки 00 "Блокировка более не выполняется" 01 "Коллективная блокировка продолжается" 10 "Монопольная блокировка продолжается" 11 "Ожидание блокировки"

Вышеприведенная таблица показывает только 2-битовое двоичное число, указывающее состояние целевой блокировки в одном PN. Например, 2-битовое двоичное число в таблице представляет собой биты 0 и 1, т.е. 2-битовое двоичное число в таблице указывает состояние целевой блокировки в PN, идентификатор узла которого равен 0. Когда 2-битовое двоичное число в таблице равно 01, состояние целевой блокировки в PN, идентификатор узла которого равен 0, представляет собой "коллективная блокировка продолжается". Когда 2-битовое двоичное число в таблице равно 10, состояние целевой блокировки в PN, идентификатор узла которого равен 0, представляет собой "монопольная блокировка продолжается". Безусловно, вариант осуществления настоящего изобретения включает в себя, но не только, вышеуказанную взаимосвязь преобразования между значением двоичного числа и состоянием блокировки.

202: Первый PN использует целевую блокировку для того, чтобы выполнять операцию получения блокировки для целевого объекта данных.

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

- операцию получения коллективной блокировки или операцию получения монопольной блокировки.

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

Например, как показано в вышеприведенной взаимосвязи преобразования, значение, указывающее состояние "блокировка продолжается", равно 01 или 10. Таким образом, когда коллективная блокировка получается на этапе 202, значение бита данных, который находится в операнде блокировки и используется для того, чтобы указывать состояние целевой блокировки в первом PN, может быть обновлено на 01 на этапе 203. Когда монопольная блокировка получается на этапе 202, значение бита данных, который находится в операнде блокировки и используется для того, чтобы указывать состояние целевой блокировки в первом PN, может быть обновлено на 10 на этапе 203.

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

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

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

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

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

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

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

Необязательно, если операция получения коллективной блокировки выполняется на этапе 202, вышеприведенное обновленное значение может быть получено посредством суммирования исходного значения вышеприведенного операнда блокировки и , т.е. только посредством выполнения одного на этапе 203, где является двоичным числом (например, ), i является идентификатором узла первого PN, и W является исходным значением вышеприведенного операнда блокировки. Например, когда идентификатор узла первого PN равен 0, 0001 суммируется с W. Когда идентификатор узла первого PN равен 1, 0100 суммируется с W. Следует отметить, что в этом способе реализации, вычисление выполняется только согласно вышеуказанной взаимосвязи преобразования, и алгоритм на этапе 203 может изменяться соответствующим образом, когда изменяется вышеприведенная взаимосвязь преобразования.

Необязательно, вышеприведенное исходное значение означает значение вышеприведенного операнда блокировки в момент, когда первый PN выполняет операцию получения блокировки для целевой блокировки на этапе 202. При фактическом применении множество PN в системе баз данных может выполнять операцию блокировки для вышеприведенной целевой блокировки. Помимо этого, время для выполнения операции блокировки для целевой блокировки посредством этих PN может быть рядом. Иными словами, другой PN выполняет операцию блокировки для целевой блокировки между выполнением этапа 201 и 202 в варианте осуществления настоящего изобретения. Таким образом, бит данных, который находится в операнде блокировки и используется для того, чтобы указывать состояние целевой блокировки в другом PN, изменяется, т.е. значение вышеприведенного операнда блокировки обновляется, т.е. значение, которое получается на этапе 201 операнда блокировки, может не быть последним значением, когда операция получения блокировки выполняется для целевой блокировки. Следовательно, чтобы обеспечивать, что то, завершается или нет операция получения блокировки на этапе 202 удачно, может быть известным, вышеприведенное исходное значение, т.е. значение вышеприведенного операнда блокировки в момент, когда операция получения блокировки выполняется на этапе 202, может быть получено на этапе 203.

Необязательно, FAA-операция (выборка и суммирование, контент операции является атомарной операцией, которая суммирует значение с исходным значением операнда и возвращает исходное значение) в атомарных операциях. Атомарная операция является операцией, которая всегда выполняется в системе баз данных или PN, т.е. операция всегда выполняется от запуска до завершения работы. Таким образом, исходное значение вышеприведенного операнда блокировки может быть получено посредством использования вышеприведенной FAA-операции. Поскольку контент FAA-операции является атомарной операцией, которая суммирует исходное значение операнда блокировки и значение и возвращает исходное значение, исходное значение вышеприведенного операнда блокировки может быть получено на этапе 203 посредством использования операции. Помимо этого, вышеприведенное первое значение, например, вышеприведенное , суммируется в FAA-операции. Иными словами, вышеприведенное обновленное значение может быть получено только посредством выполнения одного на этапе 203, где i является идентификатором узла текущего PN, и является исходным значением вышеприведенного операнда блокировки.

Необязательно, этап 202 может включать в себя:

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

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

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

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

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

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

Необязательно, этап 202 может включать в себя:

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

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

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

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

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

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

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

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

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

Необязательно, этап 204 может включать в себя:

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

Необязательно, чтобы не допускать выполнения посредством другого PN операции блокировки для целевой блокировки в процессе, в котором текущий PN выполняет операцию блокировки для цели, этап 204 может быть идентичным этапу 203. Вышеприведенная FAA-операция также может быть использована для того, чтобы обновлять значение бита данных, который находится в операнде блокировки и используется для того, чтобы указывать состояние целевой блокировки в первом PN, до значения, которое используется для того, чтобы указывать, что состояние целевой блокировки в первом PN представляет собой "ожидание блокировки" на этапе 204. Иными словами, этап 204 может включать в себя:

Когда исходное значение не удовлетворяет условию для успешной операции получения блокировки, первый PN определяет то, что операция получения блокировки завершается неудачно, и использует FAA-операцию, чтобы использовать значение бита данных, который находится в операнде блокировки и используется для того, чтобы указывать состояние целевой блокировки в первом PN, чтобы указывать значение, которое указывает, что состояние целевой блокировки в первом PN представляет собой "ожидание блокировки". Значение, суммированное в FAA-операции, представляет собой значение, противоположное первому значению. Иными словами, когда вышеприведенное первое значение равно 01, значение, суммированное в FAA-операции, равно -01. Когда вышеприведенное первое значение равно 10, значение, суммированное в FAA-операции, равно -10. Таким образом, обеспечивается то, что используемое значение операнда блокировки является последним во время обновления, выполняемого на этапе 204.

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

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

Необязательно, этап 203 может включать в себя:

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

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

Необязательно, когда взаимосвязь преобразования между позицией двоичного числа в операнде блокировки и идентификатором узла удовлетворяет вышеуказанной взаимосвязи преобразования (т.е. такой взаимосвязи преобразования, что биты 0 и 1 в операнде блокировки могут указывать состояние использования целевой блокировки в PN, идентификатор узла которого равен 0), и взаимосвязь преобразования между значением двоичного числа и состоянием блокировки удовлетворяет взаимосвязи преобразования, показанной в вышеприведенной таблице, вышеприведенное второе значение может быть 10. Вышеприведенное обновление значения бита данных, который находится в обновленном значении и используется для того, чтобы указывать состояние целевой блокировки в первом PN, на значение, которое используется для того, чтобы указывать, что целевая блокировка выполняется в первом PN, представляет собой "монопольная блокировка продолжается", может представлять собой суммирование значения бита данных, который находится в обновленном значении и используется для того, чтобы указывать состояние целевой блокировки в первом PN, и -01.

В другом необязательном варианте осуществления, когда взаимосвязь преобразования между позицией двоичного числа в операнде блокировки и идентификатором узла удовлетворяет вышеуказанной взаимосвязи преобразования (т.е. такой взаимосвязи преобразования, что биты 0 и 1 в операнде блокировки могут указывать состояние использования целевой блокировки в PN, идентификатор узла которого равен 0), и взаимосвязь преобразования между значением двоичного числа и состоянием блокировки удовлетворяет взаимосвязи преобразования, показанной в вышеприведенной таблице, вышеприведенный этап 202 может включать в себя:

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

Этап 203 может включать в себя:

Первый PN выполняет FAA-операцию для вышеприведенного операнда блокировки, причем значение, суммированное в FAA-операции, равно (т.е. вышеприведенному первому значению, которое также может пониматься как значение, которое используется для того, чтобы указывать состояние "коллективная блокировка продолжается", например, 01). Первый PN получает исходное значение операнда блокировки в момент, когда используется целевая блокировка, чтобы выполнять операцию получения блокировки для целевого объекта данных, и получает значение, полученное посредством FAA-операции (т.е. вышеприведенное обновленное значение). Значение получается посредством суммирования вышеприведенного исходного значения вышеприведенного операнда блокировки и значения и указывает, что состояние целевой блокировки в первом PN представляет собой "коллективная блокировка продолжается". Иными словами, значение 01 получается посредством суммирования значения 00 бита данных, который находится в исходном значении и используется для того, чтобы указывать состояние целевой блокировки в первом PN, и 01.

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

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

Первый PN выполняет FAA-операцию для вышеприведенного операнда блокировки, причем значение, суммированное в FAA-операции, равно , чтобы получать значение вышеприведенного операнда блокировки в момент, когда выполняется этап 204, и получать значение, полученное посредством FAA-операции. Значение получается посредством суммирования значения вышеприведенного операнда блокировки в момент, когда выполняется этап 204, и значения и указывает, что состояние целевой блокировки в первом PN представляет собой "ожидание блокировки". Иными словами, значение 11 получается посредством суммирования данных 01 в первой позиции и 10.

В другом необязательном варианте осуществления, когда взаимосвязь преобразования между позицией двоичного числа в операнде блокировки и идентификатором узла удовлетворяет вышеуказанной взаимосвязи преобразования (т.е. такой взаимосвязи преобразования, что биты 0 и 1 в операнде блокировки могут указывать состояние использования целевой блокировки в PN, идентификатор узла которого равен 0), и взаимосвязь преобразования между значением двоичного числа и состоянием блокировки удовлетворяет взаимосвязи преобразования, показанной в вышеприведенной таблице, этап 202 может включать в себя:

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

Этап 203 может включать в себя:

Первый PN выполняет FAA-операцию для вышеприведенного операнда блокировки, причем значение, суммированное в FAA-операции, равно (т.е. вышеприведенному первому значению, которое также может пониматься как значение, которое используется для того, чтобы указывать состояние "монопольная блокировка продолжается", например, 10), чтобы получать исходное значение операнда блокировки и получать значение, полученное посредством FAA-операции (т.е. вышеприведенное обновленное значение). Значение является вышеприведенным исходным значением вышеприведенного операнда блокировки и значением и указывает, что состояние целевой блокировки в первом PN представляет собой "монопольная блокировка продолжается". Иными словами, значение 11 получается посредством суммирования бита данных 01, который находится в операнде блокировки и используется для того, чтобы указывать состояние целевой блокировки в первом PN, и 10.

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

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

Первый PN выполняет FAA-операцию для вышеприведенного операнда блокировки, причем значение, суммированное в FAA-операции, равно 4i, чтобы получать значение вышеприведенного операнда блокировки в момент, когда выполняется этап 204, и получать значение, полученное посредством FAA-операции. Значение получается посредством суммирования значения вышеприведенного операнда блокировки в момент, когда выполняется этап 204, и значения 4i и указывает, что состояние целевой блокировки в первом PN представляет собой "ожидание блокировки". Иными словами, значение 11 получается посредством суммирования значения 01 бита данных, который находится в операнде блокировки и используется для того, чтобы указывать состояние целевой блокировки в первом PN, и 10.

В другом необязательном варианте осуществления, когда взаимосвязь преобразования между позицией двоичного числа в операнде блокировки и идентификатором узла удовлетворяет вышеуказанной взаимосвязи преобразования (т.е. такой взаимосвязи преобразования, что биты 0 и 1 в операнде блокировки могут указывать состояние использования целевой блокировки в PN, идентификатор узла которого равен 0), и взаимосвязь преобразования между значением двоичного числа и состоянием блокировки удовлетворяет взаимосвязи преобразования, показанной в вышеприведенной таблице, этап 202 может включать в себя:

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

Этап 203 может включать в себя:

Первый PN выполняет FAA-операцию для вышеприведенного операнда блокировки, причем значение, суммированное в FAA-операции, равно (т.е. вышеприведенному второму значению, которое также может пониматься как значение, которое используется для того, чтобы указывать состояние "монопольная блокировка продолжается", например, 10), чтобы получать исходное значение операнда блокировки и получать значение, полученное посредством FAA-операции (т.е. вышеприведенное обновленное значение). Значение получается посредством суммирования вышеприведенного исходного значения вышеприведенного операнда блокировки и значения и указывает, что состояние целевой блокировки в первом PN представляет собой "ожидание блокировки". Иными словами, значение 11 получается посредством суммирования значения 01 бита данных, который находится в операнде блокировки и используется для того, чтобы указывать состояние целевой блокировки в первом PN, и 10.

Когда состояние, которое указывается посредством исходного значения, целевой блокировки в каждом PN в системе баз данных представляет собой вышеприведенное состояние предоставления возможности получения коллективной блокировки, или когда состояние, которое указывается посредством исходного значения, целевой блокировки в первом PN представляет собой "коллективная блокировка продолжается", и состояние целевой блокировки в другом PN представляет собой "блокировка более не выполняется", определяется то, что монопольная блокировка успешно получается. После того, как вышеприведенное второе значение суммируется на этапе 203, значение бита данных, который находится в операнде блокировки и используется для того, чтобы указывать состояние целевой блокировки в первом PN, представляет собой значение, которое используется для того, чтобы указывать состояние "ожидание блокировки" (т.е. 11). Значение бита данных, который находится в обновленном значении и используется для того, чтобы указывать состояние целевой блокировки в первом PN, обновляется на значение, которое используется для того, чтобы указывать, что состояние целевой блокировки в первом PN представляет собой "монопольная блокировка продолжается" на этапе 203.

Иными словами, первый PN выполняет FAA-операцию для вышеприведенного операнда блокировки, причем значение, суммированное в FAA-операции, равно -4i (т.е. 01 вычитается). Иными словами, значение бита данных, который находится в операнде блокировки и используется для того, чтобы указывать состояние целевой блокировки в первом PN, обновляется со значения, которое используется для того, чтобы указывать состояние "ожидание блокировки" (т.е. 11), на значение, которое используется для того, чтобы указывать состояние "монопольная блокировка продолжается" (т.е. 10).

Когда состояния, которые указываются посредством исходного значения, целевой блокировки в различных PN в системе баз данных включают в себя "ожидание блокировки" или "монопольная блокировка продолжается", или когда состояние, которое указывается посредством значения в текущий момент целевой блокировки, представляет собой "коллективная блокировка продолжается" в первом PN, и состояние целевой блокировки в другом PN или нескольких других PN представляет собой "коллективная блокировка продолжается", монопольная блокировка не может быть получена на этапе 202. После того, как значение, которое используется для того, чтобы указывать состояние "монопольная блокировка продолжается", суммируется на этапе 203, значение бита данных, который находится в операнде блокировки и используется для того, чтобы указывать состояние целевой блокировки в первом PN, представляет собой значение, которое используется для того, чтобы указывать состояние "ожидание блокировки" (т.е. 11). Следовательно, этап 204 может не включаться в этом варианте осуществления.

В этом варианте осуществления, монопольная блокировка может быть получена на основе состояния "коллективная блокировка продолжается".

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

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

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

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

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

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

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

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

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

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

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

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

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

302: Первый PN использует целевую блокировку для того, чтобы выполнять операцию снятия блокировки для целевого объекта данных.

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

Необязательно, вышеприведенное состояние "блокировка снята" может пониматься как состояние "блокировка более не выполняется".

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

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

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

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

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

Необязательно, в этом способе реализации, если число PN в вышеприведенной системе баз данных составляет N, и N и M удовлетворяют N=M/2, вышеприведенный операнд блокировки может включать в себя данные N 2-битовых двоичных чисел. Данные одного 2-битового двоичного числа указывают состояние целевой блокировки в одном PN, т.е. текущее состояние целевой блокировки в каждом PN в системе баз данных представляется посредством данных одного 2-битового двоичного числа в операнде блокировки.

Необязательно, идентификатор узла может задаваться для каждого PN в вышеприведенной системе. Следовательно, взаимосвязь преобразования между позицией двоичного числа в операнде блокировки и идентификатором узла может устанавливаться в варианте осуществления настоящего изобретения. Например, если идентификаторы узлов вышеприведенных N PN равны 0123…N, вышеприведенная взаимосвязь преобразования может заключаться в том, что данные битов 0 и 1 в операнде блокировки могут указывать состояние целевой блокировки в PN, идентификатор узла которого равен 0, данные битов 2 и 3 в операнде блокировки могут указывать состояние целевой блокировки в PN, идентификатор узла которого равен 1, данные битов 3 и 4 в операнде блокировки могут указывать состояние целевой блокировки в PN, идентификатор узла которого равен 2, данные битов 5 и 6 в операнде блокировки могут указывать состояние целевой блокировки в PN, идентификатор узла которого равен 3, …, и данные битов N-1 и N в операнде блокировки могут указывать состояние целевой блокировки в PN, идентификатор узла которого равен N. Например, если идентификатор узла первого PN равен 0, двоичное число в битах 0 и 1 в операнде блокировки указывает состояние целевой блокировки в первом PN. Безусловно, вышеприведенные идентификаторы узлов и вышеприведенная взаимосвязь преобразования используются только в качестве одного примера в варианте осуществления настоящего изобретения. Вариант осуществления настоящего изобретения включает в себя, но не только, вышеуказанные идентификаторы узлов и взаимосвязь преобразования.

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

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

Операнд блокировки (2 бита) Состояние блокировки 00 "Блокировка более не выполняется" 01 "Коллективная блокировка продолжается" 10 "Монопольная блокировка продолжается" 11 "Ожидание блокировки"

Вышеприведенная таблица показывает только 2-битовое двоичное число, указывающее состояние целевой блокировки в одном PN. Например, 2-битовое двоичное число в таблице представляет собой биты 0 и 1, т.е. 2-битовое двоичное число в таблице указывает состояние целевой блокировки в PN, идентификатор узла которого равен 0. Когда 2-битовое двоичное число в таблице равно 01, состояние целевой блокировки в PN, идентификатор узла которого равен 0, представляет собой "коллективная блокировка продолжается". Когда 2-битовое двоичное число в таблице равно 10, состояние целевой блокировки в PN, идентификатор узла которого равен 0, представляет собой "монопольная блокировка продолжается". Безусловно, вариант осуществления настоящего изобретения включает в себя, но не только, вышеуказанную взаимосвязь преобразования между значением двоичного числа и состоянием блокировки.

402: Первый PN использует целевую блокировку для того, чтобы выполнять операцию снятия блокировки для целевого объекта данных.

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

- операцию снятия коллективной блокировки или операцию снятия монопольной блокировки.

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

Например, как показано в вышеприведенной взаимосвязи преобразования, вышеприведенное третье значение может быть -01 или -10. Таким образом, когда коллективная блокировка снимается на этапе 402, вышеприведенное третье значение равно -01. Когда монопольная блокировка снимается на этапе 402, вышеприведенное третье значение равно -10. Следовательно, полученное значение бита данных, который находится в обновленном значении и указывает состояние целевой блокировки в первом PN, равно 00.

Необязательно, когда взаимосвязь преобразования между позицией двоичного числа в операнде блокировки и идентификатором узла удовлетворяет вышеуказанной взаимосвязи преобразования, а взаимосвязь преобразования между значением двоичного числа и состоянием блокировки удовлетворяет взаимосвязи преобразования, показанной в вышеприведенной таблице, операция снятия коллективной блокировки выполняется на этапе 402. В этом случае, исходное значение вышеприведенного операнда блокировки и суммируются, т.е. только одно должно быть выполнено на этапе 403, где является двоичным числом (например, ), i является идентификатором узла первого PN, и W является исходным значением вышеприведенного операнда блокировки. Например, когда идентификатор узла первого PN равен 0, 0001 вычитается из W на этапе 402. Когда идентификатор узла первого PN равен 1, 0100 вычитается из W на этапе 402. Следует отметить, что в этом способе реализации, вычисление выполняется только согласно вышеуказанной взаимосвязи преобразования, и алгоритм на этапе 403 может изменяться соответствующим образом, когда изменяется вышеприведенная взаимосвязь преобразования.

Необязательно, если операция снятия монопольной блокировки выполняется на этапе 402, исходное значение вышеприведенного операнда блокировки и суммируются, т.е. только одно должно быть выполнено на этапе 403, где является двоичным числом, i является идентификатором узла первого PN, и W является исходным значением вышеприведенного операнда блокировки. Например, когда идентификатор узла первого PN равен 0, 0010 вычитается из W на этапе 402. Когда идентификатор узла первого PN равен 1, 1000 вычитается из W на этапе 402. Следует отметить, что в этом способе реализации, вычисление выполняется только согласно вышеуказанной взаимосвязи преобразования, и алгоритм на этапе 403 может изменяться соответствующим образом, когда изменяется вышеприведенная взаимосвязь преобразования.

Необязательно, FAA-операция в атомарных операциях может быть использована на этапе 403. Поскольку контент FAA-операции является атомарной операцией, которая суммирует исходное значение операнда и значение и возвращает исходное значение, исходное значение вышеприведенного операнда блокировки может быть получено посредством использования операции на этапе 403. Помимо этого, вышеприведенное третье значение, например, вышеприведенное , суммируется в FAA-операции. Иными словами, вышеприведенное обновленное значение может быть получено только посредством выполнения одного на этапе 403, где i является идентификатором узла текущего PN, и является исходным значением вышеприведенного операнда блокировки.

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

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

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

В другом варианте осуществления, когда взаимосвязь преобразования между позицией двоичного числа в операнде блокировки и идентификатором узла удовлетворяет вышеуказанной взаимосвязи преобразования (т.е. такой взаимосвязи преобразования, что биты 0 и 1 в операнде блокировки могут указывать состояние использования целевой блокировки в PN, идентификатор узла которого равен 0), и взаимосвязь преобразования между значением двоичного числа и состоянием блокировки удовлетворяет взаимосвязи преобразования, показанной в вышеприведенной таблице, вышеприведенный этап 402 может включать в себя:

Первый PN выполняет операцию снятия коллективной блокировки для целевой блокировки.

Этап 403 может включать в себя:

Первый PN выполняет FAA-операцию для вышеприведенного операнда блокировки, причем значение, суммированное в FAA-операции, равно -4i (т.е. вышеприведенному третьему значению, которое также может пониматься как значение, которое используется для того, чтобы указывать снятие коллективной блокировки, например, -01), чтобы получать исходное значение операнда блокировки и получать значение, полученное посредством FAA-операции (т.е. вышеприведенное обновленное значение). Значение получается посредством суммирования вышеприведенного исходного значения вышеприведенного операнда блокировки и значения -4i и указывает, что состояние целевой блокировки в первом PN представляет собой "блокировка более не выполняется". Иными словами, значение 00 получается посредством вычитания 01 из значения 01 бита данных, который находится в операнде блокировки и используется для того, чтобы указывать состояние целевой блокировки в первом PN.

В другом варианте осуществления, когда взаимосвязь преобразования между позицией двоичного числа в операнде блокировки и идентификатором узла удовлетворяет вышеуказанной взаимосвязи преобразования (т.е. такой взаимосвязи преобразования, что биты 0 и 1 в операнде блокировки могут указывать состояние использования целевой блокировки в PN, идентификатор узла которого равен 0), и взаимосвязь преобразования между значением двоичного числа и состоянием блокировки удовлетворяет взаимосвязи преобразования, показанной в вышеприведенной таблице, вышеприведенный этап 402 может включать в себя:

Первый PN выполняет операцию снятия монопольной блокировки для целевой блокировки.

Этап 403 может включать в себя:

Первый PN выполняет FAA-операцию для вышеприведенного операнда блокировки, причем значение, суммированное в FAA-операции, равно (т.е. вышеприведенному третьему значению, которое также может пониматься как значение, которое используется для того, чтобы указывать снятие монопольной блокировки, например, -10), чтобы получать исходное значение операнда блокировки и получать значение, полученное посредством FAA-операции (т.е. вышеприведенное обновленное значение). Значение получается посредством суммирования вышеприведенного исходного значения вышеприведенного операнда блокировки и значения и указывает, что состояние целевой блокировки в первом PN представляет собой "блокировка более не выполняется". Иными словами, значение 00 получается посредством вычитания 10 из значения 10 бита данных, который находится в операнде блокировки и используется для того, чтобы указывать состояние целевой блокировки в первом PN.

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

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

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

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

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

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

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

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

Фиг. 5 является принципиальной структурной схемой узлового устройства согласно варианту осуществления настоящего изобретения. Узловое устройство представляет собой PN в системе баз данных, как показано на фиг. 5, включающий в себя модуль 51 получения, функциональный модуль 52 и первый модуль 53 обновления.

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

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

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

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

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

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

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

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

Фиг. 6 является принципиальной структурной схемой еще одного узлового устройства согласно варианту осуществления настоящего изобретения. Узловое устройство представляет собой PN в системе баз данных, как показано на фиг. 6, включающий в себя модуль 61 получения, функциональный модуль 62 и первый модуль 63 обновления.

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

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

Необязательно, в этом способе реализации, если число PN в вышеприведенной системе баз данных составляет N, и N и M удовлетворяют N=M/2, вышеприведенный операнд блокировки может включать в себя данные N 2-битовых двоичных чисел. Данные одного 2-битового двоичного числа указывают состояние целевой блокировки в одном PN, т.е. текущее состояние целевой блокировки в каждом PN в системе баз данных представляется посредством данных одного 2-битового двоичного числа в операнде блокировки.

Необязательно, идентификатор узла может задаваться для каждого PN в вышеприведенной системе. Следовательно, взаимосвязь преобразования между позицией двоичного числа в операнде блокировки и идентификатором узла может устанавливаться в варианте осуществления настоящего изобретения. Например, если идентификаторы узлов вышеприведенных N PN равны 0123…N, вышеприведенная взаимосвязь преобразования может заключаться в том, что данные битов 0 и 1 в операнде блокировки могут указывать состояние целевой блокировки в PN, идентификатор узла которого равен 0, данные битов 2 и 3 в операнде блокировки могут указывать состояние целевой блокировки в PN, идентификатор узла которого равен 1, данные битов 3 и 4 в операнде блокировки могут указывать состояние целевой блокировки в PN, идентификатор узла которого равен 2, данные битов 5 и 6 в операнде блокировки могут указывать состояние целевой блокировки в PN, идентификатор узла которого равен 3, …, и данные битов и N в операнде блокировки могут указывать состояние целевой блокировки в PN, идентификатор узла которого равен N. Например, если идентификатор узла первого PN равен 0, двоичное число в битах 0 и 1 в операнде блокировки указывает состояние целевой блокировки в первом PN. Безусловно, вышеприведенные идентификаторы узлов и вышеприведенная взаимосвязь преобразования используются только в качестве одного примера в варианте осуществления настоящего изобретения. Вариант осуществления настоящего изобретения включает в себя, но не только, вышеуказанные идентификаторы узлов и взаимосвязь преобразования.

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

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

Операнд блокировки (2 бита) Состояние блокировки 00 "Блокировка более не выполняется" 01 "Коллективная блокировка продолжается" 10 "Монопольная блокировка продолжается" 11 "Ожидание блокировки"

Вышеприведенная таблица показывает только 2-битовое двоичное число, указывающее состояние целевой блокировки в одном PN. Например, 2-битовое двоичное число в таблице представляет собой биты 0 и 1, т.е. 2-битовое двоичное число в таблице указывает состояние целевой блокировки в PN, идентификатор узла которого равен 0. Когда 2-битовое двоичное число в таблице равно 01, состояние целевой блокировки в PN, идентификатор узла которого равен 0, представляет собой "коллективная блокировка продолжается". Когда 2-битовое двоичное число в таблице равно 10, состояние целевой блокировки в PN, идентификатор узла которого равен 0, представляет собой "монопольная блокировка продолжается". Безусловно, вариант осуществления настоящего изобретения включает в себя, но не только, вышеуказанную взаимосвязь преобразования между значением двоичного числа и состоянием блокировки.

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

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

- операцию получения коллективной блокировки или операцию получения монопольной блокировки.

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

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

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

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

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

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

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

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

Необязательно, если функциональный модуль 62 выполняет операцию получения коллективной блокировки, первый модуль 63 обновления может получать вышеприведенное обновленное значение посредством суммирования исходного значения вышеприведенного операнда блокировки и 4i, т.е. только посредством выполнения одного , где 4i является двоичным числом (например, ), i является идентификатором узла первого PN, и W является исходным значением вышеприведенного операнда блокировки. Например, когда идентификатор узла первого PN равен 0, 0001 суммируется с W. Когда идентификатор узла первого PN равен 1, 0100 суммируется с W. Следует отметить, что в этом способе реализации, вычисление выполняется только согласно вышеуказанной взаимосвязи преобразования, и алгоритм первого модуля 63 обновления может изменяться соответствующим образом, когда изменяется вышеприведенная взаимосвязь преобразования.

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

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

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

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

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

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

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

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

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

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

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

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

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

Необязательно, чтобы не допускать выполнения посредством другого PN операции блокировки для целевой блокировки в процессе, в котором текущий PN выполняет операцию блокировки для цели, второй модуль 64 обновления может быть идентичным первому модулю 63 обновления. Второй модуль 64 обновления также может использовать вышеприведенную FAA-операцию, чтобы обновлять значение бита данных, который находится в операнде блокировки и используется для того, чтобы указывать состояние целевой блокировки в узловом устройстве, до значения, которое используется для того, чтобы указывать, что состояние целевой блокировки в узловом устройстве представляет собой "ожидание блокировки". Иными словами, второй модуль 64 обновления может быть дополнительно сконфигурирован с возможностью, когда исходное значение не удовлетворяет условию для успешной операции получения блокировки, определять то, что операция получения блокировки завершается неудачно, и использовать FAA-операцию, чтобы обновлять значение бита данных, который находится в операнде блокировки и используется для того, чтобы указывать состояние целевой блокировки в узловом устройстве, до значения, которое используется для того, чтобы указывать, что состояние целевой блокировки в узловом устройстве представляет собой "ожидание блокировки". Значение, суммированное в FAA-операции, представляет собой значение, противоположное первому значению. Иными словами, когда вышеприведенное первое значение равно 01, значение, суммированное в FAA-операции, равно -01. Когда вышеприведенное первое значение равно 10, значение, суммированное в FAA-операции, равно -10. Таким образом, обеспечивается то, что значение используемого операнда блокировки является последним во время обновления, выполняемого посредством второго модуля 64 обновления.

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

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

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

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

Необязательно, когда взаимосвязь преобразования между позицией двоичного числа в операнде блокировки и идентификатором узла удовлетворяет вышеуказанной взаимосвязи преобразования (т.е. такой взаимосвязи преобразования, что биты 0 и 1 в операнде блокировки могут указывать состояние использования целевой блокировки в PN, идентификатор узла которого равен 0), и взаимосвязь преобразования между значением двоичного числа и состоянием блокировки удовлетворяет взаимосвязи преобразования, показанной в вышеприведенной таблице, вышеприведенное второе значение может быть 10. Вышеприведенное обновление значения бита данных, который находится в обновленном значении и используется для того, чтобы указывать состояние целевой блокировки в узловом устройстве, на значение, которое используется для того, чтобы указывать, что состояние целевой блокировки в узловом устройстве представляет собой "монопольная блокировка продолжается", может представлять собой суммирование значения бита данных, который находится в обновленном значении и используется для того, чтобы указывать состояние целевой блокировки в узловом устройстве, и -01.

В другом необязательном варианте осуществления, когда взаимосвязь преобразования между позицией двоичного числа в операнде блокировки и идентификатором узла удовлетворяет вышеуказанной взаимосвязи преобразования (т.е. такой взаимосвязи преобразования, что биты 0 и 1 в операнде блокировки могут указывать состояние использования целевой блокировки в PN, идентификатор узла которого равен 0), и взаимосвязь преобразования между значением двоичного числа и состоянием блокировки удовлетворяет взаимосвязи преобразования, показанной в вышеприведенной таблице, вышеприведенный функциональный модуль 62 может быть дополнительно сконфигурирован с возможностью, для первого PN, выполнять операцию получения коллективной блокировки для целевой блокировки.

Первый модуль 63 обновления может быть дополнительно сконфигурирован с возможностью выполнять FAA-операцию для вышеприведенного операнда блокировки, причем значение, суммированное в FAA-операции, равно 4i (т.е. вышеприведенному первому значению, которое также может пониматься как значение, которое используется для того, чтобы указывать состояние "коллективная блокировка продолжается", например, 01). Узловое устройство получает исходное значение операнда блокировки в момент, когда используется целевая блокировка, чтобы выполнять операцию получения блокировки для целевого объекта данных, и получать значение, полученное посредством FAA-операции (т.е. вышеприведенное обновленное значение). Значение получается посредством суммирования вышеприведенного исходного значения вышеприведенного операнда блокировки и значения 4i и указывает, что состояние целевой блокировки в первом PN представляет собой "коллективная блокировка продолжается". Иными словами, значение 01 получается посредством суммирования значения 00 бита данных, который находится в исходном значении и используется для того, чтобы указывать состояние целевой блокировки в узловом устройстве, и 01.

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

Когда состояния, которые указываются посредством исходного значения, целевой блокировки в различных PN в системе баз данных включают в себя "ожидание блокировки" или "монопольная блокировка продолжается", второй модуль 64 обновления выполняет FAA-операцию для вышеприведенного операнда блокировки, причем значение, суммированное в FAA-операции, равно , чтобы получать значение вышеприведенного операнда блокировки в момент, когда второй модуль 64 обновления выполняется, и получать значение, полученное посредством FAA-операции. Значение получается посредством суммирования значения вышеприведенного операнда блокировки в момент, когда выполняется второй модуль 64 обновления, и значения и указывает, что состояние целевой блокировки в первом PN представляет собой "ожидание блокировки". Иными словами, значение 11 получается посредством суммирования данных 01 в первой позиции и 10.

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

Первый модуль 63 обновления может быть дополнительно сконфигурирован с возможностью выполнять FAA-операцию для вышеприведенного операнда блокировки, причем значение, суммированное в FAA-операции, равно (т.е. вышеприведенному первому значению, которое также может пониматься как значение, которое используется для того, чтобы указывать состояние "монопольная блокировка продолжается", например, 10), чтобы получать исходное значение операнда блокировки и получать значение, полученное посредством FAA-операции (т.е. вышеприведенное обновленное значение). Значение получается посредством суммирования вышеприведенного исходного значения вышеприведенного операнда блокировки и значения и указывает, что состояние целевой блокировки в первом PN представляет собой "монопольная блокировка продолжается". Иными словами, значение 11 получается посредством суммирования значения 01 бита данных, который находится в операнде блокировки и используется для того, чтобы указывать состояние целевой блокировки в узловом устройстве, и 10.

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

Когда состояния, которые указываются посредством исходного значения, целевой блокировки в различных PN в системе баз данных включают в себя "ожидание блокировки" или "монопольная блокировка продолжается", или когда состояние, которое указывается посредством исходного значения, целевой блокировки в первом PN представляет собой "коллективная блокировка продолжается", и состояние в другом PN или нескольких других PN также представляет собой "коллективная блокировка продолжается", выполняется второй модуль 64 обновления. Второй модуль 64 обновления может быть дополнительно сконфигурирован с возможностью выполнять FAA-операцию для вышеприведенного операнда блокировки, причем значение, суммированное в FAA-операции, равно 4i, чтобы получать значение вышеприведенного операнда блокировки в момент, когда второй модуль 64 обновления определяет то, что операция получения блокировки завершается неудачно, и получать значение, полученное посредством FAA-операции. Значение получается посредством суммирования значения вышеприведенного операнда блокировки в момент, когда второй модуль 64 обновления определяет то, что операция получения блокировки завершается неудачно, и значения 4i и указывает, что состояние целевой блокировки в первом PN представляет собой "ожидание блокировки". Иными словами, значение 11 получается посредством суммирования значения 01 бита данных, который находится в операнде блокировки и используется для того, чтобы указывать состояние целевой блокировки в узловом устройстве, и 10.

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

Первый модуль 63 обновления может быть дополнительно сконфигурирован с возможностью выполнять FAA-операцию для вышеприведенного операнда блокировки, причем значение, суммированное в FAA-операции, равно (т.е. вышеприведенному второму значению, которое также может пониматься как значение, которое используется для того, чтобы указывать состояние "монопольная блокировка продолжается", например, 10), чтобы получать исходное значение операнда блокировки и получать значение, полученное посредством FAA-операции (т.е. вышеприведенное обновленное значение). Значение получается посредством суммирования вышеприведенного исходного значения вышеприведенного операнда блокировки и значения и указывает, что состояние целевой блокировки в первом PN представляет собой "ожидание блокировки". Иными словами, значение 11 получается посредством суммирования значения 01 бита данных, который находится в операнде блокировки и используется для того, чтобы указывать состояние целевой блокировки в узловом устройстве, и 10.

Когда состояние, которое указывается посредством исходного значения, целевой блокировки в каждом PN в системе баз данных представляет собой вышеприведенное состояние предоставления возможности получения коллективной блокировки, или когда состояние, которое указывается посредством исходного значения, целевой блокировки в первом PN представляет собой "коллективная блокировка продолжается", и состояние целевой блокировки в другом PN представляет собой "блокировка более не выполняется", определяется то, что монопольная блокировка успешно получается. После того, как первый модуль 63 обновления суммирует вышеприведенное второе значение, значение бита данных, который находится в операнде блокировки и используется для того, чтобы указывать состояние целевой блокировки в узловом устройстве, представляет собой значение, которое используется для того, чтобы указывать состояние "ожидание блокировки" (т.е. 11). Следовательно, первый модуль 63 обновления обновляет значение бита данных, который находится в обновленном значении и используется для того, чтобы указывать состояние целевой блокировки в узловом устройстве, на значение, которое используется для того, чтобы указывать, что состояние целевой блокировки в узловом устройстве представляет собой "монопольная блокировка продолжается".

Иными словами, FAA-операция выполняется для вышеприведенного операнда блокировки, причем значение, суммированное в FAA-операции, равно -4i (т.е. 01 вычитается). Иными словами, значение бита данных, который находится в операнде блокировки и используется для того, чтобы указывать состояние целевой блокировки в узловом устройстве, обновляется со значения, которое используется для того, чтобы указывать состояние "ожидание блокировки" (т.е. 11), на значение, которое используется для того, чтобы указывать состояние "монопольная блокировка продолжается" (т.е. 10).

Когда состояния, которые указываются посредством исходного значения, целевой блокировки в различных PN в системе баз данных включают в себя "ожидание блокировки" или "монопольная блокировка продолжается", или когда состояние, которое указывается посредством значения в текущий момент, целевой блокировки в узловом устройстве представляет собой "коллективная блокировка продолжается", и состояние целевой блокировки в другом PN или в нескольких других PN представляет собой "коллективная блокировка продолжается", функциональный модуль 62 не может получать монопольную блокировку. После того, как первый модуль 63 обновления суммирует значение, которое используется для того, чтобы указывать состояние "монопольная блокировка продолжается", значение бита данных, который находится в операнде блокировки и используется для того, чтобы указывать состояние целевой блокировки в узловом устройстве, представляет собой значение, которое используется для того, чтобы указывать состояние "ожидание блокировки" (т.е. 11). Следовательно, второй модуль 64 обновления может не включаться в этом варианте осуществления.

В этом варианте осуществления, монопольная блокировка может быть получена на основе состояния "коллективная блокировка продолжается".

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

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

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

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

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

Фиг. 7 является принципиальной структурной схемой еще одного узлового устройства согласно варианту осуществления настоящего изобретения. Узловое устройство представляет собой PN в системе баз данных, как показано на фиг. 7, включающий в себя модуль 71 получения, функциональный модуль 72 и модуль 73 обновления.

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

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

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

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

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

Фиг. 8 является принципиальной структурной схемой еще одного узлового устройства согласно варианту осуществления настоящего изобретения. Узловое устройство представляет собой PN в системе баз данных, как показано на фиг. 8, включающий в себя модуль 81 получения, функциональный модуль 82 и модуль 83 обновления.

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

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

Необязательно, в этом способе реализации, если число PN в вышеприведенной системе баз данных составляет N, и N и M удовлетворяют N=M/2, вышеприведенный операнд блокировки может включать в себя данные N 2-битовых двоичных чисел. Данные одного 2-битового двоичного числа указывают состояние целевой блокировки в одном PN, т.е. текущее состояние целевой блокировки в каждом PN в системе баз данных представляется посредством данных одного 2-битового двоичного числа в операнде блокировки.

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

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

- операцию снятия коллективной блокировки или операцию снятия монопольной блокировки.

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

Например, как показано во взаимосвязи преобразования, описанной в вышеприведенных вариантах осуществления, вышеприведенное третье значение может быть -01 или -10. Таким образом, когда функциональный модуль 82 снимает коллективную блокировку, вышеприведенное третье значение равно -01. Когда функциональный модуль 82 снимает монопольную блокировку, вышеприведенное третье значение равно -10. Следовательно, полученное значение бита данных, который находится в обновленном значении и указывает состояние целевой блокировки в узловом устройстве, равно 00.

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

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

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

В другом варианте осуществления, когда взаимосвязь преобразования между позицией двоичного числа в операнде блокировки и идентификатором узла удовлетворяет вышеуказанной взаимосвязи преобразования (т.е. такой взаимосвязи преобразования, что биты 0 и 1 в операнде блокировки могут указывать состояние использования целевой блокировки в PN, идентификатор узла которого равен 0), и взаимосвязь преобразования между значением двоичного числа и состоянием блокировки удовлетворяет взаимосвязи преобразования, показанной в вышеприведенной таблице, вышеприведенный функциональный модуль 82 может быть дополнительно сконфигурирован с возможностью выполнять операцию снятия коллективной блокировки для целевой блокировки.

Модуль 83 обновления может быть дополнительно сконфигурирован с возможностью выполнять FAA-операцию для вышеприведенного операнда блокировки, причем значение, суммированное в FAA-операции, равно -4i (т.е. вышеприведенному третьему значению, которое также может пониматься как значение, которое используется для того, чтобы указывать снятие коллективной блокировки, например, -01), чтобы получать исходное значение операнда блокировки и получать значение, полученное посредством FAA-операции (т.е. вышеприведенное обновленное значение). Значение получается посредством суммирования вышеприведенного исходного значения вышеприведенного операнда блокировки и значения -4i и указывает, что состояние целевой блокировки в первом PN представляет собой "блокировка более не выполняется". Иными словами, значение 00 получается посредством вычитания 01 из значения 01 бита данных, который находится в операнде блокировки и используется для того, чтобы указывать состояние целевой блокировки в узловом устройстве.

В другом варианте осуществления, когда взаимосвязь преобразования между позицией двоичного числа в операнде блокировки и идентификатором узла удовлетворяет вышеуказанной взаимосвязи преобразования (т.е. такой взаимосвязи преобразования, что биты 0 и 1 в операнде блокировки могут указывать состояние использования целевой блокировки в PN, идентификатор узла которого равен 0), и взаимосвязь преобразования между значением двоичного числа и состоянием блокировки удовлетворяет взаимосвязи преобразования, показанной в вышеприведенной таблице, вышеприведенный функциональный модуль 82 может быть дополнительно сконфигурирован с возможностью выполнять операцию снятия монопольной блокировки для целевой блокировки.

Модуль 83 обновления может быть дополнительно сконфигурирован с возможностью выполнять FAA-операцию для вышеприведенного операнда блокировки, причем значение, суммированное в FAA-операции, равно (т.е. вышеприведенному третьему значению, которое также может пониматься как значение, которое используется для того, чтобы указывать снятие монопольной блокировки, например, -01), чтобы получать исходное значение операнда блокировки и получать значение (т.е. вышеприведенное обновленное значение). Значение получается посредством суммирования вышеприведенного исходного значения вышеприведенного операнда блокировки и значения и указывает, что состояние целевой блокировки в первом PN представляет собой "блокировка более не выполняется". Иными словами, значение 00 получается посредством вычитания 10 из значения 10 бита данных, который находится в операнде блокировки и используется для того, чтобы указывать состояние целевой блокировки в узловом устройстве.

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

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

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

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

Фиг. 9 является принципиальной структурной схемой еще одного узлового устройства согласно варианту осуществления настоящего изобретения. Узловое устройство представляет собой PN в системе баз данных, как показано на фиг. 9, включающий в себя запоминающее устройство 91 и процессор 92.

Запоминающее устройство 91 сконфигурировано с возможностью сохранять группу программных кодов. Процессор 92 сконфигурирован с возможностью регулировать программные коды, сохраненные посредством запоминающего устройства 91, и сконфигурирован с возможностью выполнять следующие операции:

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

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

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

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

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

Фиг. 10 является принципиальной структурной схемой еще одного узлового устройства согласно варианту осуществления настоящего изобретения. Узловое устройство представляет собой PN в системе баз данных, как показано на фиг. 10, включающий в себя запоминающее устройство 101 и процессор 102.

Запоминающее устройство 101 сконфигурировано с возможностью сохранять группу программных кодов. Процессор 102 сконфигурирован с возможностью регулировать программные коды, сохраненные посредством запоминающего устройства 101, и сконфигурирован с возможностью выполнять следующие операции:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Необязательно, когда взаимосвязь преобразования между позицией двоичного числа в операнде блокировки и идентификатором узла удовлетворяет вышеуказанной взаимосвязи преобразования (т.е. такой взаимосвязи преобразования, что биты 0 и 1 в операнде блокировки могут указывать состояние использования целевой блокировки в PN, идентификатор узла которого равен 0), и взаимосвязь преобразования между значением двоичного числа и состоянием блокировки удовлетворяет взаимосвязи преобразования, показанной в вышеприведенной таблице, вышеприведенное второе значение может быть 10. Вышеприведенное обновление значения бита данных, который находится в обновленном значении и используется для того, чтобы указывать состояние целевой блокировки в узловом устройстве, на значение, которое используется для того, чтобы указывать, что состояние целевой блокировки в узловом устройстве представляет собой "монопольная блокировка продолжается", может представлять собой суммирование значения бита данных, который находится в обновленном значении и используется для того, чтобы указывать состояние целевой блокировки в узловом устройстве, и -01.

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

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

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

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

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

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

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

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

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

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

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

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

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

Фиг. 11 является принципиальной структурной схемой еще одного узлового устройства согласно варианту осуществления настоящего изобретения. Узловое устройство представляет собой PN в системе баз данных, как показано на фиг. 11, включающий в себя запоминающее устройство 111 и процессор 112.

Запоминающее устройство 111 сконфигурировано с возможностью сохранять группу программных кодов. Процессор 112 сконфигурирован с возможностью регулировать программные коды, сохраненные посредством запоминающего устройства 111, и сконфигурирован с возможностью выполнять следующие операции:

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

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

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

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

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

Фиг. 12 является принципиальной структурной схемой еще одного узлового устройства согласно варианту осуществления настоящего изобретения. Узловое устройство представляет собой PN в системе баз данных, как показано на фиг. 12, включающий в себя запоминающее устройство 121, процессор 122 и передающее устройство 123.

Запоминающее устройство 121 сконфигурировано с возможностью сохранять группу программных кодов. Процессор 122 сконфигурирован с возможностью регулировать программные коды, сохраненные посредством запоминающего устройства 121, и сконфигурирован с возможностью выполнять следующие операции:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Специалисты в данной области техники могут понимать, что все или часть процессов в способах вариантов осуществления могут быть реализованы посредством компьютерной программы, выдающей инструкции релевантным аппаратным средствам. Программа может сохраняться на машиночитаемом носителе хранения данных. Когда выполняется программа, осуществляются процессы в способах вариантов осуществления. Вышеупомянутый носитель хранения данных может включать в себя: магнитный диск, оптический диск, постоянное запоминающее устройство (постоянное запоминающее устройство, ROM) или оперативное запоминающее устройство (оперативное запоминающее устройство, RAM).

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

Похожие патенты RU2585973C2

название год авторы номер документа
КОМАНДЫ ДЛЯ ПОДДЕРЖКИ ОБРАБОТКИ ШИФРОВАННОГО СООБЩЕНИЯ 2004
  • Лундвалл Шон
  • Смит Роналд
  • Чичун Фил Е.
RU2334268C2
МЕХАНИЗМ ЗАПРОСА ПОЗДНЕЙ БЛОКИРОВКИ ДЛЯ ПРОПУСКА АППАРАТНОЙ БЛОКИРОВКИ (HLE) 2008
  • Аккари Хаитам
  • Раджвар Рави
  • Сринивасан Срикант Т.
RU2501071C2
СПОСОБЫ И УСТРОЙСТВО АДРЕСАЦИИ НА ОСНОВЕ PN КОДА ДЛЯ БЕСПРОВОДНОЙ СВЯЗИ 2007
  • Пракаш Раджат
  • Бендер Пол Е.
  • Хорн Гэйвин Бернард
  • Улупинар Фатих
RU2420008C2
АДРЕСАЦИЯ РЕГИСТРОВ В УСТРОЙСТВЕ ОБРАБОТКИ ДАННЫХ 1997
  • Йорк Ричард
  • Фрэнсис Хедли Джеймс
  • Саймс Доминик
  • Байлз Стюарт
RU2193228C2
СПОСОБ И КОМПЬЮТЕРНАЯ СИСТЕМА ДЛЯ СКРЫВАНИЯ ВЫБРАННЫХ УСТАНОВЛЕННЫХ ФУНКЦИЙ МНОГОФУНКЦИОНАЛЬНОЙ КОМАНДЫ 2010
  • Дан Грейнер
  • Деймиан Лео Осайсек
  • Тимоти Слиджл
RU2571364C2
СРЕДСТВО РАЗДЕЛЕННОЙ ЗАГРУЗКИ/СОХРАНЕНИЯ И КОМАНДА ДЛЯ НЕГО 2010
  • Митран Марсел
  • Слиджл Тимоти
  • Якоби Кристиан
  • Уэбб Чарлз
RU2554546C2
ОБРАБОТКА КОМАНД ГЕНЕРАЦИИ ДАЙДЖЕСТОВ СООБЩЕНИЙ 2004
  • Лундвалл Шон
  • Смит Роналд
  • Е Фил Чичун
RU2344467C2
СОХРАНЕНИЕ/ВОССТАНОВЛЕНИЕ ВЫБРАННЫХ РЕГИСТРОВ ПРИ ТРАНЗАКЦИОННОЙ ОБРАБОТКЕ 2012
  • Дан Ф. Грейнер
  • Кристиан Якоби
  • Тимоти Дж. Слиджл
RU2562424C2
СРЕДСТВО ФУНКЦИОНАЛЬНОЙ ВИРТУАЛИЗАЦИИ ДЛЯ БЛОКИРОВКИ КОМАНДНОЙ ФУНКЦИИ МНОГОФУНКЦИОНАЛЬНОЙ КОМАНДЫ ВИРТУАЛЬНОГО ПРОЦЕССА 2010
  • Дан Грейнер
  • Деймиан Лео Осайсек
  • Тимоти Слиджл
  • Лайза Хеллер
RU2565514C2
СИСТЕМА ПЕРЕДАЧИ ДАННЫХ, УСТРОЙСТВО ПЕРЕДАЧИ ДАННЫХ, УСТРОЙСТВО ЗАПИСИ ДАННЫХ, СПОСОБ УПРАВЛЕНИЯ ДАННЫМИ И СПОСОБ ГЕНЕРИРОВАНИЯ ИДЕНТИФИКАТОРА 2002
  • Абе Мики
  • Хосой Такафуми
  • Мацуда Хироми
  • Танака Масао
RU2284591C2

Иллюстрации к изобретению RU 2 585 973 C2

Реферат патента 2016 года СПОСОБ И УСТРОЙСТВО УПРАВЛЕНИЯ ОПЕРАЦИЕЙ БЛОКИРОВКИ СИСТЕМЫ БАЗ ДАННЫХ

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

Формула изобретения RU 2 585 973 C2

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Документы, цитированные в отчете о поиске Патент 2016 года RU2585973C2

Приспособление для суммирования отрезков прямых линий 1923
  • Иванцов Г.П.
SU2010A1
US 6850938 B1, 01.02.2005
US 5596754 A, 21.01.1997
Способ обработки целлюлозных материалов, с целью тонкого измельчения или переведения в коллоидальный раствор 1923
  • Петров Г.С.
SU2005A1
CN 102355473 A, 15.02.2012
РЕГИСТРАЦИЯ И ИЗВЛЕЧЕНИЕ ИНФОРМАЦИИ ОБ ИЗМЕНЕНИИ ТАБЛИЦЫ БАЗЫ ДАННЫХ, КОТОРАЯ МОЖЕТ ИСПОЛЬЗОВАТЬСЯ ДЛЯ ПРИЗНАНИЯ НЕДЕЙСТВИТЕЛЬНЫМИ ЭЛЕМЕНТОВ КЭША 2004
  • Пиццо Майкл Джозеф
  • Говард Роберт Майкл
  • Нг Патрик Ю-Кван
  • Гатри Скотт Д.
  • Смит Адам Уэйд
RU2380748C2
СИСТЕМЫ И СПОСОБЫ МАНИПУЛИРОВАНИЯ ДАННЫМИ В СИСТЕМЕ ХРАНЕНИЯ ДАННЫХ 2006
  • Шукла Амит
  • Фридман Грегори С.
  • Ричинс Джек
  • Хантер Джейсон Т.
  • Пирс Джеффри Т.
  • Ньюман Майкл Дж.
  • Эллис Найджел Р.
  • Негрин Ричард Л.
RU2413984C2

RU 2 585 973 C2

Авторы

Не Юаньюань

Лю Хуэйцзюнь

Ван Чуаньтин

Даты

2016-06-10Публикация

2014-01-21Подача