Plataforma de análise de comportamento do usuário Xiaoxiang
introduzir
A tecnologia de big data foi rapidamente aplicada aos negócios e gerou valor. Identificar o comportamento do usuário por meio da análise de dados e estabelecer um crescimento rápido e de baixo custo centrado no usuário são a competitividade central que uma empresa deve ter. Com o aumento substancial dos custos, as empresas devem mudar os seus antigos métodos extensivos de marketing e operação, especialmente em marketing, fabrico de produtos, vendas e futuro serviço ao cliente, para se tornarem mais científicos e eficientes.
Após o lançamento do sistema de comércio eletrônico Xiaoxiang, ele precisa coletar dados de comportamento do usuário e realizar a operação digital do negócio de comércio eletrônico por meio de análise de big data em tempo real. Com base nessa forte demanda, a análise do comportamento do usuário Xiaoxiang é desenvolvida. É compatível com o SDK de ponto enterrado de código aberto Shence para completar o relatório de comportamento do terminal. Nginx + Flume + kafka é usado para implementar a coleta de log e Flink é usado para gravar no HDFS. .
O conteúdo deste projeto de código aberto inclui configuração do ambiente nginx, descriptografia do Flume e processamento de formato de log, armazenamento de dados de texto simples sob o tópico kafka e as quatro etapas principais para armazenamento de dados enterrados no HDFS após o consumo do Flink. Para facilitar a verificação e otimização dos primeiros pontos enterrados, no link kafka, os dados de análise dos pontos enterrados são armazenados no formato JSON no MySQL. O plano de acompanhamento é adicionar processamento de rastreamento pela Umeng e outros fornecedores de SDK, bem como a coleta e armazenamento de logs de sistemas de negócios.
Conteúdo principal do projeto
1. Coleta de logs (Flume+kafka)
2. Armazenamento de logs (Flink+HDFS)
Fluxo de trabalho
Idéias de design de arquitetura
Ideias de design de negócios
Arquitetura técnica
Os terminais de origem dos dados comportamentais coletados pelo SDK incluem iOS, Android, Web, H5, miniaplicativo WeChat, etc. Diferentes SDKs de terminal usam SDKs correspondentes à plataforma e às linguagens principais. Os dados coletados pelos pontos enterrados são enviados à API do servidor no modo HTTP POST por meio de dados JSON. A API do lado do servidor consiste em um sistema de acesso a dados, que usa Nginx para receber dados enviados através da API e gravá-los no arquivo de log. Use o Nginx para obter alta confiabilidade e escalabilidade. Para logs impressos pelo Nginx em arquivos, o módulo Source do Flume lê os logs do Nginx em tempo real, e o módulo Channel realiza o processamento de dados e, finalmente, publica os resultados do processamento para Kafka por meio do módulo Sink.
Arquitetura de software completa
Etapas de integração do SDK de ponto oculto de terceiros
1. Introdução do SDK: Adicione dependências do SDK no arquivo de configuração do aplicativo de terminal. Os métodos de introdução de diferentes terminais serão diferentes. As etapas de operação específicas serão refletidas nos documentos técnicos do SDK subsequentes.
2. Configure o endereço da API do servidor de relatórios: usado para definir o endereço do servidor da API de relatórios do SDK.
3. Ative a cobertura total: o SDK pode coletar automaticamente alguns comportamentos do usuário, como inicialização do aplicativo, saída, navegação na página e controle de cliques. Ao inicializar o SDK, você pode configurar e ativar pontos de enterramento completos por meio do método de inicialização fornecido pelo SDK.
Design de serviço de acesso API
Os dados ocultos de diferentes canais são enviados para a API do servidor por meio da API HTTP para obter acesso aos dados. Use Nginx como contêiner WEB para receber os dados enviados pelo SDK do cliente e gravá-los no arquivo de log. A principal razão para usar o Nginx é considerar sua alta simultaneidade, alta confiabilidade e alta escalabilidade.
Cenários de coleta de comportamento do usuário
Ao classificar os cenários de aplicação, podemos usar cenários para planejar e detectar pontos ocultos. A classificação de cenas pode ser abstraída em três níveis:
1. Cenários básicos comuns: as operações comuns são consideradas uniformemente
2. Cenários de operação importantes: Atribuição geral de operações importantes
3. Cenário do processo principal de negócios: Defina o processo completo com linhas de negócios
Efeito de aplicação
Declaração de direitos autorais
A análise do comportamento de dados do Little Elephant usa o contrato de código aberto Apache2.0. Indivíduos e empresas precisam cumprir o seguinte para uso direto ou comercial após o desenvolvimento secundário:
1. Contém o arquivo xiaoxianganálise LICENSE (usuários autorizados a usar patentes e direitos de propriedade intelectual da xiaoxianganálise gratuitamente)
2. Se o código for modificado, ele deverá ser informado no arquivo modificado.
3. No código modificado ou derivado do código-fonte, deve ser incluído o contrato e a marca registrada do código original
4. Se vários softwares de código aberto forem usados no produto lançado comercialmente após o desenvolvimento secundário, um arquivo de Aviso deverá ser incluído e o arquivo de Aviso deverá conter LICENÇA de xiaoxianganálise. Você pode adicionar sua própria licença no Aviso, mas ela não pode ser mostrada como uma alteração na LICENÇA do xiaoxianganálise.
Por exemplo:
`
Licença Apache-2.0
`