RU2749339C1 - Способ управления оборудованием, кластерная система, электронное устройство и читаемый носитель данных - Google Patents

Способ управления оборудованием, кластерная система, электронное устройство и читаемый носитель данных Download PDF

Info

Publication number
RU2749339C1
RU2749339C1 RU2020125088A RU2020125088A RU2749339C1 RU 2749339 C1 RU2749339 C1 RU 2749339C1 RU 2020125088 A RU2020125088 A RU 2020125088A RU 2020125088 A RU2020125088 A RU 2020125088A RU 2749339 C1 RU2749339 C1 RU 2749339C1
Authority
RU
Russia
Prior art keywords
data
cluster
node
requests
nodes
Prior art date
Application number
RU2020125088A
Other languages
English (en)
Inventor
Цзюнь ЛО
Тао ЦЗЯ
Original Assignee
Бейджин Кингсофт Клауд Нетворк Текнолоджи Ко., Лтд.
Бейджин Кингсофт Клауд Текнолоджи Ко., Лтд.
Бейджин Цзиньсюнь Жуйбо Нетворк Текнолоджи Ко., Лтд
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Бейджин Кингсофт Клауд Нетворк Текнолоджи Ко., Лтд., Бейджин Кингсофт Клауд Текнолоджи Ко., Лтд., Бейджин Цзиньсюнь Жуйбо Нетворк Текнолоджи Ко., Лтд filed Critical Бейджин Кингсофт Клауд Нетворк Текнолоджи Ко., Лтд.
Application granted granted Critical
Publication of RU2749339C1 publication Critical patent/RU2749339C1/ru

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • G06F9/524Deadlock detection or avoidance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • G06F9/526Mutual exclusion algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0806Configuration setting for initial configuration or provisioning, e.g. plug-and-play
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

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

Description

