Отслеживание и трассировка цепочки поставокSupply Chain Track and Trace

Концепция решения Solution Idea

Если вы хотите ознакомиться с этой статьей, дополнительные сведения (сведения о реализации, рекомендации по ценам, примеры кода и т. д.), сообщите нам о отзывах в GitHub!If you'd like to see us expand this article with more information (implementation details, pricing guidance, code examples, etc), let us know with GitHub Feedback!

Распространенный шаблон блокчейн — это мониторинг ресурса, поддерживающего IoT, при движении по цепочке поставок для нескольких сторон.A common blockchain pattern is IoT-enabled monitoring of an asset as it moves along a multi-party supply chain. Хорошим примером этого шаблона является рефрижератед транспорт перишабленых товаров, таких как Food или Pharmaceuticals, где определенные правила соответствия должны быть удовлетворены в течение всего процесса транспортировки.A great example of this pattern is the refrigerated transportation of perishable goods like food or pharmaceuticals where certain compliance rules must be met throughout the duration of the transportation process. В этом сценарии инициирующий аналог (например, продавец) указывает договорные условия, такие как требуемая влажность и диапазон температуры, которые должны соответствовать хранителей в цепочке поставок.In this scenario, an initiating counterparty (such as a retailer) specifies contractual conditions, such as a required humidity and temperature range, that the custodians on the supply chain must adhere to. В любой момент, если устройство принимает значение температуры или влажности, которое выходит за пределы диапазона, состояние интеллектуального контракта будет Обновлено, чтобы показать, что оно не соответствует требованиям, записывает транзакцию на блокчейн и активирует события устранения.At any point, if the device takes a temperature or humidity measurement that is out of range, the smart contract state will be updated to indicate that it's out of compliance, recording a transaction on the blockchain and triggering remediating events downstream.

АрхитектураArchitecture

Схема архитектуры . Скачайте SVG этой архитектуры.Architecture Diagram Download an SVG of this architecture.

Устройства IoT взаимодействуют с центром Интернета вещей.IoT devices communicate with IoT Hub. Центр Интернета вещей в качестве настроенного маршрута, который будет отсылать определенные сообщения в служебную шину, связанную с этим маршрутом.IoT Hub as a route configured that will send specific messages to a Service Bus associated with that route. Сообщение по-прежнему находится в собственном формате для устройства и должно быть преобразовано в формат, используемый Azure Блокчейн Workbench.The message is still in the native format for the device and needs to be translated to the format used by Azure Blockchain Workbench.

Приложение логики Azure выполняет это преобразование.An Azure Logic App performs that transformation. Она активируется при добавлении нового сообщения в служебную шину, связанную с центром Интернета вещей, затем преобразует сообщение и доставляет его в служебную шину, используемую для доставки сообщений в Azure Блокчейн Workbench.It is triggered when a new message is added to the Service Bus associated with the IoT hub, it then transforms the message and delivers it to the Service Bus used to deliver messages to Azure Blockchain workbench.

Первая служебная шина фактически выступает в качестве папки "Исходящие" для центра Интернета вещей, а вторая — как "Входящие" для Azure Блокчейн Workbench.The first service bus effectively serves as an "Outbox" for IoT Hub and the second one serves as an "Inbox" for Azure Blockchain Workbench.

