Verifique a qualidade sem sair da caixa registradora



Quanto mais acessíveis os meios de produção, mais grave é o problema das falsificações. E se o produto é enorme e facilmente falso, a onda de falsificação é quase garantida. Para combater esse flagelo, nós, o Centro para o Desenvolvimento de Tecnologias Avançadas, estamos desenvolvendo um sistema para marcar e rastrear produtos. Ela recebeu o nome de Honest SIGN . O fabricante coloca um código DataMatrix exclusivo em cada unidade de seus produtos, e os clientes podem ver por esse código se o produto está à sua frente, quem o produziu e como chegou ao balcão.

Com esta publicação introdutória em nosso blog, queremos apresentar o sistema e os princípios de sua operação. Nos artigos a seguir, descreveremos mais detalhadamente a estrutura técnica e os recursos de desenvolvimento.

Quem somos e o que fazemos


Somos a empresa CRPT , Centro de Desenvolvimento de Tecnologias Avançadas. Uma das direções de nossa atividade é o desenvolvimento, implementação e desenvolvimento de um sistema digital para marcação e rastreamento de qualquer mercadoria. É necessário para que todo comprador possa ter certeza na loja se há uma falsificação na sua frente.

Hoje, os fabricantes russos de cigarros, sapatos e medicamentos estão conectados ao nosso banco de dados. Até agora, os usuários mais ativos são representantes da indústria do tabaco - a rotulagem obrigatória de todos os produtos manufaturados e importados no país já começou neste grupo. Já através do sistema, passam até 50 milhões de pacotes por dia. Indústria leve, fabricantes de leite, pneus, câmeras e outras indústrias que estão trabalhando com a tecnologia no modo piloto também estão se unindo ativamente.

Como o sistema de marcação funciona


O governo russo decide sobre a necessidade de um projeto piloto de rotulagem em um determinado grupo de mercadorias. Normalmente, essa decisão aparece por iniciativa dos representantes comerciais. Estamos lançando um projeto piloto, no qual os fabricantes escolhem um formato de rotulagem conveniente para eles e informações adicionais para cada unidade de mercadorias que serão colocadas no banco de dados e criptografadas em códigos de rotulagem exclusivos - DataMatrix. Essas informações adicionais podem ser muito diferentes - por exemplo, o preço de varejo recomendado ou a data de validade. Em seguida, os fabricantes apresentam um software que lhes permite colocar o DataMatrix em pacotes e nós, como operador de sistema, oferecemos a eles equipamentos gratuitos - registradores de emissão, necessários para transmitir códigos digitais por canais de comunicação seguros.

Enquanto o projeto piloto estiver em andamento, ajudamos os participantes a depurar os processos de marcação e troca de informações. E quando tudo estiver pronto, a participação de outros fabricantes desse setor em nosso sistema se torna obrigatória.

À medida que as mercadorias passam do fabricante para as prateleiras, todos os participantes da cadeia enviam várias informações ao Honest SIGN:



Como resultado, coletamos todas as informações sobre a origem e o movimento de cada produto produzido pelos participantes no sistema e as fornecemos aos fabricantes, varejistas e clientes. Quando você chega à loja, em frente ao balcão, pode acessar o aplicativo móvel Honest SIGN ( AppStore , Google Play ), digitalizar o código na embalagem e descobrir imediatamente o país, a cidade e o endereço de produção. Ou seja, você saberá imediatamente se a farsa está na sua frente ou não.

Certamente você pergunta: "E o que impede falsificar seus códigos?" O fato é que cada código de marcação é assinado por uma pequena parte protegida, um criptocódigo. E o código falso simplesmente não passa no cheque no sistema, durante o aplicativo, ou ao digitalizar pelo comprador ou no check-out.

De onde vêm os códigos? Existem duas maneiras de obtê-los:

  • Ou nós mesmos geramos inteiramente códigos não reproduzíveis exclusivos e os fornecemos aos fabricantes.
  • Ou, o fabricante emite a parte serial do código por conta própria, para que seja mais conveniente usar a marcação com seus sistemas de contabilidade e adiciona a parte criptográfica que geramos.

Como nosso sistema funciona


O esquema básico de trabalho é assim:



Inclui cinco blocos.

O "portão de entrada" para o sistema está roteando - uma espécie de gateway. Todas as informações de cada participante da cadeia comercial vêm aqui: fabricantes, atacadistas e varejistas. O roteamento enriquece os dados recebidos com atributos adicionais e decide qual pipeline deve processar esta ou aquela informação.

O processamento está envolvido no processamento de todas as informações recebidas, filtradas e enriquecidas com roteamento. Cada setor se distingue por seus conjuntos de processos de negócios, que automatizamos constantemente. Por exemplo, para o tabaco são impostos especiais de consumo, para o leite é uma data de validade.