В настоящей заявке испрашивается приоритет согласно заявке на патент Китая № 201810012150.2, поданной в Национальное управление по интеллектуальной собственности Китая 5 января 2018 года и озаглавленной «Способ управления оборудованием, кластерная система, электронное устройство и читаемый носитель данных», во всей полноте включенной в настоящую заявку посредством отсылки.
Область техники, к которой относится изобретение
Настоящая заявка относится к области кластерных систем, в частности – к способу, кластерной системе, электронному устройству для эксплуатации устройства и читаемому носителю данных.
Уровень техники
В распределенных системах или иных системах может иметь место необходимость обработки запросов с высокой степенью многопоточности. В таком случае выдача и обработка запросов должны происходить последовательно. Из-за большого количества одновременных запросов в состоянии с высокой степенью многопоточности, их обработка может быть разупорядочена.
Сущность изобретения
Учитывая вышеизложенное, настоящее изобретение предусматривает способ, кластерную систему, электронное устройство для эксплуатации устройства и читаемый носитель данных с возможностью реализации последовательной обработки запросов.
Технические задачи по настоящей заявке решаются следующим образом.
Способ эксплуатации устройства, применимый к кластерной системе, которая включает в себя первый кластер и второй кластер, причем первый кластер включает в себя множество первых узлов, а второй кластер включает в себя множество вторых узлов, при этом способ эксплуатации устройства включает этапы, на которых:
получают, посредством по меньшей мере двух первых узлов в первом кластере соответственно, по меньшей мере два запроса операций над данными для целевого устройства связи;
проводят состязание между указанными по меньшей мере двумя первыми узлами за первую распределенную блокировку, предустановленную для целевого устройства связи;
сохраняют полученный запрос операции над данными посредством первого узла, получившего первую распределенную блокировку в результате состязания;
проводят состязание между вторыми узлами во втором кластере за вторую распределенную блокировку, предустановленную для целевого устройства связи;
получают, посредством второго узла, получившего вторую распределенную блокировку в результате состязания, запрос операции над данными из сохраненных запросов операций над данными согласно информации о времени сохранения сохраненных запросов операций над данными, для выполнения операции над данными в отношении целевого устройства связи.
В одном из вариантов реализации запросы операций над данными содержат идентификационную информацию целевого устройства связи, при этом проведение состязания между указанными по меньшей мере двумя первыми узлами за первую распределенную блокировку, предустановленную для целевого устройства связи, включает следующее:
определяют, посредством по меньшей мере двух первых узлов, первую распределенную блокировку, соответствующую целевому устройству связи, по идентификационной информации целевого устройства связи, и проводят состязание за первую распределенную блокировку.
В одном из вариантов реализации, после сохранения полученного запроса операции над данными посредством первого узла, получившего первую распределенную блокировку в результате состязания, способ дополнительно включает этап, на котором:
снимают первую распределенную блокировку посредством первого узла, получившего первую распределенную блокировку в результате состязания, так чтобы прочие первые узлы, получающие запросы операций над данными, вступали в состязание за первую распределенную блокировку.
В одном из вариантов реализации получение, посредством второго узла, получившего вторую распределенную блокировку в результате состязания, запроса операции над данными из сохраненных запросов операций над данными согласно информации о времени сохранения сохраненных запросов операций над данными включает этап, на котором:
получают, посредством второго узла, получившего вторую распределенную блокировку в результате состязания, запрос операции над данными с самым ранним временем сохранения из сохраненных запросов операций над данными.
В одном из вариантов реализации, после выполнения операции над данными в отношении целевого устройства связи посредством второго узла, получившего вторую распределенную блокировку в результате состязания, способ дополнительно включает этапы, на которых:
снимают, посредством второго узла, получившего вторую распределенную блокировку в результате состязания, вторую распределенную блокировку и удаляют из сохраненных запросов операций над данными запрос операции над данными, полученный посредством второго узла, получившего вторую распределенную блокировку в результате состязания.
В одном из вариантов реализации, после сохранения полученного запроса операции над данными посредством первого узла, получившего первую распределенную блокировку в результате состязания, способ дополнительно включает этапы, на которых:
генерируют и отправляют, посредством первого узла, получившего первую распределенную блокировку в результате состязания, уведомительное сообщение второму кластеру для выдачи вторым узлам во втором кластере инструкции на выполнение операций над данными в отношении целевого устройства связи.
В одном из вариантов реализации целевое устройство связи представляет собой коммутатор, при этом запрос операции над данными представляет собой запрос конфигурирования коммутатора.
В одном из вариантов реализации сохранение полученного запроса операции над данными посредством первого узла, получившего первую распределенную блокировку в результате состязания, включает в себя этап, на котором:
сохраняют запрос операции над данными так, что увеличение значения идентификатора происходит автоматически;
причем получение, посредством второго узла, получившего вторую распределенную блокировку в результате состязания, запроса операции над данными из сохраненных запросов операций над данными согласно информации о времени сохранения сохраненных запросов операций над данными включает в себя этап, на котором:
получают запрос операции над данными с наименьшим идентификатором из сохраненных запросов операций над данными.
В настоящей заявке также предложена кластерная система, включающая в себя первый кластер и второй кластер, при этом первый кластер включает в себя множество первых узлов, а второй кластер включает в себя множество вторых узлов, причем
по меньшей мере два первых узла в первом кластере соответственно получают по меньшей мере два запроса операций над данными для целевого устройства связи;
указанные по меньшей мере два первых узла состязаются за первую распределенную блокировку, предустановленную для целевого устройства связи;
первый узел, получивший первую распределенную блокировку в результате состязания, сохраняет полученный запрос операции над данными;
указанные вторые узлы во втором кластере состязаются за вторую распределенную блокировку, предустановленную для целевого устройства связи;
второй узел, получивший вторую распределенную блокировку в результате состязания, получает запрос операции над данными из сохраненных запросов операций над данными согласно информации о времени сохранения сохраненных запросов операций над данными, для выполнения операции над данными в отношении целевого устройства связи.
В одном из вариантов реализации запросы операций над данными содержат идентификационную информацию целевого устройства связи, при этом указанные по меньшей мере два первых узла выполнены с возможностью:
определения первой распределенной блокировки, соответствующей целевому устройству связи, по идентификационной информации целевого устройства связи и состязания за первую распределенную блокировку.
В одном из вариантов реализации первый узел, получивший первую распределенную блокировку в результате состязания, выполнен с возможностью снятия первой распределенной блокировки после сохранения полученного запроса операции над данными, так чтобы прочие первые узлы, получающие запросы операций над данными, вступали в состязание за первую распределенную блокировку.
В одном из вариантов реализации второй узел, получивший вторую распределенную блокировку в результате состязания, выполнен с возможностью:
получения запроса операции над данными с самым ранним временем сохранения из сохраненных запросов операций над данными.
В одном из вариантов реализации второй узел, получивший вторую распределенную блокировку в результате состязания, выполнен с возможностью снятия второй распределенной блокировки после выполнения операции над данными в отношении целевого устройства связи и удаления из сохраненных запросов операций над данными запроса операции над данными, полученного посредством второго узла, получившего вторую распределенную блокировку в результате состязания.
В одном из вариантов реализации первый узел, получивший первую распределенную блокировку в результате состязания, выполнен с возможностью, после сохранения полученного запроса операции над данными, генерирования и отправки уведомительного сообщения второму кластеру для выдачи вторым узлам во втором кластере инструкции на выполнение операций над данными в отношении целевого устройства связи.
В одном из вариантов реализации целевое устройство связи представляет собой коммутатор, при этом запрос операции над данными представляет собой запрос конфигурирования коммутатора.
В одном из вариантов реализации первый узел, получивший первую распределенную блокировку в результате состязания, выполнен с возможностью:
сохранения запроса операции над данными так, что увеличение значения идентификатора происходит автоматически;
причем второй узел, получивший вторую распределенную блокировку в результате состязания, выполнен с возможностью:
получения запроса операции над данными с наименьшим идентификатором из сохраненных запросов операций над данными.
В одном из вариантов по настоящей заявке также предложен читаемый носитель данных, который хранит первые инструкции, при исполнении которых на компьютере, компьютер осуществляет этапы, выполняемые посредством первого узла согласно вышеуказанному способу эксплуатации устройства; и/или читаемый носитель данных хранит вторые инструкции, при исполнении которых на компьютере, компьютер осуществляет этапы, выполняемые посредством второго узла согласно вышеуказанному способу эксплуатации устройства.
В одном из вариантов по настоящей заявке также предложено электронное устройство, содержащее память и процессор, причем память выполнена с возможностью хранения первого исполняемого программного кода, при этом процессор выполнен с возможностью чтения первого исполняемого программного кода, хранимого в памяти, для осуществления этапов, выполняемых посредством первого узла согласно вышеуказанному способу эксплуатации устройства; и/или память выполнена с возможностью хранения второго исполняемого программного кода, при этом процессор выполнен с возможностью чтения второго исполняемого программного кода, хранимого в памяти, для осуществления этапов, выполняемых посредством второго узла согласно вышеуказанному способу эксплуатации устройства.
В вариантах по настоящей заявке предложены способ, кластерная система, электронное устройство для эксплуатации устройства и читаемый носитель данных, причем операции над данными в отношении устройства связи реализуют путем взаимодействия между первым кластером и вторым кластером в кластерной системе. Первые узлы в первом кластере выполнены с возможностью состязания за первую распределенную блокировку для реализации последовательного сохранения запросов операций над данными. Вторые узлы во втором кластере выполнены с возможностью состязания за вторую распределенную блокировку для последовательного получения сохраненных запросов операций над данными и выполнения этих операций над данными в отношении целевого устройства связи. Благодаря наличию механизма двух распределенных блокировок, когда в кластерной системе имеет место состояние с высокой степенью многопоточности, в котором поступает большое количество запросов операций над данными, может быть реализована последовательная обработка большого количества запросов операций над данными за счет взаимоисключающего характера первой распределенной блокировки и второй распределенной блокировки. Это позволяет обеспечить не только последовательную обработку запросов операций над данными, но и улучшить пропускную способность первого кластера, при этом возможно горизонтальное расширение и первого, и второго кластеров, и, тем самым, улучшение работоспособности и обрабатывающей способности системы.
Вышеуказанные цели, признаки и преимущества изобретения по настоящей заявке станут более очевидны и понятны из нижеследующего описания предпочтительных вариантов осуществления при его рассмотрении совместно с прилагаемыми чертежами.
Краткое описание чертежей
Для более наглядного раскрытия технического решения согласно вариантам осуществления по настоящей заявке служат соответствующие чертежи, которые будут кратко описаны ниже. При этом следует понимать, что описанные ниже чертежи относятся только к некоторым вариантам осуществления по настоящей заявке, что не следует толковать как ограничение объема, при этом средний специалист в данной области техники также сможет создать другие чертежи на их основе без необходимости приложения творческих усилий.
ФИГ.1 – принципиальная схема состава кластерной системы по одному из вариантов осуществления по настоящей заявке.
ФИГ.2 – схема последовательности способа эксплуатации устройства по одному из вариантов осуществления по настоящей заявке.
ФИГ.3 – схема последовательности способа эксплуатации устройства по одному из вариантов осуществления по настоящей заявке.
ФИГ.4 – схема последовательности способа эксплуатации устройства по одному из вариантов осуществления по настоящей заявке.
ФИГ.5 – принципиальная схема конструкции электронного устройства по одному из вариантов осуществления по настоящей заявке.
Перечень номеров позиций: 10 - кластерная система; 100 - первый кластер; 101 - первый узел; 200 - второй кластер; 201 - второй узел; 300 - устройство связи; 400 - пространство хранения; 500 - электронное устройство; 501 - процессор; 502 - память.
Осуществление изобретения
Техническое решение вариантов осуществления по настоящей заявке будет ясно и полностью раскрыто ниже на примере чертежей вариантов осуществления изобретения по настоящей заявке. Разумеется, раскрываемые варианты являются не всеми, а только частью вариантов осуществления изобретения по настоящей заявке. Компоненты вариантов осуществления изобретения по настоящей заявке, в общем виде раскрытые и проиллюстрированные на прилагаемых чертежах, могут быть расположены и конструктивно выполнены в нескольких разных конфигурациях. Поэтому нижеследующее раскрытие вариантов осуществления изобретения по настоящей заявке, проиллюстрированных на чертежах, не предназначено для ограничения объема притязаний по настоящей заявке, а служит исключительно для представления избранных вариантов осуществления. Все прочие варианты осуществления, полученные специалистами в данной области техники на основе раскрытых в настоящем документе вариантов без приложения творческих усилий, входят в объем по настоящей заявке.
Следует отметить, что аналогичные номера позиций и буквы обозначают аналогичные позиции на следующих чертежах; таким образом, после того, как какая-либо позиция будет определена на одном чертеже, нет нужды в дополнительном определении и разъяснении данной позиции на последующих чертежах. При этом в тексте настоящей заявки такие слова, как «первый», «второй» служат исключительно для различения при раскрытии и не должны толковаться как указывающие на относительную важность или подразумевающие ее.
В некоторых вариантах по настоящей заявке предложен способ эксплуатации устройства, раскрытый на ФИГ.1, применимый к кластерной системе 10. Кластерная система 10 содержит первый кластер 100, состоящий из множества первых узлов 101, и второй кластер 200, состоящий из множества вторых узлов 201. Кластерная система 10 соединена с возможностью связи с по меньшей мере одним устройством 300 связи. Способ эксплуатации устройства на ФИГ.2 включает следующие этапы.
Этап S101: получают, посредством по меньшей мере двух первых узлов 101 в первом кластере 100 соответственно, по меньшей мере два запроса операций над данными для целевого устройства 300 связи.
В данном варианте по настоящей заявке кластерная система 10 может включать в себя множество серверов, могущее представлять собой, например, множество серверов, применяемых в программно-определяемой сети (англ. software defined network (SDN)). Разумеется, кластерная система 10 также может представлять собой кластер, состоящий из множества устройств, применяемых в других системах. Кластерная система 10 может включать в себя первый кластер 100 и второй кластер 200, при этом каждый из кластеров может включать в себя множество узлов. В одном из частных случаев реализации первый кластер 100 может включать в себя множество контроллерных узлов (управляющих узлов), второй кластер 200 может включать в себя множество узлов коммутационных услуг (узлов асинхронной обработки), при этом первый кластер 100 выполнен с возможностью связи со вторым кластером 200. В данном варианте по настоящей заявке устройство 300 связи может представлять собой коммутатор или иное устройство, при этом количество устройств 300 связи может быть разным в зависимости от архитектуры той или иной системы. В отношении разных устройств 300 связи или в зависимости от фактических эксплуатационных потребностей, запросы операции над данными могут быть разными. В одном из частных случаев реализации запрос операции над данными может представлять собой запрос конфигурирования коммутатора. Запрос операции над данными может представлять собой запрос, сгенерированный клиентом и полученный кластерной системой 10. После того, как кластерная система 10 обработает данные запросы операций над данными, выполняют соответствующие операции в отношении устройства 300 связи.
В процессе эксплуатации устройства 300 связи, когда имеет место состояние с высокой степенью многопоточности, в котором одновременно поступает большое количество запросов операций над данными, некоторые операции для устройства 300 связи нужно выполнять строго согласно порядку запросов операций над данными. Например, в процессе конфигурирования коммутатора посредством кластерной системы 10, конфигурирование нужно выполнять согласно порядку запросов конфигурирования. Если коммутатор не будет сконфигурирован по порядку, то окончательный результат конфигурирования может не соответствовать ожиданиям пользователя. После получения кластерной системой 10 запросов конфигурирования, запросы конфигурирования ставят в очередь для последовательной обработки во избежание их разупорядочения. Например, запросы конфигурирования обычно можно последовательно отправлять коммутатору в виде файла расширяемого языка разметки (англ. extensible markup language, xml). Так как отправка запроса конфигурирования занимает много времени, запросы конфигурирования находятся в состоянии ожидания своей очереди для обработки. В состоянии с высокой степенью многопоточности, когда в короткий период времени поступает большое количество запросов конфигурирования, такой способ обработки значительно уменьшит обрабатывающую способность и показатели работы системы в части многопоточной обработки.
В данном варианте по настоящей заявке кластерная система 10 может получать запросы операций над данными через интерфейс конфигурирования, при этом разные первые узлы 101 в первом кластере 100 могут получать разные запросы операций над данными. Данные запросы операций над данными могут относиться к одному и тому же устройству 300 связи. В данном варианте по настоящей заявке одно и то же устройство 300 связи, соответствующее этим разным запросам операций над данными, именуется «целевое устройство связи». Как раскрыто выше, запросы операций над данными, полученные разными первыми узлами 101, могут представлять собой разные запросы конфигурирования для одного и того же коммутатора, при этом коммутатор представляет собой целевое устройство связи.
Этап S102: проводят состязание между указанными по меньшей мере двумя первыми узлами 101, получающими указанные по меньшей мере два запроса операций над данными, за первую распределенную блокировку, предустановленную для целевого устройства связи.
Когда первый кластер 100 получает по меньшей мере два запроса операций над данными для одного и того же устройства 300 связи, устройство 300 связи обслуживают как целевое устройство связи, при этом по меньшей мере два первых узла 101, соответственно получающие запросы операций над данными, выполнены с возможностью состязания за первую распределенную блокировку, предустановленную для целевого устройства связи.
Распределенная блокировка – это механизм управления доступом к ресурсам, совместно используемым в распределенных системах. Действия разных узлов в распределенной системе зачастую скоординированы. Если разные системы или разные узлы одной и той же системы совместно используют один ресурс или группу ресурсов, то для доступа к этим ресурсам зачастую нужно взаимное исключение во избежание создания взаимных помех и обеспечения постоянства совместно используемых ресурсов, доступ к которым осуществляют разные узлы. Механизм распределенной блокировки обеспечивает системе или узлу, получившему распределенную блокировку, возможность доступа к совместно используемым ресурсам или их обработки. Ресурсы, предназначенные для совместного использования, могут быть снабжены соответствующей распределенной блокировкой, при этом распределенной блокировкой управляет диспетчер распределенной блокировки. Механизм состязания разных систем или узлов за распределенную блокировку может состоять в следующем: когда нужен доступ к совместно используемым ресурсам, разные системы или узлы сначала направляют запрос доступа к совместно используемым ресурсам диспетчеру распределенной блокировки; далее диспетчер распределенной блокировки обрабатывает запросы от множества систем или узлов и выбирает одну систему или один узел из этого множества систем или узлов в качестве «временного владельца» распределенной блокировки, которому нужен доступ к совместно используемым ресурсам. Система или узел, получающий распределенную блокировку, может осуществить доступ к совместно используемым ресурсам. Во время доступа другие системы или узлы, которым не удалось получить распределенную блокировку, не имеют привилегий в части доступа к совместно используемым ресурсам.
Можно понять, что в данном варианте по настоящей заявке применяют механизм распределенной блокировки, при этом состязание множества первых узлов 101 за первую распределенную блокировку может включать в себя этапы, на которых: множество первых узлов 101 направляют заявки на первую распределенную блокировку диспетчеру распределенной блокировки, при этом диспетчер распределенной блокировки определяет только один первый узел 101, получающий первую распределенную блокировку, согласно заявкам множества первых узлов 101, причем первый узел 101, получивший первую распределенную блокировку, имеет привилегию в части эксплуатации пространства 400 хранения, при этом прочие первые узлы 101, которым не удалось получить первую распределенную блокировку, не имеют привилегий в части эксплуатации пространства 400 хранения.
В частности, в данном варианте по настоящей заявке запрос операции над данными может содержать идентификационную информацию целевого устройства связи, например, запрос операции над данными может включать в себя IP-адрес, преднастроенный идентификатор устройства целевого устройства связи и т.п. Первые узлы 101 могут определять соответствующую первую распределенную блокировку по идентификационной информации целевого устройства связи. Разные устройства 300 связи соответствуют разным первым распределенным блокировкам, при этом первая распределенная блокировка, соответствующая целевому устройству связи, выполнена с возможностью реализации взаимоисключения между разными первыми узлами 101, благодаря чему в одно и то же время только один первый узел 101 может обрабатывать запрос операции над данными, полученный этим узлом. Например, два первых узла 101 в первом кластере 100 соответственно получают запрос конфигурирования коммутатора с IP-адресом 10.0.0.3, после чего коммутатор с IP-адресом 10.0.0.3 применяют в качестве целевого устройства связи. Кластерная система 10 заранее конфигурирует первую распределенную блокировку для коммутатора с IP-адресом 10.0.0.3, при этом два первых узла 101 выполнены с возможностью состязания за первую распределенную блокировку.
Этап S103: сохраняют полученный запрос операции над данными посредством первого узла 101, получившего первую распределенную блокировку в результате состязания.
Когда первый узел 101, получивший первую распределенную блокировку в результате состязания, обрабатывает запрос операции над данными, из-за взаимоисключающего характера первой распределенной блокировки прочие первые узлы 101, которым не удалось получить первую распределенную блокировку в результате состязания, не могут обрабатывать их запросы операций над данными.
В данном варианте по настоящей заявке первый узел 101, получивший первую распределенную блокировку в результате состязания, может сохранить полученный запрос операции над данными в пространстве 400 хранения. В частности, запросы операций над данными можно сохранять в пространстве 400 хранения, сконфигурированном заранее, например, в виде базы данных, быстродействующей буферной памяти, очереди сообщений и т.п. Если запросы операций над данными сохраняют в базе данных, запрос операции над данными можно сохранить в базе данных таким образом, при котором увеличение значения идентификатора происходит автоматически. В необязательном варианте, при сохранении запроса операции над данными, для формирования идентификатора запроса операции над данными используют натуральное число согласно порядку сохранения. Например, идентификатор n+1-го запроса операции над данными – это идентификатор n-го запроса операции над данными плюс 1. Таким образом, идентификаторы могут отражать временной порядок сохранения запросов операций над данными. Чем меньше значение идентификатора, тем раньше время сохранения, то есть второй узел 201, впоследствии получивший вторую распределенную блокировку в результате состязания, получает запрос операции над данными согласно временному порядку сохранения запросов операций над данными, для выполнения операции над данными в отношении целевого устройства связи. В частности, второй узел 201 получает запрос операции над данными с наименьшим идентификатором из сохраненных запросов операций над данными, т.е. запрос операции над данными с самым ранним временем сохранения, и далее обрабатывает его.
База данных может хранить запросы операций над данными, соответствующие одному целевому устройству связи, или запросы операций над данными, соответствующие разным целевым устройствам связи. Сохраненные запросы операций над данными различают по разной идентификационной информации разных целевых устройств связи.
Кроме того, если запросы операций над данными хранят в очереди сообщений, запросы операций над данными для одного и того же целевого устройства связи можно сохранять в одной и той же очереди сообщений посредством заранее заданного алгоритма, тем самым обеспечивая последовательное сохранение запросов операций над данными во временном порядке. Данный вариант по настоящей заявке не ограничивает сохранение запросов операций над данными указанным частным форматом, а предусматривает последовательное сохранение запросов операций над данными во временном порядке для последовательного сохранения запросов операций над данными и точного порядка последующих операций над данными.
Этап S104: проводят состязание между вторыми узлами 201 во втором кластере 200 за вторую распределенную блокировку, предустановленную для целевого устройства связи.
После выполнения сохранения первым узлом 101 в первом кластере 100 запроса операции над данными, указанные вторые узлы 201 во втором кластере вступают в состязание за вторую распределенную блокировку.
После выполнения сохранения первым узлом 101 в первом кластере 100 запроса операции над данными в результате состязания за первую распределенную блокировку, первый кластер 100 может дать второму кластеру 200 инструкцию на выполнение последующих этапов. Например, первый кластер 100 может дать инструкцию второму кластеру 200 путем отправки сообщения вызова удаленной процедуры (англ. RPC, Remote Procedure Call Protocol) второму кластеру 200. Первый узел 101 в первом кластере 100, выполнивший сохранение запроса операции над данными, может дать инструкцию всем узлам во втором кластере путем отправки сообщения вызова удаленной процедуры. Данное уведомительное сообщение может содержать идентификационную информацию целевого устройства связи, при этом указанные вторые узлы 201 во втором кластере 200 выполнены с возможностью состязания за вторую распределенную блокировку, соответствующую целевому устройству связи. Вторую распределенную блокировку для целевого устройства также создают заранее, при этом вторая распределенная блокировка также имеет взаимоисключающий характер. Когда второй узел 201, получивший вторую распределенную блокировку в результате состязания, обрабатывает запрос операции над данными, прочие вторые узлы 201, которым не удалось получить вторую распределенную блокировку в результате состязания, не могут обрабатывать запросы операций над данными.
Этап S105: получают запрос операции над данными посредством второго узла 201, получившего вторую распределенную блокировку в результате состязания, из сохраненных запросов операций над данными согласно информации о времени сохранения сохраненных запросов операций над данными.
Этап S106: выполняют операцию над данными в отношении целевого устройства связи посредством второго узла 201, получившего вторую распределенную блокировку в результате состязания.
Второй узел 201, получивший вторую распределенную блокировку в результате состязания, выполняет операцию над данными в отношении целевого устройства связи согласно полученному запросу операции над данными.
Второй кластер 200 может включать в себя множество вторых узлов 201, при этом второй узел 201, получивший вторую распределенную блокировку в результате состязания между множеством вторых узлов 201, может обработать запрос операции над данными. Процедура обработки может включать в себя этапы, на которых: получают запрос операции над данными в отношении целевого устройства связи с самым ранним временем сохранения из пространства 400 хранения, где были заранее сохранены запросы операций над данными, и выполняют указанную операцию над данными в отношении целевого устройства связи согласно информации об операции, содержащейся в запросе операции над данными с самым ранним временем сохранения. Как сказано выше, множество первых узлов 101 выполняет последовательное сохранение запросов операций над данными путем состязания за первую распределенную блокировку. Информация о времени сохранения запросов операций над данными включает в себя время сохранения запросов операций над данными при их последовательном сохранении. Указанные вторые узлы 201 во втором кластере 200 состязаются за вторую распределенную блокировку для последовательного извлечения запросов операций над данными согласно порядку сохранения запросов операций над данными, тем самым реализуя последовательную выдачу запросов операций над данными и обеспечивая правильный порядок операций над данными. Например, первые узлы 101 сохраняют запросы конфигурирования для коммутатора с IP-адресом 10.0.0.3 во временном порядке посредством состязания за первую распределенную блокировку. Множество вторых узлов 201 во втором кластере 200 состязаются за вторую распределенную блокировку для того, чтобы только один второй узел 201 мог обрабатывать сохраненные запросы конфигурирования в одно и то же время, при этом второй узел 201, получивший вторую распределенную блокировку в результате состязания, может получить запрос конфигурирования с самым ранним временем сохранения и сконфигурировать коммутатор с IP-адресом 10.0.0.3 согласно запросу конфигурирования. Взаимодействие между первым кластером 100 и вторым кластером 200 позволяет реализовать последовательную обработку запросов конфигурирования и выполнить последовательное конфигурирование коммутатора.
В данном варианте по настоящей заявке механизм распределенной блокировки создан для обработки, выполняемой и первым кластером 100, и вторым кластером 200. После получения первым узлом 101 в первом кластере 100 первой распределенной блокировки в результате состязания, запрос операции над данными сначала сохраняют посредством пространства 400 хранения для обеспечения последовательной обработки запросов операций над данными. Второй узел 201 во втором кластере 200A может получать множество запросов операций над данными для целевого устройства связи. Если множество вторых узлов 201 будут непосредственно работать с запросами операций над данными, относящимися к узлу, получившему вторую распределенную блокировку в результате состязания, нельзя будет обеспечить порядок запросов операций над данными. Запросы операций над данными нужно сохранять во временном порядке посредством пространства 400 хранения, благодаря чему второй узел 201, получивший вторую распределенную блокировку в результате состязания, получает запрос операции над данными с самым ранним временем сохранения из сохраненных запросов операций над данными согласно временному порядку. Это позволяет обеспечить принцип «первым введен, первым выведен» (англ. FIFO, First Input First Output) для сохраненных запросов операций над данными и, тем самым, реализовать последовательную обработку запросов операций над данными.
В другом частном варианте, после выполнения сохранения одного запроса операции над данными, для продолжения сохранения прочих запросов операций над данными после того, как первый узел 101, получивший первую распределенную блокировку в результате состязания, сохранит соответствующий запрос операции над данными, может быть продолжено состязание за первую распределенную блокировку. Способ на ФИГ.3 может включать в себя следующие этапы.
Этапы S201 - S203 идентичны этапам S101 - S103 и не будут раскрыты повторно.
Этап S204: снимают первую распределенную блокировку посредством первого узла 101, получившего первую распределенную блокировку в результате состязания, благодаря чему прочие первые узлы 101, получающие запросы операций над данными, вступают в состязание за первую распределенную блокировку.
Этапы S205 - S207 идентичны этапам S104 - S106 и не будут раскрыты повторно.
Первые узлы 101 в первом кластере 100 состязаются за первую распределенную блокировку для реализации последовательного сохранения запросов операций над данными. После выполнения первым узлом 101, получившим первую распределенную блокировку в результате состязания, сохранения запроса операции над данными, первую распределенную блокировку можно снять, благодаря чему прочие первые узлы 101, получающие запросы операций над данными, продолжат состязание за первую распределенную блокировку для продолжения сохранения прочих запросов операций над данными. Выполнение обработки запросов операций над данными первым кластером 100 и выполнение обработки запросов операций над данными вторым кластером 200 могут происходить одновременно, что улучшает скорость обработки кластерной системой 10.
В другом частном варианте, для продолжения обработки запросов операций над данными после выполнения операции над данными в отношении устройства 300 связи, можно продолжить состязание за вторую распределенную блокировку после того, как второй узел 201, получивший вторую распределенную блокировку в результате состязания, выполнит операцию в отношении целевого устройства связи. В частности, способ на ФИГ.4 может включать в себя следующие этапы.
Этапы S301 и S306 идентичны этапам S101 - S106 и не будут раскрыты повторно.
Этап S307: снимают вторую распределенную блокировку посредством второго узла 201, получившего вторую распределенную блокировку в результате состязания.
Этап S308: удаляют из сохраненных запросов операций над данными запрос операции над данными, соответствующий второму узлу 201, получившему вторую распределенную блокировку в результате состязания.
Можно понять, что после выполнения вторым узлом 201, получившим вторую распределенную блокировку, обработки запроса операции над данными, он может снять полученную вторую распределенную блокировку и удалить обработанный запрос операции над данными из пространства 400 хранения. Указанные вторые узлы 201 во втором кластере 200 могут продолжить состязание за вторую распределенную блокировку и обработку прочих запросов операций над данными. Своевременное снятие второй распределенной блокировки может обеспечить то, что процедура обработки запросов операций над данными не будет прервана. При этом удаление выполненного запроса операции над данными из пространства хранения может предотвратить последующее получение вторыми узлами 201 запроса операции над данными, который уже был обработан, и повторное выполнение операций в отношении целевого устройства связи.
Для предотвращения «ничейного» результата состязания за первую распределенную блокировку, в одном из частных случаев реализации первая распределенная блокировка может иметь «срок аренды», при этом сохранение первым узлом, получившим первую распределенную блокировку в результате состязания, запроса операции над данными включает этапы, на которых: осуществляют сохранение запроса операции над данными в пределах «срока аренды» первой распределенной блокировки; если сохранение не будет выполнено в пределах «срока аренды» первой распределенной блокировки, снимают первую распределенную блокировку после того, как «срок аренды» первой распределенной блокировки истечет.
Для предотвращения «ничейного» результата состязания за вторую распределенную блокировку, в одном из частных случаев реализации вторая распределенная блокировка имеет «срок аренды», при этом второй узел, получивший вторую распределенную блокировку в результате состязания, конфигурирует целевое устройство связи после получения запроса операции над данными, причем конфигурирование, в частности, включает в себя этапы, на которых: выполняют конфигурирование по запросу операции над данными в пределах «срока аренды» второй распределенной блокировки; если конфигурирование не будет выполнено в пределах «срока аренды» второй распределенной блокировки, снимают вторую распределенную блокировку после того, как «срок аренды» второй распределенной блокировки истечет.
«Срок аренды» предоставляют для первой распределенной блокировки и второй распределенной блокировки соответственно, при этом продолжительность «сроков аренды» первой распределенной блокировки и второй распределенной блокировки могут быть одинаковыми или разными, что может предотвратить «ничейный» результат состязания за первую распределенную блокировку и вторую распределенную блокировку, неспособность продолжения системой обработки из-за возможных сбоев, при этом обеспечив бесперебойную обработку запросов операций над данными.
В данном варианте осуществления настоящего изобретения предложен способ эксплуатации устройства, при котором операции над данными в отношении устройства 300 связи реализуют за счет взаимодействия между первым кластером 100 и вторым кластером 200 в кластерной системе 10. Первые узлы 101 в первом кластере 100 выполнены с возможностью состязания за первую распределенную блокировку для реализации последовательного сохранения запросов операций над данными. Вторые узлы 201 во втором кластере 200 выполнены с возможностью состязания за вторую распределенную блокировку для последовательного получения сохраненных запросов операций над данными и выполнения этих операций над данными в отношении целевого устройства связи. Благодаря наличию механизма двух распределенных блокировок, когда в кластерной системе 10 имеет место состояние с высокой степенью многопоточности, в котором поступает большое количество запросов операций над данными, может быть реализована последовательная обработка большого количества запросов операций над данными за счет взаимоисключающего характера первой распределенной блокировки и второй распределенной блокировки. Это позволяет обеспечить не только последовательную обработку запросов операций над данными, но и улучшение пропускной способности первого кластера 100, при этом возможно горизонтальное расширение и первого кластера 100, и второго кластера 200, и, тем самым, улучшение работоспособности и обрабатывающей способности системы.
На ФИГ.1 показано, что в одном из вариантов по настоящей заявке также предложена кластерная система 10, включающая в себя первый кластер 100 и второй кластер 200, отличающаяся тем, что первый кластер 100 включает в себя множество первых узлов 101, а второй кластер 200 включает в себя множество вторых узлов 201.
По меньшей мере два первых узла 101 в первом кластере 100 соответственно получают по меньшей мере два запроса операций над данными для целевого устройства 300 связи.
Указанные по меньшей мере два первых узла 101, получающие указанные по меньшей мере два запроса операций над данными, состязаются за первую распределенную блокировку, предустановленную для целевого устройства связи, и первый узел 101, получивший первую распределенную блокировку в результате состязания, сохраняет соответствующий запрос операции над данными. Подробности можно узнать из описания этапа S101, этапа S102 и этапа S103 раскрытого выше варианта способа.
Указанные вторые узлы 201 во втором кластере 200 состязаются за вторую распределенную блокировку, предустановленную для целевого устройства связи, и второй узел 201, получивший вторую распределенную блокировку в результате состязания, получает запрос операции над данными из сохраненных запросов операций над данными согласно информации о времени сохранения сохраненных запросов операций над данными для выполнения операции над данными в отношении целевого устройства связи. Подробности можно узнать из описания этапа S104, этапа S105 и этапа S106 раскрытого выше варианта способа.
В одном из вариантов реализации запросы операций над данными содержат идентификационную информацию целевого устройства связи, при этом указанные по меньшей мере два первых узла 101, получающие запросы операций над данными выполнены с возможностью:
определения первой распределенной блокировки, соответствующей целевому устройству связи, по идентификационной информации целевого устройства связи и состязания за первую распределенную блокировку.
В одном из вариантов реализации первый узел 101, получивший первую распределенную блокировку в результате состязания, выполнен с возможностью снятия первой распределенной блокировки после сохранения полученного запроса операции над данными, благодаря чему прочие первые узлы 101, получающие запросы операций над данными, вступают в состязание за первую распределенную блокировку. Подробности можно узнать из описания этапа S204 раскрытого выше варианта способа.
В одном из вариантов реализации второй узел 201, получивший вторую распределенную блокировку в результате состязания, выполнен с возможностью получения запроса операции над данными с самым ранним временем сохранения из сохраненных запросов операций над данными.
В одном из вариантов реализации второй узел 201, получивший вторую распределенную блокировку в результате состязания, выполнен с возможностью снятия второй распределенной блокировки после выполнения операции над данными в отношении целевого устройства связи и удаления запроса операции над данными, полученного вторым узлом 201, получившим вторую распределенную блокировку в результате состязания, из сохраненных запросов операций над данными. Подробности можно узнать из описания этапа S307 и этапа S308 раскрытого выше варианта способа.
В одном из вариантов реализации первый узел 101, получивший первую распределенную блокировку в результате состязания, выполнен с возможностью генерирования уведомительного сообщения после сохранения соответствующего запроса операции над данными и отправки уведомительного сообщения второму кластеру 200 для выдачи указанным вторым узлам 201 во втором кластере 200 инструкции на выполнение операций над данными в отношении целевого устройства связи.
В одном из вариантов реализации устройство 300 связи может представлять собой коммутатор, при этом запрос операции над данными представляет собой запрос конфигурирования коммутатора.
В одном из вариантов реализации первый узел 101, получивший первую распределенную блокировку в результате состязания, выполнен с возможностью сохранения запроса операции над данными так, что увеличение значения идентификатора происходит автоматически. Подробности можно узнать из описания этапа S103.
Соответственно, второй узел 201, получивший вторую распределенную блокировку в результате состязания, выполнен с возможностью получения запроса операции над данными с наименьшим идентификатором из сохраненных запросов операций над данными. Подробности можно узнать из описания этапа S105.
В одном из вариантов по настоящей заявке также предложен читаемый носитель данных, хранящий инструкции. При исполнении инструкций в компьютере, компьютер служит в качестве вышеуказанных первого узла 101 и/или второго узла 201 для осуществления раскрытого выше способа эксплуатации устройства.
В одном из вариантов по настоящей заявке также предложен читаемый носитель данных, выполненный с возможностью хранения первых инструкций и/или вторых инструкций. При исполнении первых инструкций в компьютере, компьютер осуществляет этапы, выполняемые посредством первого узла 101 согласно вышеуказанному способу эксплуатации устройства. При исполнении вторых инструкций в компьютере, компьютер осуществляет этапы, выполняемые посредством второго узла 201 согласно вышеуказанному способу эксплуатации устройства.
В одном из вариантов по настоящей заявке также предложено электронное устройство, содержащее память и процессор, отличающееся тем, что память выполнена с возможностью хранения первого исполняемого программного кода и/или второго исполняемого программного кода, при этом процессор выполнен с возможностью чтения первого исполняемого программного кода, хранимого в памяти для осуществления этапов, выполняемых посредством первого узла согласно вышеуказанному способу эксплуатации устройства, при этом процессор выполнен с возможностью чтения второго исполняемого программного кода, хранимого в памяти, для осуществления этапов, выполняемых посредством второго узла согласно вышеуказанному способу эксплуатации устройства.
ФИГ.5 представляет собой принципиальную схему электронного устройства 500 по одному из вариантов осуществления по настоящей заявке. Электронное устройство 500 может представлять собой первый узел 101 или второй узел 201 в раскрытой выше кластерной системе 10. В данном варианте по настоящей заявке электронное устройство 500 может включать в себя процессор 501 и память 502. Память 502 выполнена с возможностью хранения исполняемого программного кода, а процессор 501 выполнен с возможностью чтения исполняемого программного кода, хранимого в памяти 502. Когда процессор 501 исполняет исполняемый программный код, электронное устройство 500 может служить в качестве первого узла 101 и/или второго узла 201 для осуществления раскрытого выше способа эксплуатации устройства.
При наличии у электронного устройства 500 функций, реализованных в виде программных функциональных модулей и продаваемых или применяемых в качестве самостоятельного продукта, его можно хранить в машиночитаемом носителе данных. В этом смысле, техническое решение по настоящему варианту применения или его часть может быть по существу или в части, относящейся к предшествующему уровню техники, реализовано в виде программного продукта. Данный компьютерный программный продукт, в том числе – несколько инструкций для побуждения процессора 501 к выполнению всех или части этапов способов по вариантам осуществления настоящей заявки, выполнен с возможностью хранения в носителе данных. Указанный носитель данных может включать в себя: диск типа U (англ. U disk), мобильный жесткий диск, постоянное запоминающее устройство (ПЗУ, англ. read-only memory, ROM), оперативное запоминающее устройство (ОЗУ, англ. random access memory, RAM), магнитный диск или оптический диск, а также разнообразные носители с возможностью хранения программного кода.
В вариантах по настоящей заявке предложены способ, кластерная система, электронное устройство для эксплуатации устройства и читаемый носитель данных, отличающиеся тем, что операции над данными в отношении устройства связи реализуют путем взаимодействия между первым кластером и вторым кластером в кластерной системе. Первые узлы в первом кластере выполнены с возможностью состязания за первую распределенную блокировку для реализации последовательного сохранения запросов операций над данными. Вторые узлы во втором кластере выполнены с возможностью состязания за вторую распределенную блокировку для последовательного получения сохраненных запросов операций над данными и выполнения этих операций над данными в отношении целевого устройства связи. Благодаря наличию механизма двух распределенных блокировок, когда в кластерной системе имеет место состояние с высокой степенью многопоточности, в котором поступает большое количество запросов операций над данными, может быть реализована последовательная обработка большого количества запросов операций над данными за счет взаимоисключающего характера первой распределенной блокировки и второй распределенной блокировки. Это позволяет обеспечить не только последовательную обработку запросов операций над данными, но и улучшение пропускной способности первого кластера, при этом возможно горизонтальное расширение и первого, и второго кластеров, и, тем самым, улучшение работоспособности и обрабатывающей способности системы.
Следует понимать, что аппаратура и способ, предложенные в нескольких вариантах осуществления изобретения по настоящей заявке, также могут быть реализованы и иными путями. Варианты осуществления аппаратуры раскрыты выше исключительно схематически. Например, технологические схемы и блок-схемы на прилагаемых чертежах изображают возможные варианты архитектуры, функций и операций аппаратуры, способов и компьютерных программных продуктов по нескольким вариантам осуществления изобретения по настоящей заявке. При этом каждый блок технологической схемы или блок-схемы может представлять модуль, программный сегмент или часть кода, содержащую одну или несколько исполняемых инструкций для реализации определенной логической функции. Также следует отметить, что в некоторых альтернативных вариантах порядок реализации тех или иных функций в тех или иных блокам может отличаться от указанного на чертеже. Например, выполнение действий двух следующих друг за другом блоков на практике может происходить по существу параллельно, а в некоторых случаях – в обратном порядке, в зависимости от функции, о которой идет речь. Также следует отметить, что каждый из блоков в блок-схемах и/или технологических схемах, а также комбинации блоков в блок-схемах и/или технологических схемах, могут быть реализованы с помощью специально предназначенной для этого аппаратной системы, выполняющей указанные функции или действия, либо могут быть реализованы с помощью комбинации специально предназначенной для этого аппаратуры и компьютерных инструкций.
Кроме того, функциональные модули в различных вариантах осуществления изобретения по настоящей заявке могут быть выполнены за одно целое с образованием самостоятельной части, либо каждый модуль может существовать сам по себе, либо два или более модулей могут быть выполнены за одно целое с образованием самостоятельной части.
Выше раскрыты только предпочтительные варианты осуществления изобретения по настоящей заявке, не предназначенные для того, чтобы ограничить его объем. Специалисты в данной области техники смогут внести различные модификации или изменения в изобретение по настоящей заявке. Любые модификации, альтернативные решения, улучшения и тому подобное без отступления от существа и принципа изобретения по настоящей заявке должны быть включены в объем охраны по настоящей заявке. Следует отметить, что аналогичные номера позиций и буквы обозначают аналогичные позиции на следующих чертежах; таким образом, после того, как какая-либо позиция будет определена на одном чертеже, нет нужды в дополнительном определении и разъяснении данной позиции на последующих чертежах.
Выше раскрыты только частные варианты реализации настоящей заявки, при этом объем охраны по настоящей заявке не ограничен ими. В отношении технической части объема, раскрытого в настоящей заявке, любые изменения или альтернативные решения, которые без труда может внести специалист в данной области техники, входят в объем охраны по настоящей заявке. Таким образом, объем охраны по настоящей заявке определяется формулой изобретения.
Промышленная применимость
Настоящее изобретение предлагает способ, кластерную систему, электронное устройство для эксплуатации устройства и читаемый носитель данных для выбора адаптивного режима. Они позволяют обеспечить не только последовательную обработку запросов операций над данными, но и улучшить пропускную способность первого кластера, при этом возможно горизонтальное расширение и первого, и второго кластеров, и, тем самым, улучшение работоспособности и обрабатывающей способности системы.