Поток данныхData Flow

  1. Устройства IoT взаимодействуют с центром Интернета вещей.IoT devices communicate with IoT Hub. Центр Интернета вещей в качестве настроенного маршрута, который будет отсылать определенные сообщения в служебную шину, связанную с этим маршрутом.IoT Hub as a route configured that will send specific messages to a Service Bus associated with that route. Сообщение по-прежнему находится в собственном формате для устройства и должно быть преобразовано в формат, используемый Azure Блокчейн Workbench.The message is still in the native format for the device and needs to be translated to the format used by Azure Blockchain Workbench. Приложение логики Azure выполняет это преобразование.An Azure Logic App performs that transformation. Она активируется при добавлении нового сообщения в служебную шину, связанную с центром Интернета вещей, затем преобразует сообщение и доставляет его в служебную шину, используемую для доставки сообщений в Azure Блокчейн Workbench.It is triggered when a new message is added to the Service Bus associated with the IoT hub, it then transforms the message and delivers it to the Service Bus used to deliver messages to Azure Blockchain workbench. Первая служебная шина фактически выступает в качестве папки "Исходящие" для центра Интернета вещей, а вторая — как "Входящие" для Azure Блокчейн Workbench.The first service bus effectively serves as an "Outbox" for IoT Hub and the second one serves as an "Inbox" for Azure Blockchain Workbench.
  2. Потребитель DLT извлекает данные из брокера сообщений (служебная шина) и отправляет их в построитель транзакций — подписавший.DLT Consumer fetches the data from the message broker (Service Bus) and sends data to Transaction Builder - Signer.
  3. Построитель транзакций создает и подписывает транзакцию.Transaction Builder builds and signs the transaction.
  4. Подписанная транзакция направляется в Блокчейн (частная сеть консорциума Ethereum).The signed transaction gets routed to the Blockchain (Private Ethereum Consortium Network).
  5. Наблюдатель DLT получает подтверждение обязательства транзакции на Блокчейн и отправляет подтверждение в брокер сообщений (служебную шину).DLT Watcher gets confirmation of the transaction commitment to the Blockchain and sends the confirmation to the message broker (Service Bus).
  6. Потребители базы данных отправляют подтвержденные блокчейн транзакции в базы данных автономной цепочки (база данных SQL Azure).DB consumers send confirmed blockchain transactions to off-chain databases (Azure SQL Database).
  7. Сведения, анализируемые и отображаемые с помощью таких средств, как Power BI, путем подключения к автономной базе данных (база данных SQL Azure).Information analyzed and visualized using tools such as Power BI by connecting to off-chain database (Azure SQL Database).
  8. События из книги учета доставляются в службу "Сетка событий" и "служебная шина" для использования подчиненными потребителями.Events from the ledger are delivered to Event Grid and Service Bus for use by downstream consumers. Примерами "нижестоящих потребителей" являются приложения логики, функции или другой код, предназначенный для выполнения действий с событиями.Examples of "downstream consumers" include logic apps, functions or other code that is designed to take action on the events. Например, функция Azure может получить событие и затем поместить его в хранилище данных, например SQL Server.For example, an Azure Function could receive an event and then place that in a datastore such as SQL Server.

ComponentsComponents

  • Application Insights: выявлять проблемы, диагностировать сбои и отслеживать использование веб-приложения с Application Insights.Application Insights: Detect issues, diagnose crashes, and track usage in your web app with Application Insights. Принимать обоснованные решения на протяжении всего жизненного цикла разработки.Make informed decisions throughout the development lifecycle.
  • Веб-приложения. быстро создавайте и развертывайте критически важные веб-приложения в масштабеWeb Apps: Quickly create and deploy mission critical web apps at scale
  • Учетные записи хранения: устойчивое, высокодоступное и массово масштабируемое облачное хранилищеStorage Accounts: Durable, highly available, and massively scalable cloud storage
  • Виртуальные машины: подготавливает виртуальные машины для Ubuntu, Red Hat и др.Virtual Machines: Provision virtual machines for Ubuntu, Red Hat, and more
  • Azure Active Directory: Синхронизация локальных каталогов и включение единого входаAzure Active Directory: Synchronize on-premises directories and enable single sign-on
  • База данных SQL Azure — это служба реляционной базы данных, которая позволяет быстро создавать, расширять и масштабировать реляционные приложения в облаке.Azure SQL Database is a relational database service that lets you rapidly create, extend, and scale relational applications into the cloud.
  • Azure Monitor: высокодетализированные данные мониторинга для любого ресурса Azure в режиме реального времени.Azure Monitor: Highly granular and real-time monitoring data for any Azure resource.
  • Служебная шина: подключение между частными и общедоступными облачными средамиService Bus: Connect across private and public cloud environments
  • Сетка событий: получение надежной доставки событий в крупномасштабном масштабеEvent Grid: Get reliable event delivery at massive scale

Следующие шагиNext steps

Развертывание в AzureDeploy to Azure