Verifique la calidad sin salir de la caja registradora



Cuanto más asequibles son los medios de producción, más grave es el problema de las falsificaciones. Y si el producto es masivo y fácilmente falso, entonces la ola de falsificaciones está casi garantizada. Para combatir este flagelo, nosotros, el Centro para el Desarrollo de Tecnologías Avanzadas, estamos desarrollando un sistema para marcar y rastrear productos. Ella recibió el nombre de SIGNO Honesto . El fabricante pone un código DataMatrix único en cada unidad de sus productos, y los clientes pueden ver mediante este código si el producto está delante de él, quién lo produjo y cómo llegó al mostrador.

Con esta publicación introductoria en nuestro blog, queremos presentarle el sistema y los principios de su funcionamiento, y en los siguientes artículos describiremos con más detalle la estructura técnica y las características de desarrollo.

Quienes somos y que hacemos


Somos la empresa CRPT , Centro para el Desarrollo de Tecnologías Avanzadas. Una de las direcciones de nuestra actividad es el desarrollo, implementación y desarrollo de un sistema digital para marcar y rastrear cualquier producto. Es necesario para que cada comprador pueda estar seguro en la tienda si hay una falsificación frente a él.

Hoy, los fabricantes rusos de cigarrillos, zapatos y medicamentos están conectados a nuestra base de datos. Hasta ahora, los usuarios más activos son representantes de la industria del tabaco: el etiquetado obligatorio de todos los productos manufacturados e importados en el país ya ha comenzado en este grupo. Ya a través del sistema pasa hasta 50 millones de paquetes por día. La industria ligera, los fabricantes de leche, neumáticos, cámaras y otras industrias que todavía están trabajando en la tecnología en modo piloto también se unen activamente.

Cómo funciona el sistema de marcado


El gobierno ruso decide sobre la necesidad de un proyecto piloto de etiquetado en un determinado grupo de productos. Por lo general, esta decisión aparece por iniciativa de representantes comerciales. Estamos lanzando un proyecto piloto, dentro del cual los fabricantes eligen un formato de etiquetado que sea conveniente para ellos e información adicional para cada unidad de bienes que se colocará en la base de datos y se cifrará en códigos de etiquetado únicos: DataMatrix. Esta información adicional puede ser muy diferente, por ejemplo, el precio minorista recomendado o la fecha de vencimiento. Luego, los fabricantes introducen un software que les permite colocar DataMatrix en paquetes, y nosotros, como operador del sistema, les damos equipos gratuitos: registradores de emisiones, que son necesarios para transmitir códigos digitales a través de canales de comunicación seguros.

Mientras el proyecto piloto está en curso, ayudamos a los participantes a depurar procesos de marcado e intercambio de información. Y cuando todo esté listo, la participación de otros fabricantes de esta industria en nuestro sistema se vuelve obligatoria.

A medida que los productos se trasladan del fabricante a los estantes, todos los participantes en la cadena envían diversa información al SIGNO Honesto:



Como resultado, recopilamos toda la información sobre el origen y el movimiento de cada producto producido por los participantes en el sistema y se lo brindamos a fabricantes, minoristas y clientes. Cuando venga a la tienda, frente al mostrador puede ir a la aplicación móvil Honest SIGN ( AppStore , Google Play ), escanear el código del paquete e inmediatamente averiguar el país, la ciudad y la dirección de producción. Es decir, sabrá de inmediato si la falsificación está frente a usted o no.

Seguramente preguntas: "¿Y qué impide falsificar tus códigos?" El hecho es que cada código de marcado está firmado por una pequeña parte protegida, un criptocódigo. Y el código falso simplemente no pasará el cheque en el sistema, ya sea durante la aplicación, o cuando el comprador lo escanee, o al finalizar la compra.

¿De dónde vienen los códigos? Hay dos formas de obtenerlos:

  • O nosotros mismos generamos códigos únicos no reproducibles y los proporcionamos a los fabricantes.
  • O bien, el fabricante emite la parte en serie del código por sí mismo, por lo que es más conveniente usar la marca con sus sistemas de contabilidad y agrega la parte criptográfica que generamos.

Como funciona nuestro sistema


El esquema básico de trabajo se ve así:



Incluye cinco bloques.

La "puerta de entrada" al sistema es el enrutamiento , una especie de puerta de enlace. Aquí viene toda la información de cada participante en la cadena comercial: fabricantes, mayoristas y minoristas. El enrutamiento enriquece los datos entrantes con atributos adicionales y decide qué canalización debe procesar esta o aquella información.

El procesamiento consiste en procesar toda la información entrante, filtrada y enriquecida con enrutamiento. Cada industria se distingue por sus conjuntos de procesos comerciales, que automatizamos constantemente. Por ejemplo, para el tabaco son impuestos especiales, para la leche es una fecha de vencimiento.