Claims (47)

1. Способ эксплуатации устройства для обработки запросов операций над данными, применимый к кластерной системе обработки запросов операций над данными, которая содержит первый кластер и второй кластер, причем первый кластер содержит множество первых узлов, а второй кластер содержит множество вторых узлов, при этом способ включает этапы, на которых:
получают, посредством по меньшей мере двух первых узлов в первом кластере соответственно, по меньшей мере два запроса операций над данными для целевого устройства связи;
проводят состязание между указанными по меньшей мере двумя первыми узлами за первую распределенную блокировку, предустановленную для целевого устройства связи;
сохраняют полученный запрос операции над данными посредством первого узла, получившего первую распределенную блокировку в результате состязания;
проводят состязание между вторыми узлами во втором кластере за вторую распределенную блокировку, предустановленную для целевого устройства связи;
получают, посредством второго узла, получившего вторую распределенную блокировку в результате состязания, запрос операции над данными из сохраненных запросов операций над данными согласно информации о времени сохранения сохраненных запросов операций над данными, для выполнения операции над данными в отношении целевого устройства связи.
2. Способ эксплуатации устройства по п. 1, отличающийся тем, что
запросы операций над данными содержат идентификационную информацию целевого устройства связи;
состязание между указанными по меньшей мере двумя первыми узлами за первую распределенную блокировку, предустановленную для целевого устройства связи, включает в себя следующее:
определяют, посредством по меньшей мере двух первых узлов, первую распределенную блокировку, соответствующую целевому устройству связи, по идентификационной информации целевого устройства связи и проводят состязание за первую распределенную блокировку.
3. Способ эксплуатации устройства по любому из пп. 1, 2, отличающийся тем, что способ дополнительно включает следующее:
снимают первую распределенную блокировку посредством первого узла, получившего первую распределенную блокировку в результате состязания, так чтобы прочие первые узлы, получающие запросы операций над данными, вступали в состязание за первую распределенную блокировку.
4. Способ эксплуатации устройства по любому из пп. 1-3, отличающийся тем, что получение, посредством второго узла, получившего вторую распределенную блокировку в результате состязания, запроса операции над данными из сохраненных запросов операций над данными согласно информации о времени сохранения сохраненных запросов операций над данными включает следующее:
получают, посредством второго узла, получившего вторую распределенную блокировку в результате состязания, запрос операции над данными с самым ранним временем сохранения из сохраненных запросов операций над данными.
5. Способ эксплуатации устройства по любому из пп. 1-4, отличающийся тем, что способ дополнительно включает следующее:
снимают, посредством второго узла, получившего вторую распределенную блокировку в результате состязания, вторую распределенную блокировку и удаляют из сохраненных запросов операций над данными запрос операции над данными, полученный посредством второго узла, получившего вторую распределенную блокировку в результате состязания.
6. Способ эксплуатации устройства по любому из пп. 1-5, отличающийся тем, что способ дополнительно включает этап, на котором:
генерируют и отправляют, посредством первого узла, получившего первую распределенную блокировку в результате состязания, уведомительное сообщение второму кластеру для выдачи вторым узлам во втором кластере инструкции на выполнение операций над данными в отношении целевого устройства связи.
7. Способ эксплуатации устройства по любому из пп. 1-6, отличающийся тем, что целевое устройство связи представляет собой коммутатор, при этом запрос операции над данными представляет собой запрос конфигурирования коммутатора.
8. Способ эксплуатации устройства по любому из пп. 1-7, отличающийся тем, что сохранение полученного запроса операции над данными посредством первого узла, получившего первую распределенную блокировку в результате состязания, включает этап, на котором:
сохраняют запрос операции над данными так, что увеличение значения идентификатора происходит автоматически;
причем получение, посредством второго узла, получившего вторую распределенную блокировку в результате состязания, запроса операции над данными из сохраненных запросов операций над данными согласно информации о времени сохранения сохраненных запросов операций над данными, включает этап, на котором:
получают запрос операции над данными с наименьшим идентификатором из сохраненных запросов операций над данными.
9. Кластерная система обработки запросов операций над данными, содержащая первый кластер и второй кластер, при этом первый кластер содержит множество первых узлов, а второй кластер содержит множество вторых узлов, причем предусмотрена возможность:
получения по меньшей мере двумя первыми узлами в первом кластере соответственно по меньшей мере двух запросов операций над данными для целевого устройства связи;
состязания указанных по меньшей мере двух первых узлов за первую распределенную блокировку, предустановленную для целевого устройства связи;
сохранения первым узлом, получившим первую распределенную блокировку в результате состязания, полученного запроса операции над данными;
состязания указанных вторых узлов во втором кластере за вторую распределенную блокировку, предустановленную для целевого устройства связи;
получения вторым узлом, получившим вторую распределенную блокировку в результате состязания, запроса операции над данными из сохраненных запросов операций над данными согласно информации о времени сохранения сохраненных запросов операций над данными, для выполнения операции над данными в отношении целевого устройства связи.
10. Кластерная система по п. 9, отличающаяся тем, что запросы операций над данными содержат идентификационную информацию целевого устройства связи;
указанные по меньшей мере два первых узла выполнены с возможностью:
определения первой распределенной блокировки, соответствующей целевому устройству связи, по идентификационной информации целевого устройства связи и
состязания за первую распределенную блокировку.
11. Кластерная система по любому из пп. 9, 10, отличающаяся тем, что
первый узел, получивший первую распределенную блокировку в результате состязания, выполнен с возможностью снятия первой распределенной блокировки после сохранения полученного запроса операции над данными, так чтобы прочие первые узлы, получающие запросы операций над данными, вступали в состязание за первую распределенную блокировку.
12. Кластерная система по любому из пп. 9-11, отличающаяся тем, что второй узел, получивший вторую распределенную блокировку в результате состязания, выполнен с возможностью:
получения запроса операции над данными с самым ранним временем сохранения из сохраненных запросов операций над данными.
13. Кластерная система по любому из пп. 9-12, отличающаяся тем, что второй узел, получивший вторую распределенную блокировку в результате состязания, выполнен с возможностью снятия второй распределенной блокировки и удаления из сохраненных запросов операций над данными запроса операции над данными, полученного посредством второго узла, получившего вторую распределенную блокировку в результате состязания.
14. Кластерная система по любому из пп. 9-13, отличающаяся тем, что первый узел, получивший первую распределенную блокировку в результате состязания, выполнен с возможностью генерирования и отправки уведомительного сообщения второму кластеру для выдачи вторым узлам во втором кластере инструкции на выполнение операций над данными в отношении целевого устройства связи.
15. Кластерная система по любому из пп. 9-14, отличающаяся тем, что целевое устройство связи представляет собой коммутатор, при этом запрос операции над данными представляет собой запрос конфигурирования коммутатора.
16. Кластерная система по любому из пп. 9-15, отличающаяся тем, что первый узел, получивший первую распределенную блокировку в результате состязания, выполнен с возможностью:
сохранения запроса операции над данными так, что увеличение значения идентификатора происходит автоматически;
причем второй узел, получивший вторую распределенную блокировку в результате состязания, выполнен с возможностью:
получения запроса операции над данными с наименьшим идентификатором из сохраненных запросов операций над данными.
17. Читаемый носитель данных, который хранит первые инструкции, при исполнении которых на компьютере предусмотрена возможность осуществления компьютером этапов, выполняемых посредством первого узла согласно способу по любому из пп. 1-8, и/или хранит вторые инструкции, при исполнении которых на компьютере предусмотрена возможность осуществления компьютером этапов, выполняемых посредством второго узла согласно способу по любому из пп. 1-8.
18. Электронное устройство для обработки запросов операций над данными, содержащее память и процессор, причем
память выполнена с возможностью хранения первых исполняемых программных кодов, при этом процессор выполнен с возможностью чтения первых исполняемых программных кодов, хранимых в памяти, для осуществления этапов, выполняемых посредством первого узла согласно способу по любому из пп. 1-8, и/или память выполнена с возможностью хранения вторых исполняемых программных кодов, при этом процессор выполнен с возможностью чтения вторых исполняемых программных кодов, хранимых в памяти, для осуществления этапов, выполняемых посредством второго узла согласно способу по любому из пп. 1-8.
RU2020125088A 2018-01-05 2018-09-20 Способ управления оборудованием, кластерная система, электронное устройство и читаемый носитель данных RU2749339C1 (ru)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201810012150.2 2018-01-05
CN201810012150.2A CN110008031B (zh) 2018-01-05 2018-01-05 设备操作方法、集群系统、电子设备及可读取存储介质
PCT/CN2018/106743 WO2019134402A1 (zh) 2018-01-05 2018-09-20 设备操作方法、集群系统、电子设备及可读存储介质

