Plataforma de análisis del comportamiento del usuario Xiaoxiang
introducir
La tecnología de big data se ha aplicado rápidamente a los negocios y ha generado valor. Identificar el comportamiento del usuario a través del análisis de datos y establecer un crecimiento rápido y de bajo costo centrado en el usuario son la competitividad central que debe tener una empresa. Con el aumento sustancial de los costos, las empresas deben cambiar sus métodos operativos y de marketing extensivos del pasado, especialmente en marketing, fabricación de productos, ventas y servicio al cliente futuro, para volverse más científicos y eficientes.
Una vez lanzado el sistema de comercio electrónico Xiaoxiang, es necesario recopilar datos sobre el comportamiento del usuario y realizar la operación digital del negocio de comercio electrónico mediante análisis de big data en tiempo real. En base a esta fuerte demanda, se desarrolla el análisis del comportamiento del usuario de Xiaoxiang. Es compatible con el SDK de punto enterrado de código abierto de Shence para completar los informes de comportamiento del terminal. Se utiliza Nginx + Flume + kafka para implementar la recopilación de registros y se utiliza Flink para escribir en HDFS. .
El contenido de este proyecto de código abierto incluye la configuración del entorno nginx, el descifrado de Flume y el procesamiento de formato de registro, el almacenamiento de datos de texto sin formato bajo el tema de kafka y los cuatro pasos clave para almacenar datos enterrados en HDFS después del consumo de Flink. Para facilitar la verificación y optimización de los primeros puntos enterrados, en el enlace Kafka, los datos del análisis de los puntos enterrados se almacenan en formato JSON en MySQL. El plan de seguimiento consiste en agregar el procesamiento de seguimiento por parte de Umeng y otros proveedores de SDK, así como la recopilación y el almacenamiento de registros del sistema empresarial.
Contenido principal del proyecto.
1. Colección de registros (Flume+kafka)
2. Almacenamiento de registros (Flink + HDFS)
Flujo de trabajo
Ideas de diseño de arquitectura
ideas de diseño de negocios
Arquitectura técnica
Los terminales de origen de los datos de comportamiento recopilados por el SDK incluyen iOS, Android, Web, H5, subprograma WeChat, etc. Los diferentes SDK de terminal utilizan SDK correspondientes a la plataforma y los idiomas principales. Los datos recopilados por puntos enterrados se envían a la API del servidor en modo HTTP POST a través de datos JSON. La API del lado del servidor consta de un sistema de acceso a datos que utiliza Nginx para recibir los datos enviados a través de la API y escribirlos en el archivo de registro. Utilice Nginx para lograr alta confiabilidad y escalabilidad. Para los registros impresos por Nginx en archivos, el módulo Source de Flume lee los registros de Nginx en tiempo real, y el módulo Channel realiza el procesamiento de datos y finalmente publica los resultados del procesamiento en Kafka a través del módulo Sink.
Arquitectura de software completa
Pasos de integración del SDK de punto enterrado de terceros
1. Introducción del SDK: agregue dependencias del SDK en el archivo de configuración de la aplicación del terminal. Los métodos de introducción de diferentes terminales serán diferentes y los pasos de operación específicos se reflejarán en los documentos técnicos del SDK posteriores.
2. Configure la dirección API del servidor de informes: se utiliza para configurar la dirección del servidor de la API de informes del SDK.
3. Active la cobertura total: el SDK puede recopilar automáticamente algunos comportamientos del usuario, como el inicio y la salida de la aplicación, la navegación por la página y los clics de control. Al inicializar el SDK, puede configurar y habilitar puntos enterrados completos mediante el método de inicialización proporcionado por el SDK.
Diseño del servicio de acceso API.
Los datos ocultos de diferentes canales se envían a la API del servidor a través de la API HTTP para lograr el acceso a los datos. Utilice Nginx como contenedor WEB para recibir los datos enviados por el SDK del cliente y escribirlos en el archivo de registro. La razón principal para usar Nginx es considerar su alta concurrencia, alta confiabilidad y alta escalabilidad.
Escenarios de recopilación de comportamiento del usuario
Al clasificar los escenarios de aplicación, podemos utilizar escenarios para planificar y detectar puntos ocultos. La clasificación de escenas se puede resumir en tres niveles:
1. Escenarios básicos comunes: las operaciones comunes se consideran de manera uniforme
2. Escenarios de operaciones importantes: Atribución general de operaciones importantes
3. Escenario del proceso principal de negocio: definir el proceso completo con líneas de negocio
Efecto de aplicación
Declaración de derechos de autor
El análisis del comportamiento de los datos de Little Elephant utiliza el acuerdo de código abierto Apache2.0. Las personas y las empresas deben cumplir con lo siguiente para uso directo o comercial después del desarrollo secundario:
1. Contiene el archivo de LICENCIA de xiaoxianganalysis (usuarios autorizados a utilizar las patentes y los derechos de propiedad intelectual de xiaoxianganalysis de forma gratuita)
2. Si se modifica el código, es necesario indicarlo en el archivo modificado.
3. En el código modificado o derivado del código fuente, se debe incluir el acuerdo y la marca registrada en el código original.
4. Si se utilizan varios software de código abierto en el producto lanzado comercialmente después del desarrollo secundario, se debe incluir un archivo de Aviso, y el archivo de Aviso debe contener la LICENCIA de xiaoxianganalysis. Puede agregar su propia licencia en el Aviso, pero no puede mostrarse como un cambio en la LICENCIA de xiaoxianganalysis.
Por ejemplo:
`
Licencia Apache-2.0
`