СПОСОБ И УСТРОЙСТВО ОБРАБОТКИ УСЛУГ И КОНСЕНСУСА
METHOD AND APPARATUS FOR PROCESSING SERVICES AND CONSENSUS

ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
[0001] Настоящее изобретение относится к области компьютерных технологий и, в частности, к способу и устройству обработки услуг и консенсуса.
УРОВЕНЬ ТЕХНИКИ
[0002] С непрерывным развитием компьютерных технологий все шире применяется технология блокчейна. Кроме того, для реализации эффективной регистрации данных люди также используют технологию блокчейна для обеспечения новой идеи для реализации некоторых услуг.
[0003] В настоящее время осуществление обработки услуг с использованием технологии блокчейна в общих чертах включает в себя два процесса: процесс обработки услуг и процесс консенсуса по услуге. В процессе обработки услуг блокчейн-узел принимает запрос услуги, отправленный пользователем, и сохраняет запрос услуги в памяти услуг узла блокчейна. Кроме того, блокчейн-узел рассылает запрос услуги на другие блокчейн-узлы в сети консенсуса, благодаря чему, другие блокчейн-узлы сохраняют запрос услуги в памяти услуг, соответствующей другим блокчейн-узлам после приема запроса услуги.
[0004] В процессе консенсуса по услуге блокчейн-узел получает некоторое количество запросов услуги из памяти услуг, соответствующей блокчейн-узлу, и обрабатывает полученные запросы услуги для получения блока предобработки. Затем блокчейн-узел рассылает блок предобработки на другие блокчейн-узлы в сети консенсуса, благодаря чему другие блокчейн-узлы осуществляет консенсус по услуге на блоке предобработки после приема блока предобработки.
[0005] Из вышеописанных двух процессов можно понять, что процесс услуги блокчейна может эффективно завершаться только в тесной кооперации между блокчейн-узлами в сети консенсуса. Однако, на практике блокчейн-узел обычно ограничивается одиночным сервером, что обуславливает относительно низкую устойчивость. В виде исключения перезапуск программы и т.д. происходит на сервере, блокчейн-узел недоступен, что влияет на устойчивость всей сети консенсуса, и влияет на процесс услуги блокчейна. Кроме того, программные и аппаратные ресурсы одиночного сервера очень ограничены, что обуславливает относительно низкую эффективность, когда блокчейн-узел осуществляет обработку услуг.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
[0006] Варианты осуществления настоящего изобретения предусматривают способ обработки услуг для решения проблем в существующей технологии, состоящих в относительно низкой устойчивости и относительно низкой эффективности обработки услуг, когда блокчейн-узел осуществляет обработку услуг.
[0007] Вариант осуществления настоящего изобретения предусматривает способ обработки услуг, включающий в себя: прием первым блокчейн-узлом и с использованием сервера включенного в первый блокчейн-узел, запроса услуги, отправленного клиентом, где первый блокчейн-узел включает в себя множество серверов и по меньшей мере одну память услуг; сохранение запроса услуги в памяти услуг, включенной в первый блокчейн-узел; и отправку запроса услуги на каждый второй блокчейн-узел в сети консенсуса, благодаря чему, каждый второй блокчейн-узел сохраняет запрос услуги в памяти услуг, включенной во второй блокчейн-узел, после приема запроса услуги, где второй блокчейн-узел включает в себя множество серверов и по меньшей мере одну память услуг.
[0008] Варианты осуществления настоящего изобретения предусматривают устройство обработки услуг для решения проблем в существующей технологии, состоящих в относительно низкой устойчивости и относительно низкой эффективности обработки услуг, когда блокчейн-узел осуществляет обработку услуг.
[0009] Вариант осуществления настоящего изобретения предусматривает устройство обработки услуг, включающее в себя: модуль приема, выполненный с возможностью приема запроса услуги, отправленного клиентом; модуль хранения, выполненный с возможностью сохранения запроса услуги в памяти услуг, соответствующей устройству обработки услуг; и модуль отправки, выполненный с возможностью отправки запроса услуги на каждый второй блокчейн-узел в сети консенсуса, благодаря чему каждый второй блокчейн-узел сохраняет запрос услуги в памяти услуг, включенной во второй блокчейн-узел, после приема запроса услуги, где второй блокчейн-узел включает в себя множество серверов и по меньшей мере одну память услуг.
[0010] Варианты осуществления настоящего изобретения предусматривают способ обработки услуг для решения проблем в существующей технологии, состоящих в относительно низкой устойчивости и относительно низкой эффективности обработки услуг, когда блокчейн-узел осуществляет обработку услуг.
[0011] Вариант осуществления настоящего изобретения предусматривает способ обработки услуг, включающий в себя: прием вторым блокчейн-узлом с использованием сервера, включенного во второй блокчейн-узел, запроса услуги, отправленного первым блокчейн-узлом, где второй блокчейн-узел включает в себя множество серверов и по меньшей мере одну память услуг, и первый блокчейн-узел включает в себя множество серверов и по меньшей мере одну память услуг; и сохранение запроса услуги в памяти услуг, включенной во второй блокчейн-узел.
[0012] Варианты осуществления настоящего изобретения предусматривают устройство обработки услуг для решения проблем в существующей технологии, состоящих в относительно низкой устойчивости и относительно низкой эффективности обработки услуг, когда блокчейн-узел осуществляет обработку услуг.
[0013] Вариант осуществления настоящего изобретения предусматривает устройство обработки услуг, включающее в себя: модуль приема запроса, выполненный с возможностью приема запроса услуги, отправленного первым блокчейн-узлом, где первый блокчейн-узел включает в себя множество серверов и по меньшей мере одну память услуг; и модуль хранения запроса, выполненный с возможностью сохранения запроса услуги в памяти услуг, соответствующей устройству.
[0014] Варианты осуществления настоящего изобретения предусматривают способ обработки услуг для решения проблем в существующей технологии, состоящих в относительно низкой устойчивости и относительно низкой эффективности обработки услуг, когда блокчейн-узел осуществляет обработку услуг.
[0015] Вариант осуществления настоящего изобретения предусматривает способ обработки услуг, включающий в себя: прием клиентом информации об услуге, введенной пользователем; генерирование соответствующего запроса услуги на основании информации об услуге; и отправку запроса услуги на сервер, включенный в первый блокчейн-узел, благодаря чему первый блокчейн-узел сохраняет принятый запрос услуги в памяти услуг, включенной в первый блокчейн-узел; и отправку запроса услуги на каждый второй блокчейн-узел в сети консенсуса, где первый блокчейн-узел включает в себя множество серверов и по меньшей мере одну память услуг, и второй блокчейн-узел включает в себя множество серверов и по меньшей мере одну память услуг.
[0016] Варианты осуществления настоящего изобретения предусматривают устройство обработки услуг для решения проблем в существующей технологии, состоящих в относительно низкой устойчивости и относительно низкой эффективности обработки услуг, когда блокчейн-узел осуществляет обработку услуг.
[0017] Вариант осуществления настоящего изобретения предусматривает устройство обработки услуг, включающее в себя: модуль приема информации, выполненный с возможностью приема информации об услуге, введенной пользователем; модуль генерации запроса, выполненный с возможностью генерации соответствующего запроса услуги на основании информации об услуге; и модуль отправки, выполненный с возможностью отправки запроса услуги на сервер, включенный в первый блокчейн-узел, благодаря чему первый блокчейн-узел сохраняет принятый запрос услуги в памяти услуг, включенной в первый блокчейн-узел; и отправки запроса услуги на каждый второй блокчейн-узел в сети консенсуса, где первый блокчейн-узел включает в себя множество серверов и по меньшей мере одну память услуг, и второй блокчейн-узел включает в себя множество серверов и по меньшей мере одну память услуг.
[0018] Варианты осуществления настоящего изобретения предусматривают способ консенсуса по услуге для решения проблем в существующей технологии, состоящих в относительно низкой устойчивости и относительно низкой эффективности обработки услуг, когда блокчейн-узел осуществляет обработку услуг.
[0019] Вариант осуществления настоящего изобретения предусматривает способ консенсуса по услуге, включающий в себя: выбор первым блокчейн-узлом сервера из множества серверов, включенных в первый блокчейн-узел, где первый блокчейн-узел включает в себя множество серверов и по меньшей мере одну память услуг; получение по меньшей мере одного запроса услуги из памяти услуг, включенной в первый блокчейн-узел, с использованием выбранного сервера; и упаковку по меньшей мере одного запроса услуги в блок предобработки с использованием выбранного сервера, и отправку блока предобработки на каждый второй блокчейн-узел в сети консенсуса, благодаря чему каждый второй блокчейн-узел осуществляет консенсус по услуге на блоке предобработки, где второй блокчейн-узел включает в себя множество серверов и по меньшей мере одну память услуг.
[0020] Варианты осуществления настоящего изобретения предусматривают устройство консенсуса по услуге для решения проблем в существующей технологии, состоящих в относительно низкой устойчивости и относительно низкой эффективности обработки услуг, когда блокчейн-узел осуществляет обработку услуг.
[0021] Вариант осуществления настоящего изобретения предусматривает устройство консенсуса по услуге, включающее в себя: модуль получения запроса, выполненный с возможностью получения по меньшей мере одного запроса услуги из памяти услуг, соответствующей устройству; и модуль отправки, выполненный с возможностью упаковки по меньшей мере одного запроса услуги в блок предобработки и отправки блока предобработки на каждый второй блокчейн-узел в сети консенсуса, благодаря чему каждый второй блокчейн-узел осуществляет консенсус по услуге в отношении блока предобработки, где второй блокчейн-узел включает в себя множество серверов и по меньшей мере одну память услуг.
[0022] Варианты осуществления настоящего изобретения предусматривают устройство консенсуса по услуге для решения проблем в существующей технологии, состоящих в относительно низкой устойчивости и относительно низкой эффективности обработки услуг, когда блокчейн-узел осуществляет обработку услуг.
[0023] Вариант осуществления настоящего изобретения предусматривает устройство консенсуса по услуге, включающее в себя: модуль выбора, выполненный с возможностью выбора сервера из множества серверов, включенных в первый блокчейн-узел, где первый блокчейн-узел включает в себя множество серверов и по меньшей мере одну память услуг.
[0024] Варианты осуществления настоящего изобретения предусматривают способ консенсуса по услуге для решения проблем в существующей технологии, состоящих в относительно низкой устойчивости и относительно низкой эффективности обработки услуг, когда блокчейн-узел осуществляет обработку услуг.
[0025] Вариант осуществления настоящего изобретения предусматривает способ консенсуса по услуге, включающий в себя: получение, блокчейн-узлом, блока предобработки с использованием первого сервера, включенного в блокчейн-узел, где блокчейн-узел включает в себя множество серверов и по меньшей мере одну память услуг; и осуществление консенсуса по услуге в отношении блока предобработки с использованием первого сервера на основании каждого запроса услуги, сохраненного в памяти услуг, включенной в блокчейн-узел.
[0026] Варианты осуществления настоящего изобретения предусматривают устройство консенсуса по услуге для решения проблем в существующей технологии, состоящих в относительно низкой устойчивости и относительно низкой эффективности обработки услуг, когда блокчейн-узел осуществляет обработку услуг.
[0027] Вариант осуществления настоящего изобретения предусматривает устройство консенсуса по услуге, включающее в себя: модуль получения, выполненный с возможностью получения блока предобработки; и модуль консенсуса, выполненный с возможностью осуществления консенсуса по услуге в отношении блока предобработки на основании каждого запроса услуги, сохраненного в памяти услуг, соответствующей устройству.
[0028] Варианты осуществления настоящего изобретения предусматривают способ обработки услуг для решения проблем в существующей технологии, состоящих в относительно низкой устойчивости и относительно низкой эффективности обработки услуг, когда блокчейн-узел осуществляет обработку услуг.
[0029] Вариант осуществления настоящего изобретения предусматривает способ обработки услуг, включающий в себя: получение центром регистрации адресов множества серверов, включенных в каждый блокчейн-узел в сети консенсуса, где каждый блокчейн-узел включает в себя множество серверов и по меньшей мере одну память услуг; и отправку полученных адресов множества серверов, включенных в блокчейн-узел, на другие блокчейн-узлы в сети консенсуса и клиент для хранения.
[0030] Варианты осуществления настоящего изобретения предусматривают устройство обработки услуг для решения проблем в существующей технологии, состоящих в относительно низкой устойчивости и относительно низкой эффективности обработки услуг, когда блокчейн-узел осуществляет обработку услуг.
[0031] Вариант осуществления настоящего изобретения предусматривает устройство обработки услуг, включающее в себя: модуль получения, выполненный с возможностью получения адресов множества серверов, включенных в каждый блокчейн-узел в сети консенсуса, где каждый блокчейн-узел включает в себя множество серверов и по меньшей мере одну память услуг; и модуль отправки, выполненный с возможностью отправки полученных адресов множества серверов, включенных в блокчейн-узел, на другие блокчейн-узлы в сети консенсуса и клиент для хранения.
[0032] По меньшей мере одно техническое решение, описанное выше и используемое в вариантах осуществления настоящего изобретения может достигать следующие полезные результаты:
[0033] В вариантах осуществления настоящего изобретения первый блокчейн-узел включает в себя множество серверов. Первый блокчейн-узел может принимать запрос услуги, отправленный клиентом, и сохранять запрос услуги, используя один сервер, включенный в первый блокчейн-узел, получать по меньшей мере один запрос услуги из памяти услуг, включенной в первый блокчейн-узел, с использованием сервера, включенного в первый блокчейн-узел, получать блок предобработки, и отправлять блок предобработки на каждый второй блокчейн-узел в сети консенсуса с использованием сервера, для осуществления консенсуса по услуге в отношении блока предобработки с использованием каждого второго узла блокчейна. Можно гарантировать, что первый блокчейн-узел доступен при условии, что доступен один сервер во множестве серверов, включенных в первый блокчейн-узел. Таким образом, устойчивость первого блокчейн-узла в сети консенсуса значительно повышается. Кроме того, каждый сервер, включенный в первый блокчейн-узел может принимать запрос услуги, отправленный пользователем с использованием клиента, и каждый сервер может инициировать консенсус по услуге для каждого второго блокчейн-узла в сети консенсуса. Таким образом, эффективность обработки услуг услуги блокчейна значительно повышается.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0034] Описанные здесь прилагаемые чертежи предназначены для обеспечения дополнительного понимания настоящего изобретения, и составляют часть настоящего изобретения. Иллюстративные варианты осуществления настоящего изобретения и описания вариантов осуществления настоящего изобретения предназначены для описания настоящего изобретения, и не налагают ограничений на настоящее изобретение. В прилагаемых чертежах:
[0035] фиг. 1 - схема, демонстрирующая процесс консенсуса по услуге, согласно варианту осуществления настоящего изобретения;
[0036] фиг. 2 - схема принудительной передачи адреса клиенту центром регистрации, согласно варианту осуществления настоящего изобретения;
[0037] фиг. 3 - схема принудительной передачи адреса каждого сервера во втором узле блокчейна на каждый сервер в первом узле блокчейна центром регистрации, согласно варианту осуществления настоящего изобретения;
[0038] фиг. 4 - схема определения проверяемого идентификатора сервером, согласно варианту осуществления настоящего изобретения;
[0039] фиг. 5 - схема, демонстрирующая процесс осуществления консенсуса по услуге в отношении блока предобработки сервером во втором узле блокчейна, согласно варианту осуществления настоящего изобретения;
[0040] фиг. 6 - структурная схема, демонстрирующая устройство обработки услуг, согласно варианту осуществления настоящего изобретения;
[0041] фиг. 7 - структурная схема, демонстрирующая устройство обработки услуг, согласно варианту осуществления настоящего изобретения;
[0042] фиг. 8 - структурная схема, демонстрирующая устройство обработки услуг, согласно варианту осуществления настоящего изобретения;
[0043] фиг. 9 - структурная схема, демонстрирующая устройство консенсуса по услуге, согласно варианту осуществления настоящего изобретения;
[0044] фиг. 10 - структурная схема, демонстрирующая устройство консенсуса по услуге, согласно варианту осуществления настоящего изобретения;
[0045] фиг. 11 - структурная схема, демонстрирующая устройство консенсуса по услуге, согласно варианту осуществления настоящего изобретения; и
[0046] фиг. 12 - структурная схема, демонстрирующая устройство консенсуса по услуге, согласно варианту осуществления настоящего изобретения.
ОПИСАНИЕ ВАРИАНТОВ ОСУЩЕСТВЛЕНИЯ
[0047] Чтобы специалист в данной области техники мог лучше понять технические решения в настоящем изобретении, ниже отчетливо и полностью описаны технические решения в вариантах осуществления настоящего изобретения со ссылкой на прилагаемые чертежи в вариантах осуществления настоящего изобретения. Очевидно, описанные варианты осуществления являются лишь некоторыми, но не всеми из вариантов осуществления настоящего изобретения. Все остальные варианты осуществления, полученные специалистом в данной области техники на основании вариантов осуществления настоящего изобретения без применения творческих способностей, подлежат включению в объем защиты настоящего изобретения.
[0048] На фиг. 1 показана схема, демонстрирующая процесс консенсуса по услуге, согласно варианту осуществления настоящего изобретения, в частности, включающая в себя следующие этапы.
[0049] S101. Первый блокчейн-узел принимает, с использованием сервера во множестве серверов, включенных в первый блокчейн-узел, запрос услуги, отправленный клиентом.
[0050] В этом варианте осуществления настоящего изобретения в процессе обработки услуг пользователь может отправлять запрос услуги на первый блокчейн-узел с использованием клиента. Упомянутый здесь клиент может быть клиентом, установленным на устройстве конечного пользователя, удерживаемом пользователем. Пользователь может запускать клиент на устройстве конечного пользователя, и вводить информацию об услуге на интерфейсе, отображаемом клиентом пользователю. После приема информации об услуге, введенной пользователем, клиент может генерировать соответствующий запрос услуги на основании логики услуги, заранее сохраненной на клиенте, и отправлять запрос услуги на первый блокчейн-узел с использованием устройства конечного пользователя.
[0051] Безусловно, в этом варианте осуществления настоящего изобретения пользователь может напрямую вводить соответствующую информацию об услуге на устройство конечного пользователя, и устройство конечного пользователя может генерировать соответствующий запрос услуги на основании информации об услуге введенный пользователем, и отправки запроса услуги на первый блокчейн-узел.
[0052] В этом варианте осуществления настоящего изобретения первый блокчейн-узел включает в себя множество серверов (другими словами, первый блокчейн-узел включает в себя кластер серверов, и кластер серверов эквивалентен на первый блокчейн-узел), и серверы совместно используют информацию конфигурации узла, например, таблицу двухточечной маршрутизации, асимметричный открытый/секретный ключ узла и идентификатор узла (ID). Таким образом, для других блокчейн-узлов в сети консенсуса и клиента операции, осуществляемые серверами в первом блокчейн-узле считаются осуществляемыми первым блокчейн-узлом.
[0053] Таким образом, при отправке запроса услуги на первый блокчейн-узел, клиенту сначала нужно определить сервер в первом блокчейн-узле, на который нужно отправлять запрос услуги. Таким образом, этот вариант осуществления настоящего изобретения предусматривает центр регистрации. Центр регистрации выполнен с возможностью администрирования адресов серверов в блокчейн-узле, и принудительной передачи адресов серверов клиенту. Клиент может произвольно выбирать адрес из адресов, принудительно передаваемых центром регистрации, и отправлять запрос услуги на сервер, соответствующий адресу, который показан на фиг. 2.
[0054] На фиг. 2 показана схема принудительной передачи адреса клиенту центром регистрации, согласно варианту осуществления настоящего изобретения.
[0055] Согласно фиг. 2, первый блокчейн-узел включает в себя множество серверов, и каждый сервер может регистрироваться с центром регистрации, будучи подключен к линии (упомянутый здесь "подключенный к линии" означает, что сервер начинает нормально осуществлять обработку услуг), другими словами, извещать центр регистрации о том, что сервер в настоящее время находится в доступном состоянии и может принимать запрос услуги, отправленный клиентом. После определения, что сервер подключен к линии, центр регистрации может получать адрес сервера и затем принудительно передавать адрес клиенту, благодаря чему клиент сохраняет адрес после приема адреса.
[0056] В этом варианте осуществления настоящего изобретения центр регистрации может проактивно получать адрес сервера от сервера, или сервер может обеспечивать адрес для центра регистрации. Например, после регистрации сервера в центре регистрации центр регистрации может возвращать на сервер сообщение успешной регистрации. Сервер может проактивно отправлять адрес сервера на центр регистрации после приема сообщения, благодаря чему центр регистрации администрирует адрес.
[0057] Помимо того, что центр регистрации может проактивно принудительно передавать полученный адрес клиенту, клиент также может проактивно получать адреса, администрируемые центром регистрации. Например, помимо отправки запроса услуги на первый блокчейн-узел клиент может дополнительно отправлять сообщение запроса получения адреса на центр регистрации. После приема сообщения запроса центр регистрации может отправлять адрес доступного в настоящее время сервера (а именно, сервер в настоящее время регистрирующийся с центром регистрации) в первом блокчейн-узле клиенту, благодаря чему после приема адресов, отправленных центром регистрации, клиент выбирает адрес из адресов, и отправляет запрос услуги на сервер, соответствующий выбранному адресу. Безусловно, клиент также может получать адреса серверов, включенных в первый блокчейн-узел, от центра регистрации с использованием других способов. Детали здесь опущены.
[0058] Следует отметить, что на практике сервер в первом блокчейн-узле, возможно, отключен от линии (другими словами, сервер не может осуществлять обработку услуг) по причине сбоя в работе, перезапуска программы и т.д. Если центр регистрации отправляет адрес отключенного от линии сервера клиенту, и клиент точно выбирает адрес отключенного от линии сервера в ходе выбора сервера, клиент, возможно, не может отправлять запрос услуги на первый блокчейн-узел, и первый блокчейн-узел не может обрабатывать запрос услуги.
[0059] Во избежание проблем в этом варианте осуществления настоящего изобретения центр регистрации может регулярно отправлять сообщение обнаружения жизнеспособности на каждый сервер, который зарегистрирован в центре регистрации. Сервер может возвращать ответное сообщение на центр регистрации на основании принятого сообщения обнаружения жизнеспособности в ходе работы при нормальном подключении к линии. После приема ответного сообщения центр регистрации может определять, что сервер нормально работает в режиме подключения к линии, и продолжает администрировать адрес сервера.
[0060] После отправки сообщения обнаружения жизнеспособности на сервер при обнаружении, что ответное сообщение, возвращаемое сервером на основании сообщения обнаружения жизнеспособности, не принимается по истечении указанного времени, центр регистрации может определять, что сервер возможно, отключен от линии в настоящее время по причине сбоя в работе, перезапуска программы и т.д., и принудительно не передает адрес сервера клиенту. Кроме того, если центр регистрации принудительно передает адрес сервера клиенту, центр регистрации может отправлять извещение, что сервер отключен от линии для клиента, благодаря чему клиент локально удаляет адрес сервера на основании извещения.
[0061] После удаления адреса отключенного от линии сервера, клиент не отправляет запрос услуги на сервер. Когда сервер снова подключается к линии, клиент повторно получает адрес сервера от центра регистрации, и отправляет запрос услуги на сервер с использованием адреса.
[0062] Следует отметить, что фиг. 2 описана лишь с использованием примера, в котором клиент получает адреса, включенные в первый блокчейн-узел, от центра регистрации. Согласно фиг. 2, поскольку первый блокчейн-узел может принимать запрос услуги, отправленный клиентом от клиента, серверам в первом блокчейн-узле нужно регистрироваться в центре регистрации, благодаря чему центр регистрации может принудительно передавать адреса серверов в первом блокчейн-узле клиенту, и клиент может отправлять запрос услуги на серверы в первом блокчейн-узле с использованием полученных адресов.
[0063] Однако, на практике вторые блокчейн-узлы в сети консенсуса также могут принимать запрос услуги, отправленный клиентом, и обрабатывать запрос услуги. Таким образом, в этом варианте осуществления настоящего изобретения серверы, включенные в каждый второй блокчейн-узел в сети консенсуса, также могут регистрироваться в центре регистрации, благодаря чему центр регистрации может принудительно передавать адреса серверов, включенных во второй блокчейн-узел, клиенту. Таким образом, клиент также может отправлять запрос услуги на серверы во втором блокчейн-узле с использованием полученных адресов.
[0064] S102. Сохранять, с использованием сервера, запрос услуги в памяти услуг, включенной в первый блокчейн-узел, и отправлять запрос услуги на каждый второй блокчейн-узел в сети консенсуса, благодаря чему каждый второй блокчейн-узел сохраняет запрос услуги в памяти услуг, включенной во второй блокчейн-узел, после приема запроса услуги.
[0065] После приема запроса услуги, отправленный клиентом, сервер, включенный в первый блокчейн-узел, может сохранять запрос услуги в памяти услуг, включенной в первый блокчейн-узел. Кроме того, сервер может отправлять запрос услуги, отправленный клиентом, на каждый второй блокчейн-узел в сети консенсуса, благодаря чему второй блокчейн-узел сохраняет запрос услуги в памяти услуг, включенной во второй блокчейн-узел после приема запроса услуги.
[0066] Сервер в первом блокчейн-узле может сначала осуществлять проверку действительности в отношении запроса услуги после приема запроса услуги. Проверка действительности может быть проверкой действительности с использованием асимметричной сигнатуры, например, алгоритма RSA, или может быть проверкой в других формах. При определении, что запрос услуги прошел проверку действительности, сервер может сохранять запрос услуги в памяти услуг, включенной в первый блокчейн-узел, и отправлять запрос услуги на каждый второй блокчейн-узел в сети консенсуса. При определении, что запрос услуги не прошел проверку действительности, сервер не сохраняет запрос услуги, но может возвращать сообщение, указывающее, что запрос услуги не удается обработать, клиенту, благодаря чему пользователь осуществляет некоторые операции после чтения сообщения с использованием клиента. Например, пользователь может повторно редактировать запрос услуги на клиенте и отправлять отредактированный запрос услуги на сервер, включенный в первый блокчейн-узел, с использованием клиента, после чтения сообщения.
[0067] В этом варианте осуществления настоящего изобретения каждый блокчейн-узел в сети консенсуса может включать в себя множество серверов. Таким образом, при отправке запроса услуги на второй блокчейн-узел серверу в первом блокчейн-узле также нужно получать адреса серверов во втором блокчейн-узле, и затем отправлять запрос услуги на серверы, включенные во второй блокчейн-узел, с использованием полученных адресов.
[0068] Таким образом, в этом варианте осуществления настоящего изобретения центру регистрации также нужно администрировать адреса серверов во втором блокчейн-узле и отправлять адреса серверов во втором блокчейн-узле на каждый сервер в первом блокчейн-узле, который показан на фиг. 3.
[0069] На фиг. 3 показана схема принудительной передачи адреса каждого сервера во втором блокчейн-узле на каждый сервер в первом блокчейн-узле центром регистрации, согласно варианту осуществления настоящего изобретения.
[0070] Согласно фиг. 3, серверы во втором блокчейн-узле также могут регистрироваться в центре регистрации после подключения к линии, благодаря чему центр регистрации получает адреса серверов во втором блокчейн-узле. Центр регистрации может проактивно получать адреса от серверов во втором блокчейн-узле, или серверы во втором блокчейн-узле могут проактивно отправлять свои адреса на центр регистрации. Конкретный способ идентичен вышеописанному способу на этапе S101 получения адресов серверов в первом блокчейн-узле центром регистрации, и детали здесь опущены.
[0071] Получив адреса серверов во втором блокчейн-узле с использованием центра регистрации, каждый сервер в первом блокчейн-узле может сохранять полученные адреса. При отправке запроса услуги на второй блокчейн-узел сервер в первом блокчейн-узле может выбирать адрес из сохраненных адресов, включенных во второй блокчейн-узел, и затем отправлять запрос услуги на сервер, соответствующий адресу, благодаря чему сервер, соответствующий адресу, сохраняет запрос услуги в памяти услуг, соответствующей второму блокчейн-узлу после приема запроса услуги.
[0072] Сервер во втором блокчейн-узле также может осуществлять проверку действительности в отношении запроса услуги после приема запроса услуги. Сервер может сохранять запрос услуги в памяти услуг, включенной во второй блокчейн-узел при определении, что запрос услуги прошел проверку действительности. Сервер не сохраняет запрос услуги при определении, что запрос услуги не прошел проверку действительности.
[0073] Следует отметить, что серверы, включенные во второй блокчейн-узел, также, возможно, отключены от линии, как упомянуто на этапе S101. Таким образом, получив адреса серверов во втором блокчейн-узле, центр регистрации может регулярно отправлять сообщение обнаружения жизнеспособности на серверы, соответствующие этим адресам. При приеме ответного сообщения, возвращаемого сервером на основании сообщения обнаружения жизнеспособности по истечении указанного времени (или в указанное время), центр регистрации может определять, что сервер все еще находится в состоянии подключения к линии, и продолжает администрировать адрес сервера. В отсутствие приема ответного сообщения, возвращаемого сервером на основании сообщения обнаружения жизнеспособности по истечении указанного времени, центр регистрации может определять, что сервер возможно, отключен от линии по причине сбоя в работе, нестабильности сети и т.д., и не продолжает администрировать адрес сервера, пока сервер снова не подключится к линии.
[0074] Кроме того, при определении с использованием вышеописанного способа, что некоторый сервер во втором блокчейн-узле отключен от линии, центр регистрации может отправлять извещение, что сервер отключен от линии, на серверы в первом блокчейн-узле и клиенту, благодаря чему серверы в первом блокчейн-узле и клиент удаляют адрес сервера после приема извещения, и затем не отправляют запрос услуги на сервер, соответствующий адресу, пока сервер снова не подключится к линии. Повторно получив адрес сервера от центра регистрации, серверы в первом блокчейн-узле и клиент могут отправлять запрос услуги на сервер, соответствующий адресу, с использованием полученного адреса.
[0075] На фиг. 3 показан лишь случай, когда серверы, включенные в один второй блокчейн-узел, регистрируются в центре регистрации. На практике, существует множество вторых блокчейн-узлов в сети консенсуса. Таким образом, серверы в каждом втором блокчейн-узле в сети консенсуса могут регистрироваться в центре регистрации после подключения к линии, благодаря чему центр регистрации получает адреса серверов во втором блокчейн-узле и принудительно передает полученные адреса на серверы в первом блокчейн-узле. Другими словами, каждый сервер в первом блокчейн-узле сохраняет адреса серверов, включенных в каждый второй блокчейн-узел в сети консенсуса.
[0076] Следует отметить, что на практике вся сеть консенсуса включает в себя множество блокчейн-узлов. Первый блокчейн-узел, упомянутый в этом варианте осуществления настоящего изобретения, является блокчейн-узлом, который принимает запрос услуги, отправленный клиентом, и блокчейн-узлы, отличные от первого блокчейн-узла, могут именоваться вторыми блокчейн-узлами в этом варианте осуществления настоящего изобретения. Первый блокчейн-узел и второй блокчейн-узел являются относительными терминами. В частности, блокчейн-узел, который принимает запрос услуги от клиента, может именоваться первым блокчейн-узлом, и блокчейн-узел, который принимает запрос услуги, отправленный первым блокчейн-узлом, может именоваться вторым блокчейн-узлом. Поскольку все блокчейн-узлы в сети консенсуса могут принимать запрос услуги, отправленный клиентом, блокчейн-узлы могут быть, по существу, первыми блокчейн-узлами или могут быть вторыми блокчейн-узлами. Разделение между первым блокчейн-узлом и вторым блокчейн-узлом зависит от того, где принят запрос услуги.
[0077] Безусловно, в процессе проверки консенсуса разделение между первым блокчейн-узлом и вторым блокчейн-узлом также может определяться на основании того, какой узел инициирует проверку консенсуса. В частности, инициатор проверки консенсуса, который отправляет блок предобработки, который включает в себя по меньшей мере один запрос услуги, в сеть консенсуса, может быть первым блокчейн-узлом, и блокчейн-узел, который принимает блок предобработки, может именоваться вторым блокчейн-узлом.
[0078] S103. Выбирать сервер из множества серверов, включенных в первый блокчейн-узел, и получать по меньшей мере один запрос услуги из памяти услуг, включенной в первый блокчейн-узел, с использованием выбранного сервера, в фазе консенсуса по услуге.
[0079] В этом варианте осуществления настоящего изобретения серверу в первом блокчейн-узле нужно осуществлять консенсус (согласование) по услуге в отношении запроса услуги в памяти услуг, включенной в первый блокчейн-узел. Таким образом, в фазе консенсуса по услуге, сервер в первом блокчейн-узле может получать по меньшей мере один запрос услуги из памяти услуг, включенной в первый блокчейн-узел, и затем упаковывать полученный запрос услуги в блок предобработки и отправлять блок предобработки на каждый второй блокчейн-узел в сети консенсуса для консенсуса по услуге.
[0080] В этом варианте осуществления настоящего изобретения помимо множества серверов и памяти услуг, первый блокчейн-узел дополнительно включает в себя инициатор запланированной задачи, и инициатор запланированной задачи используется для периодического инициирования консенсуса по услуге для каждого блокчейн-узла в сети консенсуса с использованием сервера в первом блокчейн-узле. Однако, поскольку первый блокчейн-узел включает в себя множество серверов, инициатор запланированной задачи может выбирать сервер из множества серверов, включенных в первый блокчейн-узел в фазе консенсуса по услуге, и затем сервер получает по меньшей мере один запрос услуги из памяти услуг, включенной в первый блокчейн-узел.
[0081] В этом варианте осуществления настоящего изобретения инициатор запланированной задачи может быть аппаратным устройством или принимать форму программного обеспечения. Для формы программного обеспечения, инициатор запланированной задачи может быть установлен на некотором сервере в первом блокчейн-узле. В ходе работы на сервере инициатор запланированной задачи может выбирать сервер из серверов, включенных в первый блокчейн-узел в фазе консенсуса по услуге, и отправлять извещение на выбранный сервер с использованием сервера, где располагается инициатор запланированной задачи, благодаря чему выбранный сервер получает по меньшей мере один запрос из памяти услуг, включенной в первый блокчейн-узел, после приема извещения.
[0082] В процессе получения каждого запроса услуги из памяти услуг (а именно, памяти услуг, включенной в первый блокчейн-узел) сервер может получать каждый запрос услуги на основании временной последовательности, которую каждый запрос услуги сохраняет в памяти услуг, или может получать каждый запрос услуги на основании типа услуги каждого запроса услуги, или может получать каждый запрос услуги на основании уровня услуги каждого запроса услуги. Существует много способов получения, и детали здесь опущены.
[0083] S104: упаковка по меньшей мере одного запроса услуги в блок предобработки с использованием выбранного сервера, и отправка блока предобработки на каждый второй блокчейн-узел в сети консенсуса с использованием выбранного сервера, благодаря чему каждый второй блокчейн-узел осуществляет консенсус по услуге в отношении блока предобработки.
[0084] Получив по меньшей мере один запрос услуги из памяти услуг, включенной в первый блокчейн-узел, сервер в первом блокчейн-узле может обрабатывать полученные запросы услуги и упаковывать запросы услуги в блок предобработки. Сервер может сортировать полученные запросы услуги на основании заранее определенного правила сортировки для получения результата сортировки запросов услуги, и определять, с использованием заранее определенного правила определения идентификатора и результата сортировки, проверяемый идентификатор, который однозначно соответствует запросам услуги. Затем сервер может упаковывать полученные запросы услуги, результат сортировки запросов услуги и определенный проверяемый идентификатор в один блок предобработки, и затем отправлять блок предобработки на серверы, включенные во второй блокчейн-узел.
[0085] Конкретный способ определения проверяемого идентификатора сервером может быть показан на фиг. 4.
[0086] На фиг. 4 показана схема определения проверяемого идентификатора сервером, согласно варианту осуществления настоящего изобретения.
[0087] Согласно фиг. 4, сервер в первом блокчейн-узле (а именно, сервер, определенный с использованием инициатора запланированной задачи, включенный в первый блокчейн-узел) получает четыре запроса услуги, показанные на фиг. 4, из памяти услуг, включенной в первый блокчейн-узел. Сервер может сортировать четыре запроса услуги на основании заранее определенного правила сортировки, для получения результата сортировки, показанного на фиг. 4. Затем сервер может по отдельности определять дочерние идентификаторы Hash1 - Hash4, соответствующие четырем запросам услуги, на основании заранее определенного правила определения идентификатора: алгоритма хэширования и помещения определенных четырех дочерних идентификаторов в краевые узлы дерева Меркла слева направо на основании полученного результата сортировки, для определения значения Hash7 в корневом узле дерева Меркла. Сервер может определять определенное значение Hash7 в корневом узле дерева Меркла в качестве проверяемого идентификатора, который однозначно соответствует четырем запросам услуги, и затем упаковывать определенный проверяемый идентификатор, результат сортировки и четыре запроса услуги в один блок предобработки.
[0088] Следует отметить, что способ определения проверяемого идентификатора, показанный на фиг. 4 не является уникальным. Например, помимо определения проверяемого идентификатора, который однозначно соответствует запросам услуги с использованием алгоритма хэширования в качестве заранее определенного правила определения идентификатора, сервер в первом блокчейн-узле может дополнительно определять проверяемый идентификатор, который однозначно соответствует запросам услуги с использованием алгоритма, например, алгоритма сборника сообщений 5 (MD5), при условии, что определенный проверяемый идентификатор однозначно соответствует запросам услуги. Помимо формы, показанной на фиг. 4, дерево Меркла может дополнительно иметь другие формы. Детали здесь опущены.
[0089] Безусловно, в этом варианте осуществления настоящего изобретения помимо дерева Меркла сервер в первом блокчейн-узле может дополнительно определять проверяемый идентификатор, который однозначно соответствует запросам услуги с использованием других способов. Например, после определения дочерних идентификаторов, соответствующих запросам услуги, сервер может сортировать определенные дочерние идентификаторы на основании некоторой последовательности, снова шифровать сортированный результат, и использовать зашифрованный результат в качестве проверяемого идентификатора, который однозначно соответствует запросам услуги. Альтернативно, после определения дочерних идентификаторов, соответствующих запросам услуги, сервер может генерировать универсально уникальный ID с использованием алгоритма снежинки и использовать ID в качестве проверяемого идентификатора, который однозначно соответствует запросам услуги. Альтернативно, сервер может определять универсально уникальный идентификатор (UUID) определенных дочерних идентификаторов, соответствующих запросам услуги, и использовать UUID в качестве проверяемого идентификатора, который однозначно соответствует запросам услуги. Безусловно, существуют и другие способы определения, и детали здесь опущены, при условии, что гарантируется, что определенный проверяемый идентификатор может однозначно соответствовать запросам услуги.
[0090] После определения блока предобработки, сервер в первом блокчейн-узле (а именно, сервер, выбранный с использованием инициатора запланированной задачи в первом блокчейн-узле в фазе консенсуса по услуге) может отправлять блок предобработки на каждый второй блокчейн-узел в сети консенсуса. Однако, каждый второй блокчейн-узел в сети консенсуса включает в себя множество серверов. Таким образом, при отправке блока предобработки сервер в первом блокчейн-узле нужно определить сервер в каждом втором блокчейн-узле, на который отправляется блок предобработки.
[0091] В этом варианте осуществления настоящего изобретения каждый сервер в первом блокчейн-узле может получать адреса серверов, включенных в каждый второй блокчейн-узел в сети консенсуса от центра регистрации. Таким образом, когда серверу в первом блокчейн-узле нужно отправлять блок предобработки на некоторый второй блокчейн-узел в сети консенсуса, сервер может выбирать адрес из сохраненных адресов серверов во втором блокчейн-узле (сохраненные адреса являются адресами серверов во втором блокчейн-узле, которые находятся в состоянии подключения к линии), и отправлять блок предобработки на сервер, соответствующий адресу, благодаря чему сервер, соответствующий адресу, осуществляет проверку консенсуса на блоке предобработки после приема блока предобработки.
[0092] Существует множество вторых блокчейн-узлов в сети консенсуса. Таким образом, при отправке блока предобработки на каждый второй блокчейн-узел, сервер в первом блокчейн-узле может по отдельности определять из сохраненных адресов с использованием вышеописанного способа серверы в каждом втором блокчейн-узле, которые принимают блок предобработки, и затем по отдельности отправлять блок предобработки на серверы в каждом втором блокчейн-узле с использованием определенных адресов.
[0093] Для второго блокчейн-узла после приема блока предобработки, отправленного сервером в первом блокчейн-узле, сервер, включенный во второй блокчейн-узел, может анализировать блок предобработки, для определения запросов услуги, включенных в блок предобработки, результата сортировки запросов услуги и проверяемого идентификатора. Затем сервер во втором блокчейн-узле может находить запросы услуги, которые совпадают с запросами услуги, включенными в блок предобработки, из памяти услуг, включенной во второй блокчейн-узел, и определять, с использованием заранее определенного правила определения идентификатора и определенного результата сортировки запросов услуги, идентификатор, который однозначно соответствует запросам услуги, найденным из памяти услуг, включенной во второй блокчейн-узел. Заранее определенное правило определения идентификатора, упомянутое здесь, идентично правилу определения идентификатора, используемому сервером в первом блокчейн-узле.
[0094] Сервер во втором блокчейн-узле может сравнивать определенный идентификатор с проверяемым идентификатором, который включается в блок предобработки после определения идентификатора, и может определять, что блок предобработки проходит локальную проверку консенсуса (другими словами, которая осуществляется сервером во втором блокчейн-узле) при определении, что они согласуются, и затем сохранять результат проверки в памяти услуг, включенной во второй блокчейн-узел, и отправлять результат проверки на другие блокчейн-узлы в сети консенсуса (упомянутые здесь другие блокчейн-узлы включают в себя каждый второй блокчейн-узел и первый блокчейн-узел).
[0095] Способ отправки результата проверки сервером во втором блокчейн-узле идентичен способу отправки запроса услуги или блок предобработки на каждый второй блокчейн-узел в сети консенсуса сервером в первом блокчейн-узле. В частности, когда серверу во втором блокчейн-узле необходимо отправлять результат проверки на некоторый блокчейн-узел в сети консенсуса (который может быть вторым блокчейн-узлом, или может быть первым блокчейн-узлом), сервер может выбирать адрес из локально сохраненных адресов серверов в блокчейн-узле, и отправлять результат проверки на сервер, соответствующий адресу. Приняв результат проверки, сервер, соответствующий адресу, может сохранять результат проверки в памяти услуг, включенной в блокчейн-узел, которому принадлежит сервер.
[0096] Когда сервер во втором блокчейн-узле отправляет результат проверки на каждый блокчейн-узел в сети консенсуса, другие серверы во втором блокчейн-узле или сервер также могут принимать результаты проверки блока предобработки, которые отправляются другими блокчейн-узлами в сети консенсуса, и сохранять все принятые результаты проверки в памяти услуг, включенной во второй блокчейн-узел. Затем сервер (сервер может быть сервером, который принимает блок предобработки) во втором блокчейн-узле может определять, из памяти услуг, включенной во второй блокчейн-узел, результат проверки (включающий в себя результат проверки, полученный сервером) в отношении блока предобработки, который получается каждым блокчейн-узлом в сети консенсуса, и определять результат полной проверки в отношении блока предобработки, который получается каждым блокчейн-узлом в сети консенсуса. Затем сервер может отправлять определенный результат полной проверки на каждый блокчейн-узел в сети консенсуса с использованием способа, который идентичен способу отправки результата проверки, и сохранять результат полной проверки в памяти услуг, включенной во второй блокчейн-узел.
[0097] После того как сервер во втором блокчейн-узле отправляет результат полной проверки, другие серверы во втором блокчейн-узле или сервер (а именно, сервер, который отправляет результат полной проверки) также могут принимать результат полной проверки в отношении блока предобработки, который отправляется каждым блокчейн-узлом (включающим в себя каждый второй блокчейн-узел и первый блокчейн-узел) в сети консенсуса, и сохранять полную проверку в памяти услуг, включенной во второй блокчейн-узел.
[0098] Сервер (а именно, сервер, который отправляет результат полной проверки) во втором блокчейн-узле может получать результат полной проверки, отправленный другими блокчейн-узлами в сети консенсуса из памяти услуг, включенной во второй блокчейн-узел, определять, с использованием принятого результата полной проверки и результата полной проверки, определенного сервером, удается ли блоку предобработки достигнуть консенсуса по услуге в сети консенсуса, и записывать каждый запрос услуги, включенный в блок предобработки, в блокчейн (цепочку блоков), в котором второй блокчейн-узел сохраняется, если определение, что каждому запросу услуги, включенному в блок предобработки, удается достигнуть консенсуса по услуге в сети консенсуса на основании результатов полной проверки (включающих в себя результат полной проверки, определенный сервером), сохраненных в памяти услуг, или иначе не записывать каждый запрос услуги в блокчейн. Сервер во втором блокчейн-узле может записывать полное содержание каждого запроса услуги в блокчейн, или может записывать только сборник информации каждого запроса услуги в блокчейн.
[0099] Вышеописанный процесс консенсуса по услуге относительно сложен. Для простоты понимания, ниже приведен простой пример, отчетливо описывающий процесс осуществления консенсуса по услуге в отношении блока предобработки сервером во втором блокчейн-узле, который показан на фиг. 5.
[0100] На фиг. 5 показана схема, демонстрирующая процесс осуществления консенсуса по услуге в отношении блока предобработки сервером во втором блокчейн-узле, согласно варианту осуществления настоящего изобретения.
[0101] Предположим, что в сети консенсуса существует три блокчейн-узла: первый блокчейн-узел, второй блокчейн-узел A и второй блокчейн-узел B. Каждый сервер в трех узлах блокчейна соответственно сохраняет адреса серверов, включенных в другие два блокчейн-узла. Сервер #3 в первом блокчейн-узле получает по меньшей мере один запрос услуги из памяти услуг, включенной в первый блокчейн-узел, упаковывает по меньшей мере один запрос услуги в блок предобработки, и отправляет блок предобработки на другие два блокчейн-узла. Сервер #3 определяет по отдельности отправлять блок предобработки на сервер A1 и сервер B1 с использованием адресов серверов, включенных в другие два блокчейн-узла, которые сохраняются на сервере #3.
[0102] После приема блока предобработки сервер A1 и сервер B1 могут осуществлять проверку консенсуса в отношении блока предобработки, и соответственно сохранять полученные результаты проверки для блока предобработки в блоках памяти услуг, включенных в блокчейн-узлы, которым принадлежат сервер A1 и сервер B1. Кроме того, сервер A1 и сервер B1 могут соответственно отправлять определенные результаты проверки на другие два блокчейн-узла в сети консенсуса. Сервер A1 определяет отправлять результат проверки, полученный сервером A1, на сервер #2 в первом блокчейн-узле, и сервером B2 во втором блокчейн-узле B на основании адресов серверов в двух других узлах блокчейна, которые сохраняются на сервере A1, и сервер B1 определяет отправлять результат проверки, полученный сервером B1, на сервер #3 в первом блокчейн-узле и сервер A3 во втором блокчейн-узле A.
[0103] После раздельного приема результатов проверки, отправленных серверами в двух других блокчейн-узлах, серверы в трех блокчейн-узлах в сети консенсуса могут сохранять принятые результаты проверки в блоках памяти услуг, включенных в блокчейн-узлы. Сервер A1 (а именно, сервер, который принимает блок предобработки) может получать результаты проверки (включающий в себя результат проверки, полученный сервером A1) из памяти услуг, включенной во второй блокчейн-узел A, и получать результат полной проверки блокчейн-узлов в сети консенсуса для блока предобработки на основании эти результаты проверки. Сервер A1 может сохранять полученный результат полной проверки в памяти услуг, включенной во второй блокчейн-узел A, и отправлять результат полной проверки на другие два блокчейн-узла. Способ отправки идентичен способу отправки результата проверки, и детали здесь опущены. Сервер #3 (а именно, сервер, который отправляет консенсус по услуге) и сервер B1 (сервер, который принимает блок предобработки) также может определять результат полной проверки для блока предобработки с использованием такого способа, и отправлять полученный результат полной проверки на другие два блокчейн-узла в сети консенсуса.
[0104] После приема результатов проверки, отправленных двумя другими блокчейн-узлами, серверы в блокчейн-узлах в сети консенсуса могут сохранять принятые результаты проверки в блоках памяти услуг, включенных в блокчейн-узлы.
[0105] Сервер A1 может получать результаты полной проверки (включающий в себя результат полной проверки, полученный сервером A1) для блока предобработки, которые отправляются блокчейн-узлами, из памяти услуг, включенной во второй блокчейн-узел A. Затем сервер A1 может определять, удается ли блоку предобработки достигнуть консенсуса по услуге в сети консенсуса на основании результатов полной проверки. Если да, сервер A1 записывает каждый запрос услуги, включенный в блок предобработки, в блокчейн второго блокчейн-узла A, и если нет, сервер A1 не записывает каждый запрос услуги в блокчейн. Аналогично, сервер #3 и сервер B1 также может получать, с использованием такого способа, результаты полной проверки из блоков памяти услуг, включенных в блокчейн-узлы, которым принадлежат сервер #3 и сервер B1, и определять, на основании полученных результатов полной проверки, записывать ли каждый запрос услуги, включенный в блок предобработки, в блокчейн-узлы сервера #3 и сервер B1.
[0106] Из вышеописанного способа следует, что каждый блокчейн-узел в сети консенсуса включает в себя множество серверов. Таким образом, при условии, что один из серверов в каждом блокчейн-узле находится в состоянии подключения к линии, другими словами, доступен, блокчейн-узел является доступным блокчейн-узлом в сети консенсуса, что значительно повышает устойчивость блокчейн-узла в сети консенсуса. Кроме того, каждый блокчейн-узел включает в себя множество серверов, и функции и статусы серверов одинаковы для блокчейн-узла. Другими словами, по сравнению с существующей технологией, эквивалентные серверы добавляются в блокчейн-узел. Это значительно повышает производительность блокчейн-узла, и, таким образом, эффективность обработки услуг блокчейн-узла значительно повышается.
[0107] Следует отметить, что в процессе консенсуса по услуге, каждый блокчейн-узел в сети консенсуса может определять результат проверки, полученный блокчейн-узлом для блока предобработки, отправлять полученный результат проверки на другие блокчейн-узлы в сети консенсуса, и сохранять результат проверки в памяти услуг, соответствующей блокчейн-узлу. Блокчейн-узел может осуществлять проверку консенсуса в отношении блока предобработки с использованием первого сервера, включенного в блокчейн-узел, и первый сервер может быть заданным сервером в блокчейн-узле, или может быть сервером, выбранным из серверов, включенных в блокчейн-узел.
[0108] Кроме того, блокчейн-узел также принимает результат проверки, отправленный другими блокчейн-узлами в сети консенсуса для блока предобработки. Блокчейн-узел может принимать, с использованием сервера, включенного в блокчейн-узел, результат проверки, отправленный другими блокчейн-узлами, и сохранять принятый результат проверки в памяти услуг, соответствующей блокчейн-узлу. Здесь, сервер, который принимает результат проверки, отправленный другими блокчейн-узлами может именоваться вторым сервером. Вторым сервером может быть любой сервер в блокчейн-узле, и безусловно, может быть вышеописанный первый сервер. Второй сервер для приема результата проверки, отправленного другими блокчейн-узлами, зависит от второго сервера, выбранного сервером, включенным в другие блокчейн-узлы, для приема результата проверки, отправленного другими блокчейнами.
[0109] На этапе S101, помимо произвольного выбора адреса из сохраненных адресов серверов в первом блокчейн-узле, клиент также может выбирать адрес на основании статуса выравнивания нагрузки. Таким образом, при принудительной передаче адресов серверов в первом блокчейн-узле клиенту, центр регистрации может одновременно принудительно передавать статусы нагрузки серверов клиенту, благодаря чему клиент выбирает адрес слабо нагруженного сервера из адресов с использованием заранее определенного алгоритма выравнивания нагрузки и отправляет запрос услуги на сервер, соответствующий адресу.
[0110] Аналогично, при отправке запроса услуги на каждый второй блокчейн-узел в сети консенсуса, сервер в первом блокчейн-узле также может выбирать сервер из сохраненных адресов на основании способа выравнивания нагрузки. Безусловно, сервер в первом блокчейн-узле также может отправлять блок предобработки на основании способа выравнивания нагрузки, и каждый блокчейн-узел в сети консенсуса также может отправлять результат проверки и результат полной проверки на основании способа выравнивания нагрузки. Конкретный процесс идентичен способу отправки запроса услуги на первый блокчейн-узел клиентом на основании способа выравнивания нагрузки, и детали здесь опущены.
[0111] В этом варианте осуществления настоящего изобретения помимо выбора сервера, который инициирует консенсус по услуге с использованием инициатора запланированной задачи, периоды консенсуса могут дополнительно соответственно устанавливаться на серверах в блокчейн-узле (включающем в себя первый блокчейн-узел и второй блокчейн-узел), и разные серверы имеют разные периоды консенсуса. При обнаружении, что текущее время достигает периода консенсуса сервера, сервер может получать по меньшей мере один запрос услуги из памяти услуг в блокчейн-узле, которому принадлежит сервер.
[0112] В этом варианте осуществления настоящего изобретения сервер в блокчейн-узле (включающем в себя первый блокчейн-узел и второй блокчейн-узел) также может ретранслировать запрос услуги на другие серверы в блокчейн-узле после приема запроса услуги, и другие серверы сохраняют запрос услуги в памяти услуг, включенной в блокчейн-узел. После приема блока предобработки, отправленного первым блокчейн-узлом, сервер в каждом втором блокчейн-узле в сети консенсуса также может ретранслировать блок предобработки на другие серверы во втором блокчейн-узле для проверки консенсуса, и сохранять полученный результат проверки в памяти услуг, включенной во второй блокчейн-узел.
[0113] Выше описан способ консенсуса по услуге согласно вариантам осуществления настоящего изобретения. На основании той же идеи, вариант осуществления настоящего изобретения дополнительно предусматривает следующие устройства обработки услуг и устройства консенсус по услуге, которые показаны на фиг. 6-12.
[0114] На фиг. 6 показана структурная схема, демонстрирующая устройство обработки услуг, согласно варианту осуществления настоящего изобретения в частности, включающее в себя: модуль 601 приема, выполненный с возможностью приема запроса услуги, отправленного клиентом; модуль 602 хранения, выполненный с возможностью сохранения запроса услуги в памяти услуг, соответствующей устройству; и модуль 603 отправки, выполненный с возможностью отправки запроса услуги на каждый второй блокчейн-узел в сети консенсуса, благодаря чему каждый второй блокчейн-узел сохраняет запрос услуги в памяти услуг, включенной во второй блокчейн-узел, после приема запроса услуги, где второй блокчейн-узел включает в себя множество серверов и по меньшей мере одну память услуг.
[0115] Устройство дополнительно включает в себя: модуль 604 регистрации, выполненный с возможностью отправки адреса устройства в центр регистрации, когда определено, что устройство подключено к линии, благодаря чему центр регистрации отправляет адрес клиенту и каждому второму блокчейн-узлу в сети консенсуса.
[0116] Устройство дополнительно включает в себя: модуль 605 получения, выполненный с возможностью получения адресов множества серверов, включенных в каждый второй блокчейн-узел, от центра регистрации.
[0117] Модуль 603 отправки, в частности, выполнен с возможностью выбора адреса из полученных адресов множества серверов, включенных в каждый второй блокчейн-узел; и отправки запроса услуги на сервер, соответствующий выбранному адресу.
[0118] Модуль 602 хранения, в частности, выполнен с возможностью осуществления проверки действительности в отношении запроса услуги; и сохранения запроса услуги в памяти услуг, когда определено, что запрос услуги прошел проверку действительности.
[0119] Модуль 602 хранения дополнительно выполнен с возможностью пропуска сохранения запроса услуги, когда определено, что запрос услуги не прошел проверку действительности.
[0120] Блокчейн-узел включает в себя множество устройств.
[0121] На фиг. 7 показана структурная схема, демонстрирующая устройство обработки услуг, согласно варианту осуществления настоящего изобретения, в частности, включающее в себя: модуль 701 приема запроса, выполненный с возможностью приема запроса услуги, отправленного первым блокчейн-узлом, где первый блокчейн-узел включает в себя множество серверов и по меньшей мере одну память услуг; и модуль 702 хранения запроса, выполненный с возможностью сохранения запроса услуги в памяти услуг, соответствующей устройству.
[0122] Устройство дополнительно включает в себя: модуль 703 регистрации, выполненный с возможностью отправки адреса устройства в центр регистрации, когда определено, что устройство подключено к линии, благодаря чему центр регистрации отправляет адрес на первый блокчейн-узел, клиенту и на другие вторые блокчейн-узлы в сети консенсуса.
[0123] Модуль 702 хранения запроса, в частности, выполнен с возможностью осуществления проверки действительности в отношении запроса услуги; и сохранения запроса услуги в памяти услуг, когда определено, что запрос услуги прошел проверку действительности.
[0124] Модуль 702 хранения запроса дополнительно выполнен с возможностью пропуска сохранения запроса услуги, когда определено, что запрос услуги не прошел проверку действительности.
[0125] На фиг. 8 показана структурная схема, демонстрирующая устройство обработки услуг, согласно варианту осуществления настоящего изобретения, в частности, включающее в себя: модуль 801 приема информации, выполненный с возможностью приема информации об услуге, введенной пользователем; модуль 802 генерации запроса, выполненный с возможностью генерации соответствующего запроса услуги на основании информации об услуге; и модуль 803 отправки, выполненный с возможностью отправки запроса услуги на сервер, включенный в первый блокчейн-узел, благодаря чему первый блокчейн-узел сохраняет принятый запрос услуги в памяти услуг, включенной в первый блокчейн-узел; и отправки запроса услуги на каждый второй блокчейн-узел в сети консенсуса, где первый блокчейн-узел включает в себя множество серверов и по меньшей мере одну память услуг, и второй блокчейн-узел включает в себя множество серверов и по меньшей мере одну память услуг.
[0126] Модуль 803 отправки, в частности, выполнен с возможностью получения адресов множества серверов, включенных в первый блокчейн-узел, от центра регистрации; и выбора адреса из полученных адресов множества серверов, включенных в первый блокчейн-узел, и отправки запроса услуги на сервер, соответствующий выбранному адресу.
[0127] Устройство дополнительно включает в себя: модуль 804 удаления, выполненный с возможностью удаления адреса некоторого сервера, когда принимается извещение об отключении от линии отправленный центром регистрации для сервера.
[0128] На фиг. 9 показана структурная схема, демонстрирующая устройство консенсуса по услуге, согласно варианту осуществления настоящего изобретения в частности, включающее в себя: модуль 901 получения запроса, выполненный с возможностью получения по меньшей мере одного запроса услуги из памяти услуг, соответствующей устройству; и модуль 902 отправки, выполненный с возможностью упаковки по меньшей мере одного запроса услуги в блок предобработки и отправки блока предобработки на каждый второй блокчейн-узел в сети консенсуса, благодаря чему каждый второй блокчейн-узел осуществляет консенсус по услуге в отношении блока предобработки, где второй блокчейн-узел включает в себя множество серверов и по меньшей мере одну память услуг.
[0129] Устройство дополнительно включает в себя: модуль 903 получения адресов, выполненный с возможностью получения адресов множества серверов, включенных в каждый второй блокчейн-узел, от центра регистрации.
[0130] Модуль 902 отправки, в частности, выполнен с возможностью выбора адреса из полученных адресов множества серверов, включенных в каждый второй блокчейн-узел; и отправки блока предобработки на сервер, соответствующий выбранному адресу, благодаря чему сервер, соответствующий выбранному адресу, осуществляет консенсус по услуге на принятом блоке предобработки.
[0131] На фиг. 10 показана структурная схема, демонстрирующая устройство консенсуса по услуге, согласно варианту осуществления настоящего изобретения в частности, включающее в себя: модуль 1001 выбора, выполненный с возможностью выбора сервера из множества серверов, включенных в первый блокчейн-узел, где первый блокчейн-узел включает в себя множество серверов и по меньшей мере одну память услуг.
[0132] Модуль 1001 выбора, в частности, выполнен с возможностью обнаружения, удовлетворяет ли текущий момент условию инициатора задачи; и выбора сервера из множества серверов, включенных в первый блокчейн-узел, при обнаружении, что условие инициатора задачи выполняется.
[0133] На фиг. 11 показана структурная схема, демонстрирующая устройство консенсуса по услуге, согласно варианту осуществления настоящего изобретения, в частности, включающее в себя: модуль 1101 получения, выполненный с возможностью получения блока предобработки; и модуль 1102 консенсуса, выполненный с возможностью осуществления консенсуса по услуге в отношении блока предобработки на основании каждого запроса услуги, сохраненного в памяти услуг, соответствующей устройству.
[0134] Модуль 1102 консенсуса, в частности, выполнен с возможностью осуществления проверки консенсуса на блоке предобработки, для получения результата проверки; приема каждого результата проверки, отправленного другими блокчейн-узлами в сети консенсуса, и сохранения каждого принятого результата проверки в памяти услуг, соответствующей устройству; и получения каждого результата проверки из памяти услуг, и осуществления консенсуса по услуге в отношении блока предобработки с использованием каждого полученного результата проверки.
[0135] На фиг. 12 показана структурная схема, демонстрирующая устройство консенсуса по услуге, согласно варианту осуществления настоящего изобретения, в частности, включающее в себя: модуль 1201 получения, выполненный с возможностью получения адресов множества серверов, включенных в каждый блокчейн-узел в сети консенсуса, где каждый блокчейн-узел включает в себя множество серверов и по меньшей мере одну память услуг; и модуль 1202 отправки, выполненный с возможностью отправки полученных адресов множества серверов, включенных в блокчейн-узел, на другие блокчейн-узлы в сети консенсуса и клиенту для хранения.
[0136] Устройство дополнительно включает в себя: модуль 1203 извещения, выполненный с возможностью отправки сообщения обнаружения жизнеспособности на множество серверов, включенных в каждый блокчейн-узел в сети консенсуса на основании полученных адресов множества серверов, включенных в блокчейн-узел; и в отсутствие ответного сообщения, возвращаемого каждым сервером, включенным в блокчейн-узел, на основании сообщения обнаружения жизнеспособности принимается по истечении указанного времени, определения, что сервер отключен от линии, и предписания клиенту и другим блокчейн-узлам в сети консенсуса удалять сохраненный адрес сервера.
[0137] Варианты осуществления настоящего изобретения предусматривают способ и устройство обработки услуг и консенсуса. Согласно способу, первый блокчейн-узел включает в себя множество серверов. Первый блокчейн-узел может принимать запрос услуги, отправленный клиентом и сохранять запрос услуги с использованием множества включенных серверов, получать по меньшей мере один запрос услуги из памяти услуг, включенной в первый блокчейн-узел с использованием сервера во множестве серверов, для получения блока предобработки, и отправлять блок предобработки на каждый второй блокчейн-узел в сети консенсуса с использованием сервера, для осуществления консенсуса по услуге в отношении блока предобработки с использованием каждого второго блокчейн-узла. Можно гарантировать, что первый блокчейн-узел доступен, при условии, что доступен один сервер во множестве серверов, включенных в первый блокчейн-узел. Таким образом, повышается устойчивость первого блокчейн-узла в сети консенсуса. Кроме того, каждый сервер, включенный в первый блокчейн-узел может принимать запрос услуги, отправленный пользователем с использованием клиента, и каждый сервер может инициировать консенсус по услуге на каждый второй блокчейн-узел в сети консенсуса. Таким образом, эффективность обработки услуг услуги блокчейна значительно повышается.
[0138] В 1990-х годах усовершенствование технологии может отчетливо различаться между усовершенствованием оборудования (например, усовершенствованием в структуре схемы, например, диода, транзистора или коммутатора) и усовершенствованием программного обеспечения (усовершенствованием в процедуре способа). Однако, с развитием технологий, усовершенствование многих процедур способа можно рассматривать как прямое усовершенствование аппаратной структуры схемы. Почти все разработчики программируют усовершенствованную процедуру способа в аппаратную схему для получения соответствующей аппаратной структуры схемы. Таким образом, нельзя сказать, что усовершенствование процедуры способа нельзя реализовать с использованием модуля аппаратного узла. Например, программируемое логическое устройство (PLD) (например, вентильная матрица, программируемая пользователем (FPGA)) является такой интегральной схемой. Логическая функция программируемого логического устройства определяется программированием компонентов, выполняемым пользователем. Разработчики осуществляют произвольное программирование для "интегрирования" цифровой системы в одиночное PLD, не требуя от производителя микросхем конструировать и создавать специализированную интегральную микросхему. Кроме того, вместо того, чтобы вручную создавать интегральную микросхему, программирование, по большей части, реализуется программным обеспечением "логического компилятора", аналогичным программному обеспечению компилятора, используемому при разработке программы. Исходный код до компиляции также записывается на конкретном языке программирования, который именуется языком описания оборудования (HDL), и существует более чем один тип HDL, например, ABEL (усовершенствованный язык булевых выражений), AHDL (язык описания оборудования фирмы Altera), Confluence, CUPL (язык программирования Корнелльского университета), HDCal, JHDL (язык описания оборудования Java), Lava, Lola, MyHDL, PALASM, и RHDL (язык описания оборудования Ruby) и т.д. В настоящее время наиболее широко используются VHDL (язык описания оборудования для сверхвысокоскоростных интегральных схем) и Verilog. Специалист в данной области техники также должен понимать, что процедура способа должна только логически программироваться, и программироваться в интегральную схему с использованием предыдущих языков описания оборудования, благодаря чему легко получить аппаратную схему, которая реализует логическую процедуру способа.
[0139] Контроллер может быть реализован с использованием любого подходящего способа. Например, контроллер может быть микропроцессором или процессором, или компьютерно-считываемым носителем, логическим вентилем, коммутатором, специализированной интегральной схемой (ASIC), программируемым логическим контроллером, или встроенным микропроцессором, где хранится компьютерно-считываемый программный код (например, программное обеспечение или программно-аппаратное обеспечение), который может выполняться микропроцессором или процессором. Примеры контроллера включают в себя, но без ограничения, следующие микропроцессоры: ARC 625D, Atmel AT91SAM, Microchip PIC18F26K20, и Silicone Labs C8051F320. Контроллер памяти можно также реализовать как часть управляющей логики памяти. Специалисту в данной области техники также известно, что контроллер может быть реализован с использованием чистого компьютерно-считываемого программного кода, и этапы согласно способу могут быть логически запрограммированы, чтобы контроллер дополнительно реализовал одни и те же функции в форме логического вентиля, коммутатора, специализированной интегральной схемы, программируемого логического контроллера, встроенного микроконтроллера и т.д. Таким образом, контроллер можно рассматривать как аппаратный компонент, и устройство, которое включено в контроллер и выполнено с возможностью осуществления различных функций также может рассматриваться как структура в аппаратном компоненте. Альтернативно, устройство, выполненное с возможностью осуществления различных функций, можно рассматривать как программный модуль для осуществления способа и структуры в аппаратном компоненте.
[0140] Система, устройство, модуль или блок, описанные в описанных вариантах осуществления, могут быть реализованы микросхемой или узлом компьютера, или продуктом с некоторой функцией. В типичном варианте осуществления устройство является компьютером. Компьютером может быть, например, персональный компьютер, портативный компьютер, сотовый телефон, камерафон, смартфон, персональный цифровой помощник, медиапроигрыватель, навигационное устройство, устройство электронной почты, игровая консоль, планшетный компьютер или носимое устройство, или комбинация любого из этих устройств.
[0141] Для простоты описания, описанное устройство описано путем разделения функций на различные блоки. Безусловно, когда осуществляется настоящее изобретение, функции блоков могут быть реализованы в одном или более экземпляров программного обеспечения и/или оборудования.
[0142] Специалисту в данной области техники очевидно, что варианты осуществления настоящей заявки могут быть реализованы как способ, система или компьютерный программный продукт. Таким образом, настоящая заявка может использовать только аппаратные реализации, только программные реализации, или реализации, где сочетаются программное и аппаратное обеспечение. Кроме того, настоящая заявка может использовать форму компьютерного программного продукта, который реализован на одном или более компьютерных носителях данных (в том числе, но без ограничения, магнитном диске, CD-ROM, оптическом диске и т.д.), которые включают в себя компьютерный программный код.
[0143] Настоящее изобретение описано со ссылкой на блок-схемы операций и/или блок-схемы способа, устройства (системы) и компьютерного программного продукта согласно вариантам осуществления настоящего изобретения. Следует понимать, что инструкции компьютерной программы можно использовать для осуществления каждого процесса и/или каждого блока в блок-схемах операций и/или блок-схемах и комбинации процесса и/или блока в блок-схемах операций и/или блок-схемах. Эти инструкции компьютерной программы могут обеспечиваться для компьютера общего назначения, специализированного компьютера, встроенного процессора, или процессора любого другого программируемого устройства обработки данных для генерации машины, благодаря чему инструкции, выполняемые компьютером или процессором любого другого программируемого устройства обработки данных, генерируют устройство для реализации конкретной функции в одном или более процессах в блок-схемах операций или в одном или более блоках в блок-схемах.
[0144] Эти инструкции компьютерной программы могут храниться в компьютерно-считываемой памяти и могут предписывать компьютеру или любому другому программируемому устройству обработки данных работать согласно конкретному способу, благодаря чему инструкции, хранящиеся в компьютерно-считываемой памяти, генерируют артефакт, который включает в себя устройство инструкций. Устройство инструкций реализует конкретную функцию в одном или более процессах в блок-схемах операций и/или в одном или более блоках в блок-схемах.
[0145] Эти инструкции компьютерной программы могут загружаться в компьютер или другие программируемые устройства обработки данных, благодаря чему последовательность операций и этапов осуществляется на компьютере или других программируемых устройствах, генерирующих компьютерно-реализуемую обработку. Таким образом, инструкции, выполняемые на компьютере или других программируемых устройствах, обеспечивают этапы для реализации конкретной функции в одном или более процессах в блок-схемах операций или в одном или более блоках в блок-схемах.
[0146] В типичной конфигурации, вычислительное устройство включает в себя один или более процессоров (CPU), один или более входных/выходных интерфейсов, один или более сетевых интерфейсов и один или более блоков памяти.
[0147] Память может включать в себя непостоянную память, оперативную память (RAM) и/или энергонезависимую память на компьютерно-считываемом носителе, например, постоянную память (ROM) или флеш-память (флеш-RAM).
[0148] Компьютерно-считываемый носитель включает в себя постоянные, непостоянные, подвижные и неподвижные среды, которые могут реализовать хранение информации с использованием любого способа или технологии. Информация может представлять собой компьютерно-считываемую инструкцию, структуру данных, программный модуль или другие данные. Компьютерный носитель данных включает в себя, но без ограничения, параметрическую оперативную память (PRAM), статическую оперативную память (SRAM), динамическую оперативную память (DRAM), оперативную память (RAM) других типов, постоянную память (ROM), электрически стираемую программируемую постоянную память (EEPROM), флеш-память или другие технологии памяти, компакт-диск с возможностью только чтения (CD-ROM), цифровой универсальный диск (DVD) или другие оптические запоминающие устройства, магнитную ленту, запоминающее устройство на основе магнитного диска, другие запоминающие устройства на основе магнитного диска или любые другие непередающие среды, которые можно использовать для хранения информации, к которой может осуществлять доступ вычислительное устройство. На основании определения в настоящем описании изобретения, компьютерно-считываемый носитель не включает в себя транзиторный компьютерно-считываемый носитель (транзиторные среды), например, модулированный сигнал данных и несущую.
[0149] Дополнительно следует отметить, что термин "включают в себя", "содержит", или любой другой вариант призван охватывать неисключающее включение, благодаря чему процесс, способ, предмет потребления или устройство, который/ое включает в себя ряд элементов, включает в себя не только эти элементы, но и другие элементы, в явном виде не перечисленные, или дополнительно включает в себя элементы, присущие такому процессу, способу, предмету потребления или устройству. Элемент, которому предшествует выражение "включает в себя...", без дополнительных ограничений, не исключает наличия дополнительных идентичных элементов в процессе, способе, предмете потребления или устройстве, который/ое включает в себя элемент
[0150] Специалисту в данной области техники очевидно, что варианты осуществления настоящей заявки могут быть реализованы как способ, система или компьютерный программный продукт. Таким образом, настоящая заявка может использовать только аппаратные реализации, только программные реализации, или реализации, где сочетаются программное и аппаратное обеспечение. Кроме того, настоящая заявка может использовать форму компьютерного программного продукта, который реализован на одном или более компьютерных носителях данных (в том числе, но без ограничения, магнитном диске, CD-ROM, оптическом диске и т.д.), которые включают в себя компьютерный программный код.
[0151] Настоящее изобретение можно описать в общем контексте компьютерно-исполнимых инструкций, выполняемых компьютером, например, программного модуля. В общем случае, программный модуль включает в себя процедуру, программу, объект, компонент, структуру данных и т.д. Для выполнения конкретной задачи или реализации того или иного абстрактного типа данных. Настоящее изобретение также может осуществляться на практике в распределенных вычислительных средах. В распределенных вычислительных средах, задачи осуществляются удаленными устройствами обработки, соединенными через сеть связи. В распределенной вычислительной среде, программный модуль может располагаться как на локальных, так и на удаленных компьютерных носителях данных, включающих в себя запоминающие устройства.
[0152] Все варианты осуществления последовательно описаны в настоящем описании изобретения. Одинаковые или аналогичные части вариантов осуществления представлены в вариантах осуществления. Описание каждого варианта осуществления сосредоточено на отличии от других вариантов осуществления. В частности, вариант осуществления системы, в основном, аналогичен варианту осуществления способа, и поэтому описан кратко. Соответствующие части представлены в частичных описаниях варианта осуществления способа.
[0153] Вышеприведенные описания являются лишь вариантами осуществления настоящей заявки и не призваны ограничивать настоящее изобретение. Специалист в данной области техники может вносить в настоящее изобретение различные модификации и изменения. Любые модификации, эквивалентные замены, усовершенствования и т.д., согласующиеся с сущностью и принципом настоящего изобретения, подлежат включению в объем защиты формулы изобретения настоящей заявки.