Publications (1)

Publication Number Publication Date
RU2749339C1 true RU2749339C1 (ru) 2021-06-08

Family

ID=67143556

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2020125088A RU2749339C1 (ru) 2018-01-05 2018-09-20 Способ управления оборудованием, кластерная система, электронное устройство и читаемый носитель данных

Country Status (5)

Country Link
US (1) US11416313B2 (ru)
CN (1) CN110008031B (ru)
RU (1) RU2749339C1 (ru)
SG (1) SG11202006444UA (ru)
WO (1) WO2019134402A1 (ru)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110008031B (zh) * 2018-01-05 2022-04-15 北京金山云网络技术有限公司 设备操作方法、集群系统、电子设备及可读取存储介质
EP4009183A1 (en) * 2018-10-18 2022-06-08 Shanghai Cambricon Information Technology Co., Ltd Network-on-chip data processing method and device
US10938897B2 (en) * 2019-01-31 2021-03-02 EMC IP Holding Company LLC Extended group service changes
CN111639309B (zh) * 2020-05-26 2021-08-24 腾讯科技(深圳)有限公司 一种数据处理方法、装置、节点设备及存储介质
CN112511611B (zh) * 2020-11-19 2021-08-10 腾讯科技(深圳)有限公司 节点集群的通信方法、装置、系统及电子设备
CN113407716B (zh) * 2021-05-14 2022-08-19 桂林电子科技大学 一种基于众包的人类行为文本数据集的构造以及处理方法
CN114257606B (zh) * 2021-12-13 2024-03-29 阿里巴巴(中国)有限公司 数据处理方法、文件管理系统、存储介质及程序产品

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090019098A1 (en) * 2007-07-10 2009-01-15 International Business Machines Corporation File system mounting in a clustered file system
RU2413984C2 (ru) * 2005-04-21 2011-03-10 Майкрософт Корпорейшн Системы и способы манипулирования данными в системе хранения данных
US8266111B2 (en) * 2004-11-01 2012-09-11 Sybase, Inc. Distributed database system providing data and space management methodology
RU2585973C2 (ru) * 2013-06-06 2016-06-10 Хуавэй Текнолоджиз Ко., Лтд. Способ и устройство управления операцией блокировки системы баз данных
WO2017100978A1 (zh) * 2015-12-14 2017-06-22 华为技术有限公司 一种集群中锁管理的方法、锁服务器及客户端

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5933824A (en) * 1996-12-23 1999-08-03 Lsi Logic Corporation Methods and apparatus for locking files within a clustered storage environment
US7398323B1 (en) * 2001-09-19 2008-07-08 Juniper Networks, Inc. Configuring a network router
US7640317B2 (en) * 2004-06-10 2009-12-29 Cisco Technology, Inc. Configuration commit database approach and session locking approach in a two-stage network device configuration process
CN102904833B (zh) * 2011-07-27 2015-07-08 中国科学院声学研究所 一种自适应的p2p流媒体数据片选择方法及节点
US8930596B2 (en) * 2012-11-30 2015-01-06 International Business Machines Corporation Concurrent array-based queue
US9710510B2 (en) * 2013-03-11 2017-07-18 Mongodb, Inc. System and method for minimizing lock contention
CN104063355B (zh) * 2013-03-21 2017-11-03 腾讯科技(北京)有限公司 对服务器集群进行配置的方法及配置中心服务器
US9959309B2 (en) * 2013-11-04 2018-05-01 Tenoware R&D Limited Distributed reservation systems and methods
CN103731485A (zh) * 2013-12-26 2014-04-16 华为技术有限公司 一种网络设备、集群存储系统及分布式锁管理方法
US10382540B2 (en) * 2014-05-29 2019-08-13 Sandisk Technologies Llc Synchronizing storage state information
CN104092767B (zh) * 2014-07-21 2017-06-13 北京邮电大学 一种增加消息队列模型的发布/订阅系统及其工作方法
CN106537364A (zh) * 2014-07-29 2017-03-22 慧与发展有限责任合伙企业 存储事务
US10397053B2 (en) * 2014-08-14 2019-08-27 Netapp Inc. Methods for managing storage virtual machine configuration changes in a distributed storage system and devices thereof
CN104461705B (zh) * 2014-11-17 2019-02-19 华为技术有限公司 一种业务访问的方法及存储控制器、集群存储系统
CN105072160A (zh) 2015-07-17 2015-11-18 联动优势科技有限公司 一种流水号生成方法、装置及服务器
CN105760519B (zh) * 2016-02-26 2020-08-28 北京鲸鲨软件科技有限公司 一种集群文件系统及其文件锁分配方法
AU2016402395A1 (en) * 2016-04-12 2018-08-23 Sensoriant, Inc. Method and system for safeguarding stored data
CN106909599A (zh) * 2016-07-04 2017-06-30 阿里巴巴集团控股有限公司 一种集群系统、消息处理方法及装置
CN106210038B (zh) * 2016-07-06 2019-01-29 网易(杭州)网络有限公司 数据操作请求的处理方法及系统
CN106354565B (zh) * 2016-09-21 2019-08-20 努比亚技术有限公司 一种分布式锁客户端及控制方法
CN107092521B (zh) * 2016-12-30 2020-11-10 北京星选科技有限公司 一种分布式任务调度方法、装置及系统
CN107204861B (zh) * 2017-07-27 2021-04-09 郑州云海信息技术有限公司 一种服务器集群事件处理方法
CN110008031B (zh) * 2018-01-05 2022-04-15 北京金山云网络技术有限公司 设备操作方法、集群系统、电子设备及可读取存储介质
US10705956B1 (en) * 2018-05-02 2020-07-07 Amazon Technologies, Inc. Sequenced extension operations on a data store
US11372827B2 (en) * 2020-05-06 2022-06-28 Amazon Technologies, Inc. Record-by-record live migration using a lock store

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8266111B2 (en) * 2004-11-01 2012-09-11 Sybase, Inc. Distributed database system providing data and space management methodology
RU2413984C2 (ru) * 2005-04-21 2011-03-10 Майкрософт Корпорейшн Системы и способы манипулирования данными в системе хранения данных
US20090019098A1 (en) * 2007-07-10 2009-01-15 International Business Machines Corporation File system mounting in a clustered file system
RU2585973C2 (ru) * 2013-06-06 2016-06-10 Хуавэй Текнолоджиз Ко., Лтд. Способ и устройство управления операцией блокировки системы баз данных
WO2017100978A1 (zh) * 2015-12-14 2017-06-22 华为技术有限公司 一种集群中锁管理的方法、锁服务器及客户端

