mwirth-epo/epo-nmt-datasets huggingface dataset:
[0057] После того, как консенсус завершен, основной узел инициирует переключение представления, чтобы изменить основной узел и войти в новое представление.
After the consensus is completed, the primary node initiates view switching, to change the primary node and enter the new view.
[0058] Далее описывается процесс переключения представления в этой реализации настоящей заявки.
The following describes a view switching process in this implementation of the present application.
[0059] В механизме PBFT каждое представление имеет соответствующий номер.
In the PBFT mechanism, each view has a corresponding number.
Например, v в предыдущем примере представляет номер текущего представления.
For example, v in the previous example represents the number of the current view.
Соответственно, каждый узел в сети блокчейн имеет соответствующий номер.
Correspondingly, each node in the blockchain network has a corresponding number.
Если в общей сложности в сети блокчейн имеется R узлов, номера узлов составляют от 0 до R-1, например, тиражируемая копия (реплика) 0, тиражируемая копия 1,..., и тиражируемая копия R-1.
If there are a total of R nodes in the blockchain network, the numbers of the nodes are 0 to R-1, for example, replica 0, replica 1,..., and replica R-1.
Существует взаимосвязь между номером узла и номером представления.
There is a relationship between a node number and a view number.
Если тиражируемая копия p используется для представления узла с номером p, номер узла и номер представления удовлетворяют следующему уравнению: p=v mod R, где v является целым числом от 0 до положительной бесконечности.
If replica p is used to represent the node with the number p, the node number and a view number satisfy the following equation: p=v mod R, where v is an integer from 0 to positive infinity.
[0060] Эта взаимосвязь указывает, что номер p узла получается по результатам взятия остатка от деления номера v представления на количество R узлов, входящих в состав сети блокчейн.
This relationship indicates that the node number p is obtained after the view number v modulo the quantity R of nodes included in a blockchain network.
[0061] Другими словами, поскольку v находится в диапазоне от 0 до R-1, гарантируется, что идентичность основного узла последовательно передается разным узлам.
In other words, because v ranges from 0 to R-1, it is ensured that the identity of the primary node is sequentially handed over to different nodes.
Например, если основным узлом текущего представления является тиражируемая копия 0 (что соответствует номеру 0 представления), основным узлом в следующем представлении (с номером 1) является тиражируемая копия 1.
For example, if the primary node of the current view is replica 0 (that corresponds to the view number 0), the primary node in the next view (numbered 1) is replica 1.
Таким образом, проходятся все узлы.
All the nodes are traversed in this way.
[0062] Следовательно можно заметить, что в этой реализации настоящей заявки процесс переключения представления включает в себя следующее: определение, основным узлом, номера основного узла; определение, на основании номера основного узла, того узла, номер которого расположен после номера основного узла; генерирование сообщения уведомления о переключении представления, на основе определенного узла; и отправка сообщения о переключении представления на каждый резервный узел для выполнения переключения представления, так что определенный узел становится основным узлом в следующем представлении.
Therefore, it can be seen that, in this implementation of the present application, a view switching process includes the following: determining, by the primary node, a number of the primary node; determining, based on the number of the primary node, a node whose number is arranged after the number of the primary node; generating a view switching notification message based on the determined node; and sending the view switching message to each backup node to perform view switching, so that the determined node becomes a primary node in a next view.
[0063] Далее для описания используется конкретный экземпляр приложения.
The following uses a specific application instance for description.
[0064] S301: Основной узел p в представлении с номером v принимает запрос на обслуживание, отправленный клиентским устройством, и выполняет согласование по времени.
As shown in FIG. 3, the instance includes the following steps: S301: Primary node p in a view numbered v receives a service request sent by a client device, and performs timing.
[0065] S302: Когда истекает предварительно заданное время, определяется, инициировать ли консенсус по запросу на обслуживание для каждого резервного узла в представлении; если да, то выполняется этап S303; а в противном случае выполняется этап S305.
S302: When a predetermined time expires, determine whether to initiate a consensus on the service request to each backup node in the view; if yes, perform step S303; and otherwise, perform step S305.
[0066] S303: Получается результат консенсуса.
S303: Obtain a consensus result.
[0067] S304: Определяется, достигнут ли консенсус, и выполняется этап S305.
S304: Determine whether the consensus is reached, and perform step S305.
[0068] S305: Переключается представление v на представление v+1, и определяется узел с номером p+1 в качестве основного узла в представлении v+1.
S305: Switch view v to view v+1, and determine a node numbered p+1 as a primary node in view v+1.
[0069] Переключение предшествующего представления инициируется основным узлом.
The previous view switching is initiated by the primary node.
[0070] Вышеописанное представляет собой способ консенсуса, предоставляемый в реализации настоящей заявки.
The above is a consensus method provided in the implementation of the present application.
Основываясь на той же идее, реализации настоящей заявки дополнительно предоставляют устройство консенсуса.
Based on the same idea, the implementations of the present application further provide a consensus apparatus.
4, для любого представления, устройство консенсуса включает в себя следующее: контролирующий модуль 401, выполненный с возможностью отслеживания срабатывания условия переключения представления; модуль 402 определения узла, выполненный с возможностью выбора узла-преемника, когда контролирующий модуль фиксирует срабатывание условия переключения представления; и модуль 403 переключения представления, выполненный с возможностью переключения, с учетом узла-преемника, текущего представления на следующее представление, которое использует узел-преемник в качестве последующего основного узла блокчейна, так что последующий основной узел блокчейна инициирует консенсус в следующем представлении.
As shown in FIG. 4, for any view, the consensus apparatus includes the following: a monitoring module 401, configured to monitor triggering of a view switching condition; a node determining module 402, configured to select a successor node when the monitoring module monitors the triggering of the view switching condition; and a view switching module 403, configured to switch, based on the successor node, a current view to a next view that uses the successor node as a succeeding blockchain primary node, so that the succeeding blockchain primary node initiates a consensus in the next view.
[0071] В ответ на определение того, что запрос на обслуживание принят, а консенсус по запросу на обслуживание не инициирован в течение предварительно заданного времени, контролирующий модуль 401 определяет, что зафиксировано срабатывание условия переключения представления.
In response to determining that a service request is received and a consensus on the service request is not initiated within a predetermined time, the monitoring module 401 determines that the triggering of the view switching condition is monitored.
[0072] В ответ на определение того, что запрос на обслуживание принят, консенсус по запросу на обслуживание инициирован, и результат консенсуса определен, контролирующий модуль 401 определяет, что зафиксировано срабатывание условия переключения представления.
In response to determining that a service request is received, a consensus on the service request is initiated, and a consensus result is determined, the monitoring module 401 determines that the triggering of the view switching condition is monitored.
[0073] Модуль 402 определения узла определяет следующее представление по текущему представлению и определяет узел-преемник, который соответствует следующему представлению.
The node determining module 402 determines a next view of the current view, and determines a successor node that corresponds to the next view.
[0074] Модуль 403 переключения представления переключает текущее представление на определенное следующее представление, причем узел-преемник используется в качестве основного узла в следующем представлении.
The view switching module 403 switches the current view to the determined next view, where the successor node is used as a primary node in the next view.
[0075] Узел в любом представлении включает в себя узел в сети блокчейн-консорциума или частной сети блокчейн.
A node in any view includes a node in a consortium blockchain network or a private blockchain network.
[0076] В 1990-х годах можно было четко различить, является ли техническое усовершенствование усовершенствованием аппаратного обеспечения (например, усовершенствование в отношении схемной структуры, такое как диод, транзистор или коммутатор) или усовершенствованием программного обеспечения (усовершенствование процедуры способа).
In the 1990s, whether a technical improvement is a hardware improvement (for example, an improvement to a circuit structure, such as a diode, a transistor, or a switch) or a software improvement (an improvement to a method procedure) can be clearly distinguished.
Однако, по мере развития технологий, современные усовершенствования в отношении многих процедур способов могут рассматриваться как непосредственные усовершенствования схемных структур аппаратного обеспечения.
However, as technologies develop, current improvements to many method procedures can be considered as direct improvements to hardware circuit structures.
Проектировщик обычно программирует усовершенствованную процедуру способа в аппаратную схему, чтобы получить соответствующую схемную структуру аппаратного обеспечения.
A designer usually programs an improved method procedure into a hardware circuit, to obtain a corresponding hardware circuit structure.
Следовательно, процедура способа может быть усовершенствована путем использования самостоятельного модуля аппаратного обеспечения.
Therefore, a method procedure can be improved by using a hardware entity module.
Например, программируемое логическое устройство (ПЛУ) (например, программируемая пользователем вентильная матрица (ППВМ)) является такой интегральной схемой, и логическая функция ПЛУ определяется пользователем посредством программирования устройства.
For example, a programmable logic device (PLD) (for example, a field programmable gate array (FPGA)) is such an integrated circuit, and a logical function of the PLD is determined by a user through device programming.
Проектировщик выполняет программирование, чтобы "интегрировать" цифровую систему в ПЛУ, не обращаясь к производителю кристаллов по поводу проектирования и изготовления кристалла интегральной схемы для конкретного приложения.
The designer performs programming to "integrate" a digital system to a PLD without requesting a chip manufacturer to design and produce an application-specific integrated circuit chip.
Помимо этого в настоящее время, вместо ручного производства кристалла интегральной схемы, такое программирование в основном реализуется с использованием программного обеспечения "логический компилятор".
In addition, at present, instead of manually manufacturing an integrated circuit chip, such programming is mostly implemented by using "logic compiler" software.