Область техники
[0001] Настоящая заявка относится к области технологий блокчейна, и в частности, к способу и устройству для широковещательной передачи (транслирования) сообщений.
Предшествующий уровень техники
[0002] В области технологий блокчейна, узел блокчейна, который отвечает за выполнение верификации консенсуса в отношении услуги, упоминается как узел консенсуса. В тенденции глобализации блокчейна, узлы консенсуса часто распределяются по миру.
[0003] Каждому узлу консенсуса обычно требуется широковещательно передавать (транслировать) сообщения (например, сообщение услуги или сообщение консенсуса) на узлы консенсуса в фазе обработки услуги, фазе верификации консенсуса и других фазах. Глобализованная гетерогенная сеть может вызывать нестабильность в процессе передачи сообщений; например, китайская сеть и американская сеть являются гетерогенными сетями, и узел консенсуса в американской сети может не суметь принять сообщение, которое транслируется узлом консенсуса в китайской сети. Поэтому, чтобы гарантировать, что каждый другой узел консенсуса принимает сообщение с относительно высокой вероятностью успеха, узел консенсуса, который транслирует сообщение, обычно создает один поток исполнения (тред) для каждого другого узла консенсуса и исполняет, с использованием треда, задачу отправки сообщений на другой узел консенсуса.
[0004] Конкретно, после отправки сообщения на другой узел консенсуса с использованием треда, узел консенсуса, который транслирует сообщение, ожидает приема уведомления (для оповещения, что другой узел консенсуса принял сообщение), возвращенного другим узлом консенсуса. Если уведомление не принято в течение конкретного времени с использованием треда, узел консенсуса, который транслирует сообщение, отправляет сообщение на другой узел консенсуса снова с использованием треда, пока узел консенсуса, который транслирует сообщение, не примет уведомление. Альтернативно, если узел консенсуса, который транслирует сообщение, все еще не принимает уведомление с использованием треда после отправки сообщения несколько раз, узел консенсуса, который транслирует сообщение, отменяет тред. По существу, может гарантироваться, что другой узел консенсуса принимает сообщение с относительно высокой вероятностью успеха.
[0005] Однако, в действительности, при исполнении, с использованием треда, созданного узлом консенсуса, который транслирует сообщение, задачи отправки сообщения на другой узел консенсуса, узлу консенсуса, который транслирует сообщение, обычно требуется повторно отправить сообщение несколько раз. Это потребляет большое количество вычислительных ресурсов узла консенсуса, который транслирует сообщение, вызывая чрезмерную нагрузку на узле консенсуса, который транслирует сообщение.
Краткое описание сущности изобретения
[0006] Реализации настоящей заявки обеспечивают способ и устройство для транслирования сообщений, чтобы смягчить проблему, состоящую в том, что существующий способ для транслирования сообщений вызывает чрезмерную нагрузку на узле консенсуса, который транслирует сообщение.
[0007] Чтобы смягчить вышеописанную техническую проблему, реализации настоящей заявки осуществляются, как описано далее:
[0008] Реализация настоящей заявки обеспечивает способ для транслирования сообщений, включающий в себя: получение, узлом консенсуса сети блокчейна, первого сообщения трансляции; создание первого треда для устройства обработки сообщений, соответствующего узлу консенсуса, и отправку первого сообщения трансляции на устройство обработки сообщений с использованием первого треда, так что устройство обработки сообщений отправляет первое сообщение трансляции на устройство обработки сообщений, соответствующее другому узлу консенсуса; и отмену первого треда.
[0009] Реализация настоящей заявки обеспечивает другой способ для транслирования сообщений, включающий в себя: прием, устройством обработки сообщений, первого сообщения трансляции, отправленного узлом консенсуса, соответствующим устройству обработки сообщений; создание второго треда для устройства обработки сообщений, соответствующего каждому другому узлу консенсуса, и отправку первого сообщения трансляции на устройство обработки сообщений, соответствующее другому узлу консенсуса, с использованием второго треда; и отмену второго треда в ответ на определение того, что устройство обработки сообщений, соответствующее другому узлу консенсуса, принимает первое сообщение трансляции.
[0010] Реализация настоящей заявки обеспечивает устройство для транслирования сообщений, включающее в себя: модуль получения, сконфигурированный, чтобы получать первое сообщение трансляции; модуль отправки, сконфигурированный, чтобы создавать первый тред для устройства обработки сообщений, соответствующего устройству, и отправлять первое сообщение трансляции на устройство обработки сообщений с использованием первого треда, так что устройство обработки сообщений отправляет первое сообщение трансляции на устройство обработки сообщений, соответствующее другому узлу консенсуса; и модуль отмены, сконфигурированный, чтобы отменять первый тред.
[0011] Реализация настоящей заявки обеспечивает другое устройство для транслирования сообщений, включающее в себя: первый модуль приема, сконфигурированный, чтобы принимать первое сообщение трансляции, отправленное узлом консенсуса, соответствующим устройству; модуль отправки, сконфигурированный, чтобы создавать второй тред для устройства обработки сообщений, соответствующего каждому другому узлу консенсуса, и отправлять первое сообщение трансляции на устройство обработки сообщений, соответствующее другому узлу консенсуса, с использованием второго треда; и модуль отмены, сконфигурированный, чтобы отменять второй тред в ответ на определение того, что устройство обработки сообщений, соответствующее другому узлу консенсуса, принимает первое сообщение трансляции.
[0012] Можно понять из предыдущих технических решений, обеспеченных в реализациях настоящей заявки, что, в реализациях настоящей заявки, одно устройство обработки сообщений распределено каждому узлу консенсуса, и работа транслирования сообщений между узлами консенсуса передается на устройства обработки сообщений для реализации. Для определенного узла консенсуса, устройство обработки сообщений, соответствующее узлу консенсуса, может создавать тред для устройства обработки сообщений, соответствующего другому узлу консенсуса, чтобы исполнять задачу транслирования сообщений до тех пор, пока устройство обработки сообщений, соответствующее другому узлу консенсуса, не примет сообщение трансляции. По существу, тред для исполнения задачи транслирования сообщений потребляет только вычислительный ресурс устройства обработки сообщений без потребления ресурса узла консенсуса. Поэтому, не вызывается чрезмерная нагрузка на узле консенсуса, так что узел консенсуса может выполнять верификацию консенсуса на услуге более эффективно.
Краткое описание чертежей
[0013] Чтобы описать технические решения в реализациях настоящей заявки или в существующей технологии более ясно, далее кратко описаны приложенные чертежи, требуемые для описания реализаций или существующей технологии. Очевидно, приложенные чертежи в последующем описании показывают только некоторые реализации настоящей заявки, и специалист в данной области техники может также получить другие чертежи на основе этих приложенных чертежей без творческих усилий.
[0014] Фиг. 1 является блок-схемой последовательности операций, иллюстрирующей способ для транслирования сообщений, в соответствии с реализацией настоящей заявки;
[0015] Фиг. 2 является схематичной диаграммой, иллюстрирующей пример сравнения существующего способа для транслирования сообщений со способом для транслирования сообщений, обеспеченным в настоящей заявке;
[0016] Фиг. 3 является схематичной диаграммой, иллюстрирующей устройство для транслирования сообщений, в соответствии с реализацией настоящей заявки; и
[0017] Фиг. 4 является схематичной диаграммой, иллюстрирующей другое устройство для транслирования сообщений, в соответствии с реализацией настоящей заявки.
Описание реализаций
[0018] Реализации настоящей заявки обеспечивают способ и устройство для транслирования сообщений.
[0019] Чтобы помочь специалисту в данной области техники лучше понять технические решения в настоящей заявке, далее ясно и подробно описаны технические решения в реализациях настоящей заявки со ссылкой на приложенные чертежи в реализациях настоящей заявки. Очевидно, описанные реализации являются только некоторыми, а не всеми реализациями настоящей заявки. Все другие реализации, полученные специалистом в данной области техники на основе реализаций настоящей заявки без творческих усилий, должны входить в объем защиты настоящей заявки.
[0020] Технические решения, описанные в реализациях настоящей заявки, описаны подробно ниже со ссылкой на приложенные чертежи.
[0021] Фиг. 1 является блок-схемой последовательности операций, иллюстрирующей способ для транслирования сообщений, в соответствии с реализацией настоящей заявки. Способ для транслирования сообщений включает в себя следующие этапы.
[0022] S101. Узел консенсуса получает первое сообщение трансляции.
[0023] В данной реализации настоящей заявки, узел консенсуса является узлом блокчейна, который участвует в верификации консенсуса на услуге в сети блокчейна. В обычной сети блокчейна, все узлы блокчейна могут участвовать в верификации консенсуса в качестве узлов консенсуса. Однако, в специальной сети блокчейна (например, сети блокчейна, которая включает в себя подсеть цепи консорциума и подсеть цепи общего доступа), не все узлы блокчейна могут участвовать в верификации консенсуса в качестве узлов консенсуса.
[0024] Сценарий применения реализаций настоящей заявки состоит в том, что в фазе обработки услуги, фазе верификации консенсуса и других фазах, узлам консенсуса требуется транслировать или отправлять сообщения друг другу.
[0025] Фаза обработки услуги означает, что определенный узел консенсуса принимает сообщение услуги и транслирует сообщение услуги на другие узлы консенсуса, так что все узлы консенсуса принимают сообщение услуги. Это облегчает последующую верификацию консенсуса на сообщении услуги. Фаза верификации консенсуса является фазой, в которой все узлы консенсуса подчиняются определенному алгоритму консенсуса для достижения консенсуса на результате верификации. В фазе верификации консенсуса, всем узлам консенсуса требуется отправлять сообщения верификации друг другу, чтобы достичь консенсуса.
[0026] В данной реализации настоящей заявки, первое сообщение трансляции может быть сообщением услуги, сообщением верификации или сообщением, которое транслируется или отправляется определенным узлом консенсуса на другой узел консенсуса.
[0027] Следует заметить, что способ может выполняться любым узлом консенсуса. В фазе обработки услуги, узел консенсуса может принимать сообщение услуги, отправленное клиентом или узлом не-консенсуса, и использовать сообщение услуги как полученное первое сообщение трансляции. В фазе верификации консенсуса, узел консенсуса может генерировать сообщение верификации после верифицирования сообщения услуги и использовать сообщение верификации как полученное первое сообщение трансляции.
[0028] S102. Узел консенсуса создает первый тред для устройства обработки сообщений, соответствующего узлу консенсуса, и отправляет первое сообщение трансляции на устройство обработки сообщений с использованием первого треда.
[0029] S103. Узел консенсуса отменяет первый тред.
[0030] В этой реализации настоящей заявки, узел консенсуса может отправить первое сообщение трансляции на устройство обработки сообщений, соответствующее узлу консенсуса, и полностью передать задачу транслирования или отправки первого сообщения трансляции устройству обработки сообщений, соответствующему узлу консенсуса, для обработки, так что устройство обработки сообщений гарантирует, что устройство обработки сообщений другого узла консенсуса успешно принимает первое сообщение трансляции. По существу, узлу консенсуса не требуется потреблять вычислительные ресурсы, чтобы гарантировать, что все другие узлы консенсуса принимают первое сообщение трансляции, как можно больше.
[0031] Фиг. 2 является схематичной диаграммой, иллюстрирующей пример сравнения существующего способа для транслирования сообщений со способом для транслирования сообщений, обеспеченным в настоящей заявке. Как показано на фиг. 2, устройство обработки сообщений, соответствующее узлу консенсуса, является вычислительным устройством, независимым от узла консенсуса. Обмен сообщениями между узлами консенсуса выполняется устройствами обработки сообщений, соответственно соответствующими узлам консенсуса.
[0032] То есть, узлу консенсуса требуется только создать первый тред для устройства обработки сообщений, соответствующего узлу консенсуса, и он может отменять первый тред после отправки первого сообщения трансляции на устройство обработки сообщений, соответствующее узлу консенсуса, с использованием первого треда, без потребления вычислительного ресурса, чтобы непрерывно поддерживать первый тред.
[0033] Первый тред является тредом, созданным узлом консенсуса для устройства обработки сообщений, соответствующего узлу консенсуса, и второй тред, описанный ниже, является тредом, созданным устройством обработки сообщений, для устройства обработки сообщений, соответствующего другому узлу консенсуса.
[0034] В действительности, узел консенсуса использует технологию асинхронного вызова, чтобы создать первый тред, который используется для отправки первого сообщения трансляции на устройство обработки сообщений, соответствующее узлу консенсуса. После отправки первого сообщения трансляции с использованием первого треда, узел консенсуса может прямо отменить первый тред, не заботясь о том, принимает ли устройство обработки сообщений первое сообщение трансляции.
[0035] Следует отметить, что узел консенсуса и устройство обработки сообщений, соответствующее узлу консенсуса, обычно не являются распределенными в гетерогенной сети. То есть, обмен информацией между узлом консенсуса и устройством обработки сообщений, соответствующим узлу консенсуса, является стабильным. Поэтому, устройство обработки сообщений обычно может успешно принимать, в одно время, сообщение, отправленное узлом консенсуса, соответствующим устройству обработки сообщений.
[0036] Дополнительно, чтобы полностью гарантировать, что первое сообщение трансляции не потеряно в процессе передачи первого сообщения трансляции от узла консенсуса на соответствующее устройство обработки сообщений, может использоваться региональная частная линия для соединения узла консенсуса с устройством обработки сообщений, соответствующим узлу консенсуса, чтобы смягчить, насколько возможно, сбой сети, который может существовать между узлом консенсуса и устройством обработки сообщений, соответствующим узлу консенсуса.
[0037] В дополнение к инструктированию устройства обработки сообщений, соответствующего узлу консенсуса, транслировать сообщение, узел консенсуса может дополнительно принимать, с использованием устройства обработки сообщений, соответствующего узлу консенсуса, сообщение, которое транслируется другим узлом консенсуса.
[0038] Конкретно, узел консенсуса может принимать второе сообщение трансляции, отправленное устройством обработки сообщений, соответствующим узлу консенсуса. Второе сообщение трансляции транслируется устройством обработки сообщений, соответствующим другому узлу консенсуса. Устройство обработки сообщений может принимать второе сообщение трансляции, которое транслируется устройством обработки сообщений, соответствующим другому узлу консенсуса, и затем отправлять второе сообщение трансляции на узел консенсуса.
[0039] Следует отметить, что как первое сообщение трансляции, так и второе сообщение трансляции являются сообщениями трансляции, которые транслируются узлами консенсуса, и как первое сообщение трансляции, так и второе сообщение трансляции могут быть сообщениями услуги, сообщениями верификации и т.д.
[0040] S104. Устройство обработки сообщений создает второй тред для устройства обработки сообщений, соответствующего каждому другому узлу консенсуса, и отправляет первое сообщение трансляции на устройство обработки сообщений, соответствующее другому узлу консенсуса, с использованием второго треда.
[0041] S105. Устройство обработки сообщений отменяет второй тред в ответ на определение того, что устройство обработки сообщений, соответствующее другому узлу консенсуса, принимает первое сообщение трансляции.
[0042] В существующей технологии, узел консенсуса отвечает за транслирование сообщений. Узел консенсуса создает тред, который занимает вычислительный ресурс узла консенсуса, и использует тред, чтобы гарантировать, как можно больше, что все другие узлы консенсуса принимают сообщение, которое транслируется узлом консенсуса.
[0043] В данной реализации настоящей заявки, узлу консенсуса требуется только отправить первое сообщение трансляции на устройство обработки сообщений, соответствующее узлу консенсуса. Так как вычислительное устройство независимо от узла консенсуса, устройство обработки сообщений может независимо отвечать за транслирование сообщений. По существу, узел консенсуса освобождается, так что узел консенсуса может концентрировать ограниченные вычислительные ресурсы для выполнения работы по верификации консенсуса более эффективно.
[0044] В данной реализации настоящей заявки, устройство обработки сообщений создает второй тред для устройства обработки сообщений, соответствующего каждому другому узлу консенсуса, и использует второй тред для потребления вычислительного ресурса устройства обработки сообщений для ожидания подтверждения, что устройство обработки сообщений, соответствующее каждому другому узлу консенсуса, успешно принимает первое сообщение трансляции.
[0045] Конкретно, устройство обработки сообщений может отправлять первое сообщение трансляции на устройство обработки сообщений, соответствующее каждому другому узлу консенсуса, с использованием второго треда, созданного для устройства обработки сообщений, соответствующего каждому другому узлу консенсуса; подсчитывать число принятых ответных сигналов, где ответный сигнал возвращается устройством обработки сообщений, соответствующим другому узлу консенсуса, после приема первого сообщения трансляции; и повторно отправлять первое сообщение трансляции с использованием каждого второго треда в ответ на определение того, что подсчитанное число меньше, чем конкретное значение, пока подсчитанное число принятых ответных сигналов не станет не меньше, чем конкретное значение, где конкретное значение является целым больше 0. Конкретное значение является конфигурируемым. Более высокое конкретное значение может гарантировать, что больше узлов консенсуса принимают первое сообщение трансляции, и поэтому узел консенсуса транслирует сообщение с более высокой вероятностью успеха. Конкретное значение не ограничено специальным образом в настоящей заявке.
[0046] Дополнительно, если подсчитанное число меньше, чем конкретное значение, устройство обработки сообщений может продолжать отправку, с использованием второго треда, соответствующего устройству обработки сообщений, которое не возвращает ответный сигнал, первого сообщения трансляции на устройство обработки сообщений, которое не возвращает ответный сигнал, пока полное число принятых ответных сигналов, подсчитанное в предыдущие разы, не станет не меньше, чем конкретное значение. Альтернативно, устройство обработки сообщений может отправлять первое сообщение трансляции на все другие устройства обработки сообщений снова с использованием всех вторых тредов, пока число принятых ответных сигналов, подсчитанное в следующий раз, не станет не меньше, чем конкретное значение.
[0047] Дополнительно, после того, как устройство обработки сообщений отправило первое сообщение трансляции на другое определенное устройство обработки сообщений для конкретного числа раз с использованием второго треда, если устройство обработки сообщений все еще не принимает, с использованием второго треда, ответный сигнал, возвращенный другим устройством обработки сообщений, устройство обработки сообщений может остановить отправку первого сообщения трансляции на другое устройство обработки сообщений. После конкретного периода, устройство обработки сообщений продолжает отправку первого сообщения трансляции на другое устройство обработки сообщений.
[0048] Например, устройство обработки сообщений может сначала транслировать первое сообщение трансляции на другие устройства обработки сообщений, затем определить другое устройство обработки сообщений, которое не возвращает ответный сигнал (то есть, устройство обработки сообщений, которое не может принять первое сообщение трансляции), и затем повторно отправить первое сообщение трансляции на устройство обработки сообщений, которое не может принять первое сообщение трансляции. Эти операции повторяются. После того, как устройство обработки сообщений повторно отправило первое сообщение трансляции на то же самое другое устройство обработки сообщений три раза, оно указывает, что существует временная проблема передачи, подлежащая решению (проблема может быть вызвана неисправностью устройства обработки сообщений, которое не может принять первое сообщение трансляции, или из-за большого повреждения сети). Поэтому, устройство обработки сообщений сначала останавливает отправку первого сообщения трансляции на другое устройство обработки сообщений и затем продолжает отправку первого сообщения трансляции на другое устройство обработки сообщений после ожидания в течение длительного времени (проблема передачи может быть решена).
[0049] В данной реализации настоящей заявки, устройство обработки сообщений отменяет второй тред только после гарантирования того, что устройство обработки сообщений, соответствующее каждому другому узлу консенсуса, принимает первое сообщение трансляции. Следует отметить, что устройство обработки сообщений может использовать различные политики доставки сообщений, такие как доставка с задержкой и доставка с компенсацией (объект, который не может принять сообщение, активно запрашивает компенсацию сообщения), чтобы гарантировать, что устройство обработки сообщений, соответствующее каждому другому узлу консенсуса, принимает первое сообщение трансляции. Политика доставки сообщений, используемая устройством обработки сообщений, не ограничена специальным образом в настоящей заявке.
[0050] Можно понять из предыдущих описаний, что устройство обработки сообщений в действительности использует технологию синхронизации вызова, чтобы создать, для устройства обработки сообщений, соответствующего каждому другому узлу консенсуса, один второй тред, который используется для отправки первого сообщения трансляции на устройство обработки сообщений, соответствующее каждому другому узлу консенсуса. После отправки первого сообщения трансляции с использованием второго треда, устройство обработки сообщений все еще использует второй тред для ожидания подтверждения, что устройство обработки сообщений, соответствующее каждому другому узлу консенсуса, принимает первое сообщение трансляции. Если устройство обработки сообщений, соответствующее каждому другому узлу консенсуса, не может принять первое сообщение трансляции, устройство обработки сообщений повторно отправляет первое сообщение трансляции на устройство обработки сообщений, соответствующее каждому другому узлу консенсуса, с использованием второго треда. Второй тред отменяется только до тех пор, пока устройство обработки сообщений, соответствующее каждому другому узлу консенсуса, определенно не примет первое сообщение трансляции или пока не запущено условие для остановки отправки.
[0051] S106. Устройство обработки сообщений, соответствующее другому узлу консенсуса, отправляет первое сообщение трансляции на соответствующий другой узел консенсуса.
[0052] Как описано ранее, другой узел консенсуса может принимать, с использованием устройства обработки сообщений, соответствующего другому узлу консенсуса, сообщение, которое транслируется другим узлом консенсуса.
[0053] В соответствии со способом для транслирования сообщений, показанным на фиг. 1, одно устройство обработки сообщений распределено каждому узлу консенсуса, и работа по транслированию сообщений между узлами консенсуса передается устройствам обработки сообщений для реализации. Для определенного узла консенсуса, устройство обработки сообщений, соответствующее узлу консенсуса, может создавать тред для устройства обработки сообщений, соответствующего каждому другому узлу консенсуса, чтобы исполнять задачу транслирования сообщений, до тех пор, пока устройство обработки сообщений, соответствующее другому узлу консенсуса, не примет сообщение трансляции. По существу, тред для исполнения задачи транслирования сообщений потребляет только вычислительный ресурс устройства обработки сообщений без потребления ресурса узла консенсуса. Поэтому, чрезмерная нагрузка не вызывается на узле консенсуса, так что узел консенсуса может выполнять верификацию консенсуса на услуге более эффективно.
[0054] На основе способа для транслирования сообщений, показанного на фиг. 1, реализация настоящей заявки дополнительно соответственно обеспечивает устройство для транслирования сообщений. Как показано на фиг. 3, устройство для транслирования сообщений включает в себя: модуль 301 получения, сконфигурированный, чтобы получать первое сообщение трансляции; модуль 302 отправки, сконфигурированный, чтобы создавать первый тред для устройства обработки сообщений, соответствующего устройству, и отправлять первое сообщение трансляции на устройство обработки сообщений с использованием первого треда, так что устройство обработки сообщений отправляет первое сообщение трансляции на устройство обработки сообщений, соответствующее другому узлу консенсуса; и модуль 303 отмены, сконфигурированный, чтобы отменять первый тред.
[0055] Устройство соединено с устройством обработки сообщений с использованием региональной частной линии.
[0056] Устройство дополнительно включает в себя модуль 304 приема, сконфигурированный, чтобы принимать второе сообщение трансляции, отправленное устройством обработки сообщений, соответствующим устройству, где второе сообщение трансляции транслируется устройством обработки сообщений, соответствующим другому узлу консенсуса.
[0057] На основе способа для транслирования сообщений, показанного на фиг. 1, реализация настоящей заявки дополнительно соответственно обеспечивает другое устройство для транслирования сообщений. Как показано на фиг. 4, устройство для транслирования сообщений включает в себя: первый модуль 401 приема, сконфигурированный, чтобы принимать первое сообщение трансляции, отправленное узлом консенсуса, соответствующим устройству; модуль 402 отправки, сконфигурированный, чтобы создавать второй тред для устройства обработки сообщений, соответствующего каждому другому узлу консенсуса, и отправлять первое сообщение трансляции на устройство обработки сообщений, соответствующее другому узлу консенсуса, с использованием второго треда; и модуль 403 отмены, сконфигурированный, чтобы отменять второй тред в ответ на определение того, что устройство обработки сообщений, соответствующее другому узлу консенсуса, принимает первое сообщение трансляции.
[0058] Модуль 403 отмены сконфигурирован, чтобы подсчитывать число принятых ответных сигналов с использованием каждого второго треда, где ответный сигнал возвращается устройством обработки сообщений, соответствующим другому узлу консенсуса, после приема первого сообщения трансляции; и повторно отправлять первое сообщение трансляции с использованием каждого второго треда в ответ на определение того, что подсчитанное число меньше, чем конкретное значение, до тех пор, пока подсчитанное число принятых ответных сигналов не станет не меньше, чем конкретное значение, где конкретное значение является целым больше 0.
[0059] Устройство дополнительно включает в себя второй модуль 404 приема, сконфигурированный, чтобы принимать второе сообщение трансляции, которое транслируется устройством обработки сообщений, соответствующим другому узлу консенсуса; и отправлять второе сообщение трансляции на узел консенсуса.
[0060] В 1990-х, может, очевидно, явно различаться то, является ли совершенствование технологии совершенствованием аппаратных средств (например, улучшением структуры схемы, такой как диод, транзистор и переключатель) или совершенствованием программного обеспечения (улучшением процедуры способа). Однако с развитием технологий, улучшение многих процедур способа может рассматриваться как непосредственное улучшение структур схем аппаратных средств. Почти все разработчики программируют улучшенную процедуру способа в схему аппаратных средств, чтобы получить соответствующую структуру схемы аппаратных средств. Поэтому процедура способа может быть улучшена с использованием модуля объекта аппаратных средств. Например, программируемое логическое устройство (PLD) (например, программируемая вентильная матрица (FPGA)) является такой интегральной схемой, и логическая функция программируемого логического устройства определяется пользователем посредством программирования устройств. Разработчик выполняет программирование, чтобы ʺинтегрироватьʺ цифровую систему в PLD, не требуя от производителя чипов проектировать и производить чип специализированной интегральной схемы. Кроме того, в настоящее время, этот тип программирования в основном реализуется путем модифицирования программного обеспечения ʺлогического компилятораʺ, вместо производства вручную чипа интегральной схемы. Программное обеспечение ʺлогического компилятораʺ аналогично компилятору программного обеспечения, используемому для разработки и написания программы. Исходный код должен быть написан на конкретном языке программирования перед компилированием. Язык называется языком описания аппаратных средств (HDL). Существует множество HDL, такие как усовершенствованный язык булевых выражений (ABEL), язык описания аппаратных средств Altera (AHDL), Confluence, язык программирования Корнеллского университета (CUPL), HDCal, язык описания аппаратных средств Java (JHDL), Lava, Lola, MyHDL, PALASM и язык описания аппаратных средств Ruby (RHDL). Язык описания аппаратных средств на быстродействующих интегральных схемах (VHDL) и Verilog наиболее часто используются в настоящее время. Специалист в данной области техники должен также понимать, что схему аппаратных средств, которая реализует логическую процедуру способа можно легко получить при условии, что процедура способа логически запрограммирована, и запрограммировать в интегральную схему с использованием предшествующих нескольких языков описания аппаратных средств.
[0061] Контроллер может быть реализован любым подходящим образом. Например, контроллер может иметь вид микропроцессора, процессора, считываемого компьютером носителя, который хранит считываемый компьютером программный код (такой как программное обеспечение или прошивка), который может исполняться микропроцессором или процессором, логической схемой, переключателем, специализированной интегральной схемой (ASIC), программируемым логическим контроллером или встроенным микропроцессором. Примеры контроллера включают в себя, но без ограничения, следующие микропроцессоры: ARC 625D, Atmel AT91SAM, Микрочип PIC18F26K20 и Silicone Labs C8051F320. Контроллер памяти может альтернативно быть реализован как часть управляющей логики памяти. Специалист в данной области техники также знает, что, в дополнение к реализации контроллера с использованием считываемого компьютером программного кода, этапы способа могут быть логически запрограммированы, чтобы позволять контроллеру реализовывать одну и ту же функцию в форме логической схемы, переключателя, специализированной интегральной схемы, программируемого логического контроллера или встроенного микроконтроллера. Поэтому, контроллер может рассматриваться как компонент аппаратных средств, и устройство, которое включено в контроллер и сконфигурировано, чтобы реализовывать различные функции, может также рассматриваться как структура в компоненте аппаратных средств. Альтернативно, устройство, сконфигурированное, чтобы реализовывать различные функции, может даже рассматриваться и как модуль программного обеспечения для реализации способа, и как структура в компоненте аппаратных средств.
[0062] Система, устройство, модуль или блок, проиллюстрированные в предыдущих реализациях, могут быть конкретно реализованы с использованием компьютерного чипа или объекта или с использованием продукта, имеющего определенную функцию. Обычным устройством реализации является компьютер. Конкретно, компьютер может быть, например, персональным компьютером, ноутбуком, сотовым телефоном, камерофоном, смартфоном, персональным цифровым ассистентом, медиапроигрывателем, устройством навигации, устройством электронной почты, игровой консолью, планшетом, носимым устройством или комбинацией любых из этих устройств.
[0063] Для простоты описания, предыдущее устройство описано путем разделения устройства на различные блоки на основе функций. Разумеется, когда реализуется настоящая заявка, функции блоков могут быть реализованы в одной или нескольких частях программного обеспечения и/или аппаратных средств.
[0064] Специалист в данной области техники должен понимать, что реализации настоящего раскрытия могут быть обеспечены как способ, система или компьютерный программный продукт. Поэтому, настоящее раскрытие может использовать форму реализаций только в аппаратных средствах, реализаций только в программном обеспечении или реализаций с комбинацией программного обеспечения и аппаратных средств. Кроме того, настоящее раскрытие может использовать форму компьютерного программного продукта, который реализован на одном или нескольких используемых компьютером носителях хранения (включая, но без ограничения, хранилище на магнитном диске, CD-ROM, оптическую память и т.д.), которые включают в себя используемый компьютером программный код.
[0065] Настоящее раскрытие описано со ссылкой на блок-схемы последовательности операций и/или блок-схемы способа, устройства (системы) и компьютерного программного продукта в соответствии с реализациями настоящего раскрытия. Следует отметить, что компьютерные программные инструкции могут использоваться для реализации каждого процесса и/или каждого блока в блок-схемах последовательности операций и/или блок-схемах устройства и комбинации процессов и/или блоков в блок-схемах последовательности операций и/или блок-схемах устройства. Эти компьютерные программные инструкции могут быть обеспечены для универсального компьютера, специализированного компьютера, встроенного процессора или процессора другого программируемого устройства обработки данных, чтобы генерировать машину, так что инструкции, исполняемые компьютером или процессором другого программируемого устройства обработки данных, генерируют устройство для реализации конкретной функции в одном или нескольких процессах в блок-схемах последовательности операций и/или в одном или нескольких блоках в блок-схемах устройства.
[0066] Эти компьютерные программные инструкции могут альтернативно храниться в считываемой компьютером памяти, которая может предписывать компьютеру или другому программируемому устройству обработки данных работать конкретным образом, так что инструкции, хранящиеся в считываемой компьютером памяти, генерируют артефакт, который включает в себя устройство инструкций. Устройство инструкций реализует конкретную функцию в одном или нескольких процессах в блок-схемах последовательности операций и/или в одном или нескольких блоках в блок-схемах устройств.
[0067] Эти компьютерные программные инструкции могут альтернативно загружаться на компьютер или другое программируемое устройство обработки данных, так что серии операций и этапов выполняются на компьютере или другом программируемом устройстве, тем самым генерируя реализуемую компьютером обработку. Поэтому, инструкции, исполняемые на компьютере или другом программируемом устройстве, обеспечивают этапы для реализации конкретной функции в одном или нескольких процессах в блок-схемах последовательности операций и/или в одном или нескольких блоках в блок-схемах устройств.
[0068] В обычной конфигурации, вычислительное устройство включает в себя один или несколько процессоров (CPU), один или несколько интерфейсов ввода/вывода, один или несколько сетевых интерфейсов и одно или несколько устройств памяти.
[0069] Память может включать в себя непостоянную память, память с произвольным доступом (RAM), энергонезависимую память и/или другую форму памяти в считываемых компьютером носителях, например, постоянную память (ROM) или флэш-память (flash RAM). Память является примером считываемого компьютером носителя.
[0070] Считываемый компьютером носитель включает в себя постоянные, непостоянные, съемные и несъемные носители, которые могут хранить информацию с использованием любого способа или технологии. Информация может быть считываемой компьютером инструкцией, структурой данных, программным модулем или другими данными. Примеры компьютерного носителя хранения включают в себя, но без ограничения, параметрическую память с произвольным доступом (PRAM), статическую память с произвольным доступом (SRAM), динамическую память с произвольным доступом (DRAM), другой тип памяти с произвольным доступом (RAM), постоянную память (ROM), электрически стираемую перепрограммируемую постоянную память (EEPROM), флэш-память или другую технологию памяти, постоянную память на компакт-диске (CD-ROM), цифровой универсальный диск (DVD) или другое оптическое хранилище, магнитную кассету, магнитную ленту, память на магнитном диске или другое магнитное устройство хранения или любой другой носитель, не относящийся к среде передачи, который может использоваться для хранения информации, доступ к которой может осуществляться вычислительным устройством. На основе определения в настоящей спецификации, считываемый компьютером носитель не включает в себя временные считываемые компьютером носители (переходные среды), такие как модулированный сигнал данных и несущая.
[0071] Стоит дополнительно отметить, что термины ʺвключать в себяʺ, ʺсодержатьʺ или любые другие их варианты предназначены для охвата не исключающего включения, так что процесс, способ, продукт или устройство, которое включает в себя список элементов, не только включает в себя эти элементы, но также включает в себя другие элементы, которые не перечислены явно, или дополнительно включает в себя элементы, присущие такому процессу, способу, продукту или устройству. Без дополнительных ограничений, элемент, которому предшествует ʺвключает в себя …ʺ, не препятствует существованию дополнительных идентичных элементов в процессе, способе, продукте или устройстве, которое включает в себя данный элемент.
[0072] Специалист в данной области техники должен понимать, что реализации настоящей заявки могут быть обеспечены как способ, система или компьютерный программный продукт. Поэтому, настоящая заявка может использовать форму реализаций только в аппаратных средствах, реализаций только в программном обеспечении или реализаций с комбинацией программного обеспечения и аппаратных средств. Кроме того, настоящая заявка может использовать форму компьютерного программного продукта, который реализован на одном или нескольких используемых компьютером носителях хранения (включая, но без ограничения, хранилище на магнитном диске, CD-ROM, оптическую память и т.д.), которые включают в себя используемый компьютером программный код.
[0073] Настоящая заявка может быть описана в общем контексте исполняемых компьютером инструкций, исполняемых компьютером, например, программного модуля. В общем, программный модуль включает в себя стандартную программу, программу, объект, компонент, структуру данных и т.д. для исполнения конкретной задачи или реализации специального абстрактного типа данных. Настоящая заявка может альтернативно применяться в распределенных вычислительных средах. В этих распределенных вычислительных средах, задачи выполняются удаленными устройствами обработки, которые соединены через сеть связи. В распределенных вычислительных средах, программный модуль может быть расположен как в локальных, так и в удаленных компьютерных носителях хранения, включающих в себя устройства хранения.
[0074] Реализации в настоящей спецификации описаны постепенным образом. Для тех же самых или аналогичных частей в реализациях может даваться ссылка на эти реализации. Каждая реализация фокусируется на отличии от других реализаций. В частности, реализация системы в основном аналогична реализации способа и поэтому описана кратко. Для связанных частей, ссылки могут даваться на некоторые описания в реализации способа.
[0075] Предыдущие описания являются только реализациями настоящей заявки и не предназначены для ограничения настоящей заявки. Специалист в данной области техники может выполнить различные модификации и изменения в настоящей заявке. Любые модификации, эквивалентные замены, улучшения и т.д., выполненные без отклонения от сущности и принципа настоящей заявки, должны входить в объем формулы изобретения в настоящей заявке.
название | год | авторы | номер документа |
---|---|---|---|
СПОСОБ И УСТРОЙСТВО ОБРАБОТКИ ДАННЫХ | 2018 |
|
RU2721402C1 |
СПОСОБ И УСТРОЙСТВО ДЛЯ ОБРАБОТКИ ЗАПРОСА УСЛУГИ | 2018 |
|
RU2708952C1 |
СПОСОБ И УСТРОЙСТВО КОНСЕНСУСА | 2018 |
|
RU2733221C1 |
УСЛУГА СМАРТ-КОНТРАКТА ВНЕ ЦЕПОЧКИ НА ОСНОВЕ ДОВЕРЕННОЙ СРЕДЫ ИСПОЛНЕНИЯ | 2018 |
|
RU2729700C1 |
СПОСОБ И УСТРОЙСТВО ОБРАБОТКИ ЗАПРОСОВ ТРАНЗАКЦИИ | 2018 |
|
RU2730439C1 |
СПОСОБ И УСТРОЙСТВО БИЗНЕС-ОБРАБОТКИ | 2018 |
|
RU2737361C1 |
СПОСОБ И УСТРОЙСТВО КОНСЕНСУСА НА ОСНОВЕ БЛОКЧЕЙНА | 2018 |
|
RU2731331C1 |
СПОСОБ И УСТРОЙСТВО ОБРАБОТКИ УСЛУГ И КОНСЕНСУСА | 2018 |
|
RU2735096C1 |
СПОСОБ ОБРАБОТКИ ДАННЫХ И УСТРОЙСТВО ОБРАБОТКИ ДАННЫХ | 2019 |
|
RU2782581C1 |
ПЕРЕКРЕСТНАЯ ТОРГОВЛЯ АКТИВАМИ В СЕТЯХ БЛОКЧЕЙНОВ | 2019 |
|
RU2736447C1 |
Изобретение относится к области технологий блокчейна, и в частности к способу и устройству для широковещательной передачи сообщений. Техническим результатом является то, что уменьшают чрезмерную нагрузку на узле консенсуса, который транслирует сообщение. Технический результат заявляемого технического решения достигается тем, что в заявленном решении предусмотрены этапы на которых получают, узлом консенсуса сети блокчейна, первого широковещательного сообщения; создают, узлом консенсуса, первого потока исполнения для устройства обработки сообщений, соответствующего узлу консенсуса; отправляют, узлом консенсуса, первого широковещательного сообщения в это устройство обработки сообщений с использованием первого потока исполнения, причем данное устройство обработки сообщений отправляет первое широковещательное сообщение в устройство обработки сообщений, соответствующее другому узлу консенсуса; а также отменяют, узлом консенсуса, первого потока исполнения. 2 н. и 7 з.п. ф-лы, 4 ил.
1. Способ широковещательной передачи сообщений, содержащий:
получение, узлом консенсуса сети блокчейна, первого широковещательного сообщения;
создание, узлом консенсуса, первого потока исполнения для устройства обработки сообщений, соответствующего узлу консенсуса;
отправку, узлом консенсуса, первого широковещательного сообщения в это устройство обработки сообщений с использованием первого потока исполнения, причем данное устройство обработки сообщений отправляет первое широковещательное сообщение в устройство обработки сообщений, соответствующее другому узлу консенсуса; и
отмену, узлом консенсуса, первого потока исполнения.
2. Способ по п.1, в котором узел консенсуса соединен с устройством обработки сообщений с использованием региональной частной линии связи.
3. Способ по п.1, дополнительно содержащий прием второго широковещательного сообщения, отправленного устройством обработки сообщений, соответствующим узлу консенсуса, причем устройство обработки сообщений, соответствующее другому узлу консенсуса, осуществляет широковещательную передачу второго широковещательного сообщения.
4. Способ по п.1, дополнительно содержащий:
создание второго потока исполнения для устройства обработки сообщений, соответствующего каждому другому узлу консенсуса;
отправку первого широковещательного сообщения в устройство обработки сообщений, соответствующее другому узлу консенсуса, с использованием второго потока исполнения; и
отмену второго потока исполнения в ответ на определение того, что устройство обработки сообщений, соответствующее другому узлу консенсуса, принимает первое широковещательное сообщение.
5. Способ по п.4, в котором упомянутое определение того, что устройство обработки сообщений, соответствующее другому узлу консенсуса, принимает первое широковещательное сообщение, конкретно содержит:
подсчитывание числа принятых ответных сигналов путем использования каждого второго потока исполнения, причем ответные сигналы возвращаются устройством обработки сообщений, соответствующим другому узлу консенсуса, после приема первого широковещательного сообщения; и
повторную отправку первого широковещательного сообщения путем использования каждого второго потока исполнения в ответ на определение того, что упомянутое число меньше конкретного значения, до тех пор, пока подсчитанное число принятых ответных сигналов будет не меньше, чем это конкретное значение, причем данное конкретное значения является целым больше 0.
6. Способ по п.4, дополнительно содержащий:
прием второго широковещательного сообщения, широковещательная передача которого осуществляется устройством обработки сообщений, соответствующим другому узлу консенсуса; и
отправку второго широковещательного сообщения в узел консенсуса.
7. Способ по п.1, в котором упомянутое создание первого потока исполнения основывается на технологии асинхронного вызова.
8. Способ по п.1, в котором сеть блокчейна содержит сеть блокчейна консорциума.
9. Устройство для широковещательной передачи сообщений, содержащее:
модуль получения, сконфигурированный получать первое широковещательное сообщение;
модуль отправки, сконфигурированный:
создавать первый поток исполнения для устройства обработки сообщений, соответствующего узлу консенсуса, и
отправлять первое широковещательное сообщение в это устройство обработки сообщений с использованием первого потока исполнения, причем данное устройство обработки сообщений отправляет первое широковещательное сообщение в устройство обработки сообщений, соответствующее другому узлу консенсуса; и
модуль отмены, сконфигурированный отменять первый поток исполнения.
CN 104579905 A, 29.04.2015 | |||
CN 104580253 A, 29.04.2015 | |||
CN 1980411 A, 13.06.2007 | |||
CN 106446067 A, 22.02.2017 | |||
Токарный резец | 1924 |
|
SU2016A1 |
Прибор для промывания газов | 1922 |
|
SU20A1 |
Приспособление в центрифугах для регулирования количества жидкости или газа, оставляемых в обрабатываемом в формах материале, в особенности при пробеливании рафинада | 0 |
|
SU74A1 |
Авторы
Даты
2020-08-14—Публикация
2018-03-19—Подача