El sistema de almacenamiento está construido sobre una base distribuida de clave-valor. Allí ponemos toda la información sobre cada campo de etiquetado, sobre cada documento que influyó en el cambio en el estado de este código. Cada grupo de productos grande tiene su propia base, porque la cantidad de información que necesita copia de seguridad y escala es muy grande.

Utilizamos el almacén de datos de diferentes maneras: hacemos selecciones, formamos una visualización gráfica de la información en su cuenta personal y se la damos a los participantes del sistema utilizando una API externa.

Los componentes del sistema realizan una serie de tareas: autenticación, autorización, interacción entre servicios. En otras palabras, todo lo relacionado con la verificación de los derechos de acceso y la interacción de los componentes del sistema entre sí.

Finalmente, la cuenta personal es una interfaz gráfica para los participantes del sistema: fabricantes, mayoristas y organizaciones minoristas. Es decir, para empresas dedicadas a la venta, jubilación y venta al consumidor final. En su cuenta personal, los informes y gráficos se generan de forma conveniente sobre cuántos códigos envió la empresa, durante qué período, para qué categorías de productos, cuántos productos ya se han vendido al por menor, etc.

¿Cómo fluye la información a través del sistema?


El fabricante genera un lote de códigos y nos envía o crea un pedido para recibir códigos. En respuesta, enviamos los resultados de la verificación de códigos por plantillas o una lista de códigos listos para usar. Después de eso, el fabricante coloca estos códigos e informa que fueron utilizados o perdidos en el proceso de producción, es decir, los productos con el código son rechazados. Esta información se transfiere del enrutamiento al procesamiento, que interactúa directamente con el almacén de datos. Además, las cuentas personales trabajan con él, en el que la lógica de negocios para los participantes del sistema está protegida.

En otras palabras, recibimos datos de los participantes:

  • qué códigos se aplican a los bienes,
  • Qué información adicional del producto debe mostrarse a los usuarios finales.

Además, agregamos estos datos, garantizando la unicidad y seguridad de los códigos contra la falsificación, y de manera conveniente proporcionamos a todos los usuarios a través de aplicaciones móviles. Y los representantes comerciales en cualquier momento pueden recibir informes sobre toda la información sobre sus productos disponibles en nuestro sistema.

Tecnología


Dado que estamos creando un sistema de etiquetado nacional, diariamente "resumirá" la información de todos los productos producidos en el país y la entregará a decenas de millones de usuarios. Por lo tanto, elegimos tecnologías que no solo proporcionan un alto rendimiento, sino que también nos permiten escalar rápidamente el sistema.

En la actualidad, procesamos hasta 300 unidades de bienes vendidos por segundo, y con aproximadamente la misma frecuencia: registros de bienes que pasan por las etapas "liberado", "código", "transferido de un participante a otro". Solo para los productos de tabaco, se ingresan aproximadamente mil millones de registros en el sistema cada mes, y la cantidad total de información alcanza decenas de Tb.

Todos los servicios dentro del sistema, y ​​hay alrededor de 250 de ellos, se implementan en un clúster de Kubernetes, por lo que aumentamos silenciosamente la capacidad y el volumen de almacenamiento según sea necesario.

En su mayor parte, el sistema está escrito en Java 11, y el procesamiento está en Scala. Para la comunicación entre servidores, elegimos Kafka. Los códigos de etiquetado se almacenan en Hbase y la información relacionada se almacena en PostgreSQL. Empacamos el código del sistema en contenedores Docker, entregamos Helm a los grupos de Kubernetes, monitoreamos Prometheus y monitoreamos la salud en Grafana.

Hemos conectado a los almacenes de datos los servidores analíticos desarrollados por nosotros, que crean informes para los participantes del sistema. Hasta ahora, los servidores están construidos sobre la base de Hbase, pero estamos experimentando muy activamente con ClickHouse.

Desarrollo del sistema


Muchos participantes esperan comentarios de nosotros: ¿recibimos toda la información enviada, hay algún problema para procesar el documento, el participante en el sistema tiene los códigos que se transmiten? Dicho mecanismo de retroalimentación debe ser de extremo a extremo, sin usar almacenamiento, para no duplicar información y no cargar adicionalmente el sistema. Por lo tanto, nos alejaremos de los repositorios intermedios y ya estamos trabajando en la implementación de transacciones de extremo a extremo a través del enrutamiento, el procesamiento y viceversa.

En las siguientes publicaciones, describiremos en detalle cómo se implementa cada uno de los cinco bloques arquitectónicos, sobre nuestro sistema, las tecnologías y las personas que lo crean.

El material fue preparado con el apoyo de Dmitry Poluyanov, jefe del equipo de desarrollo (Java) de la MDCT.

Source: https://habr.com/ru/post/467851/


All Articles