Also Published As

Publication number Publication date
US11416313B2 (en) 2022-08-16
US20200364095A1 (en) 2020-11-19
CN110008031A (zh) 2019-07-12
CN110008031B (zh) 2022-04-15
SG11202006444UA (en) 2020-08-28
WO2019134402A1 (zh) 2019-07-11

Similar Documents

Publication Publication Date Title
RU2749339C1 (ru) Способ управления оборудованием, кластерная система, электронное устройство и читаемый носитель данных
CN110018893B (zh) 一种基于数据处理的任务调度方法及相关设备
JP6362120B2 (ja) クラスタ・ブレイン分割後の調停処理方法、クォーラム記憶装置、およびシステム
WO2020024405A1 (zh) 基于分布式协调的测试方法、装置、服务器及存储介质
CN110888858B (zh) 数据库的操作方法和装置、存储介质、电子装置
CN111698126B (zh) 信息监控方法、系统及计算机可读存储介质
US20200159565A1 (en) Predicting transaction outcome based on artifacts in a transaction processing environment
CN109361525B (zh) 重启分布式部署多服务的方法、装置、控制终端及介质
CN110289965B (zh) 一种应用程序服务的管理方法及装置
US9342291B1 (en) Distributed update service
CN111831748A (zh) 数据同步方法、装置及存储介质
CN109167819A (zh) 数据同步系统、方法、装置及存储介质
CN111163140A (zh) 资源获取和分配的方法、装置和计算机可读存储介质
CN111176812A (zh) 一种集群化定时任务调度系统
US9832137B1 (en) Provisioning system and method for a distributed computing environment using a map reduce process
CN113778652A (zh) 一种任务调度方法、装置、电子设备及存储介质
US20220166842A1 (en) Data distribution method and electronic device
CN105471700A (zh) 一种消息处理的方法、装置和系统
US11252121B2 (en) Message sending method and terminal device
CN105049240A (zh) 一种消息处理方法及服务器
CN111158930A (zh) 一种基于Redis的高并发延时任务系统和处理方法
US11176013B2 (en) Method to efficiently and reliably process ordered user account events in a cluster
CN106790354B (zh) 一种防数据拥堵的通信方法及其装置
US10701167B1 (en) Adaptive quorum for a message broker service
CN112738153B (zh) 业务系统中的网关选择方法、系统、装置、服务器及介质