O sistema de armazenamento é construído sobre uma base de valor-chave distribuído. Lá, colocamos todas as informações sobre cada campo de rotulagem, sobre todos os documentos que influenciaram a alteração no status desse código. Cada grande grupo de produtos tem sua própria base, porque a quantidade de informações que precisam ser copiadas e escaladas é muito grande.

Usamos o data warehouse de diferentes maneiras: fazemos seleções, formamos uma exibição gráfica de informações em sua conta pessoal e as entregamos aos participantes do sistema usando uma API externa.

Os componentes do sistema realizam várias tarefas: autenticação, autorização, interação entre serviços. Em outras palavras, tudo relacionado à verificação de direitos de acesso e à interação dos componentes do sistema entre si.

Por fim, a conta pessoal é uma interface gráfica para os participantes do sistema: fabricantes, atacadistas e organizações de varejo. Ou seja, para empresas envolvidas em vendas, aposentadoria e venda ao consumidor final. Na sua conta pessoal, relatórios e gráficos são gerados de forma conveniente sobre quantos códigos a empresa enviou, por qual período, para quais categorias de produtos, quantos produtos já foram vendidos no varejo e assim por diante.

Como as informações fluem pelo sistema?


O fabricante gera um lote de códigos e nos envia ou cria um pedido para receber códigos. Em resposta, enviamos os resultados da verificação de códigos por modelos ou uma lista de códigos prontos. Depois disso, o fabricante coloca esses códigos e relata que eles foram usados ​​ou perdidos no processo de produção, ou seja, as mercadorias com o código são rejeitadas. Essas informações são transferidas do roteamento para o processamento, que interage diretamente com o armazém de dados. Além disso, as contas pessoais trabalham com ele, nas quais a lógica comercial dos participantes do sistema é protegida.

Em outras palavras, recebemos dados dos participantes:

  • quais códigos são aplicados às mercadorias,
  • Quais informações adicionais do produto precisam ser mostradas aos usuários finais.

Além disso, agregamos esses dados, garantindo a exclusividade e a segurança dos códigos contra falsificação e, de forma conveniente, fornecemos a todos os usuários por meio de aplicativos móveis. E os representantes comerciais a qualquer momento podem receber relatórios sobre todas as informações de seus produtos disponíveis em nosso sistema.

Tecnologia


Como estamos criando um sistema nacional de rotulagem, ele “digere” diariamente informações sobre todos os produtos produzidos no país e as fornece a dezenas de milhões de usuários. Portanto, escolhemos tecnologias que não apenas fornecem alto desempenho, mas também permitem escalar rapidamente o sistema.

Hoje, processamos até 300 unidades de mercadorias vendidas por segundo e com aproximadamente a mesma frequência - registros de mercadorias que passam pelos estágios "liberado", "código", "transferido de um participante para outro". Somente para produtos de tabaco, cerca de um bilhão de registros são inseridos no sistema todos os meses, e a quantidade total de informação atinge dezenas de Tb.

Todos os serviços dentro do sistema - e existem cerca de 250 deles - são implantados em um cluster Kubernetes; portanto, aumentamos silenciosamente a capacidade e o volume de armazenamento, conforme necessário.

Na maioria das vezes, o sistema é escrito em Java 11 e o processamento está em Scala. Para comunicação entre servidores, escolhemos Kafka. Os códigos de rotulagem são armazenados no Hbase, e as informações relacionadas são armazenadas no PostgreSQL. Empacotamos o código do sistema nos contêineres do Docker, entregamos o Helm aos clusters do Kubernetes, monitoramos o Prometheus e monitoramos a integridade no Grafana.

Conectamos aos data warehouses os servidores analíticos desenvolvidos por nós, que criam relatórios para os participantes do sistema. Até agora, os servidores são construídos com base no Hbase, mas estamos experimentando ativamente o ClickHouse.

Desenvolvimento de sistemas


Muitos participantes esperam feedback de nós - recebemos todas as informações enviadas, há algum problema no processamento do documento, o participante no sistema possui os códigos que são transmitidos? Esse mecanismo de feedback deve ser completo, sem o uso de armazenamento, para não duplicar informações e não carregar o sistema adicionalmente. Portanto, nos afastaremos dos repositórios intermediários e já estamos trabalhando na implementação de transações de ponta a ponta por meio de roteamento, processamento e vice-versa.

Nas publicações a seguir, descreveremos em detalhes como cada um dos cinco blocos arquitetônicos é implementado, sobre nosso sistema, tecnologias e as pessoas que os criam.

O material foi preparado com o apoio de Dmitry Poluyanov, chefe da equipe de desenvolvimento (Java) do MDCT.

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


All Articles