Dada migración de puntos enterrados Práctica JD Meridian | Equipo técnico de JD Cloud

I. Descripción general

1.Valor y resultados del proyecto

Utilizando las capacidades unificadas de recolección en el punto de venta y la plataforma de punto de atención del grupo, completamos la migración al punto de venta de las 7 líneas de negocios de Dada y un total de 43 aplicaciones de sitio, reduciendo la inversión en I+D y los costos de maquinaria propios. -Herramientas y plataformas de recopilación desarrolladas, abriendo enlaces de datos y creando más valor de análisis de datos. Los valores específicos de reducción de costes y mejora de la eficiencia son los siguientes:

1.1 Valor del análisis de datos: conéctese con los datos de tráfico de JD.com, alinee los estándares de datos y conecte el tráfico en serie

1) Isla de información: los datos de tráfico de Kuaishou y JD están separados, los costos de acceso a las tablas de la base de datos son altos y no se pueden realizar análisis combinados

2) Calibre de los datos: Alineación de las especificaciones de los puntos enterrados: por ejemplo, las reglas de informes de puntos ocultos, como la exposición del espacio publicitario, las visitas a la página, etc., están alineadas con la lógica de JD.com para alinear el calibre de los datos y mejorar la precisión.

3) Concatenación de información del usuario: mediante la concatenación de información básica del usuario, como device_id, pin de usuario/supplier_id, etc., podemos analizar el enlace de tráfico que ingresa el usuario desde la entrada de JD, la profundidad de acceso del tráfico de JD, etc. .

1.2 Reducir los costos laborales de iteración/mantenimiento: 0,5 personas/año

1) Costo de iteración de la plataforma Tianhe

2) Costos de operación y mantenimiento del enlace de transmisión de tráfico

1.3 Ahorre costos de máquina/middleware: 2 semanas o más por año

1) Reducir 2 hosts en la nube + costos estimados de middleware de alrededor de 20 000 al año

2.Ritmo del proyecto

2. Planificar la investigación y selección.

1. Medición del programa

En la etapa inicial, formulamos un plan de migración uno. Sin embargo, considerando el enorme costo de la migración, formulamos un plan dos después de una evaluación integral. Basándonos en consideraciones integrales como minimizar el costo de la migración, seleccionamos el plan uno.

Detalles del plano carga de trabajo
opcion uno Cada línea de negocio de APP, miniprograma, PC&H5 se transformará y migrará respectivamente. Es necesario realizar una adaptación de la capa SDK para 43 aplicaciones del sitio.
Opción II 1) La aplicación está encapsulada en SDK y otras líneas de negocio solo necesitan acceder a ella. 2) PC&H5 está adaptado en la capa SDK y las otras 35 aplicaciones solo necesitan acceder a ella. Se requieren 3 adaptaciones de la capa SDK y se pueden conectar otras líneas de negocio.

3. Realización del proyecto

1. Proceso de migración ascendente y descendente

2. Migrar la arquitectura técnica

Antes de unirnos al proyecto, debemos considerar dos puntos.

Estabilidad : por un lado, el proyecto debe funcionar sin problemas en su conjunto y, por otro lado, las diferencias de datos antes y después de la migración deben mantenerse dentro de un rango de error razonable.

Eficiente : Esta migración involucra decenas de proyectos como clientes, applets, h5, etc. Ahorrar costos de desarrollo también es clave

(1) Selección de planes

1. Reemplazo directo: Debido a la gran cantidad de proyectos y los muchos puntos en cada proyecto, es obvio que no podemos reemplazar directamente los puntos enterrados en el negocio, la carga de trabajo será demasiado grande y el riesgo de problemas será mayor.

2. Reemplazo de aspecto: Reemplazo unificado en un determinado enlace de informe de puntos enterrados. La ventaja de esto es que solo necesita modificarse una vez, el código es menos intrusivo y los riesgos son controlables. Lo más importante es que la carga de trabajo se reduce mucho.

(2) Diseño del esquema

Tomando al cliente como ejemplo, el antiguo marco de seguimiento incluye tres procesos: recopilación de seguimiento, almacenamiento e informes, que son independientes entre sí. Podemos interceptar fácilmente aspectos entre la recopilación de seguimiento y el almacenamiento y convertir el original Convierta los datos del punto enterrado , Como se muestra abajo

Diagrama de arquitectura de marco antiguo

(3) Implementación del plan

Después de determinar el plan específico, comenzamos a planificar la implementación del código específico, considerando que hay muchos proyectos que necesitan ser reemplazados (tomando al cliente como ejemplo, hay proyectos como Dada Knight, Dada Express, Hongliu y Kongming). , cada proyecto debe implementarse Sin duda es un desperdicio de recursos, dividimos el proyecto en Android, ios, applets y h5 al final, de esta manera las decenas de proyectos originales se simplifican en un conjunto de soluciones y cuatro códigos finales. Cada proyecto solo necesita una integración simple, de esta manera se ahorra una gran cantidad de recursos humanos.

3.Aspectos técnicos destacados

1. Utilice la solución de migración e interceptación de aspectos para ahorrar costos laborales.

2. La encapsulación unificada y la multiplexación de múltiples terminales unifican las especificaciones de los puntos enterrados

3. Capa de almacén de datos: consuma directamente temas en tiempo real de JD.com y colóquelos en la base de datos. Haga que las estructuras de datos de JD.com y Dada sean compatibles en la capa de superficie de la base de datos para lograr una "migración inconsciente" en la capa de informes descendente , minimizando el impacto de los informes comerciales y los costos de migración posteriores.

4. Los pozos que han sido pisados

1. iOS no admite informes en segundo plano de puntos ocultos.

Problema: Los caballeros y comerciantes a veces informan puntos ocultos cuando la aplicación sale del primer plano y está en modo de fondo. Sin embargo, Meridian inicialmente no admitió informar puntos ocultos en segundo plano durante mucho tiempo.

Solución: Meridian agregó configuración para admitir funciones de informes en segundo plano y entierro sin límite de tiempo.

2. Problemas de red iOS

Problema: cuando la aplicación se instala por primera vez y el usuario no acepta los permisos de red, el SDK de Meridian informará los puntos DAU. Después de que el informe falle, se volverá a intentar tres veces y la falla activará el período de 2 minutos. límite Los puntos no se informarán en 2 minutos.

Solución: Meridian ofrece paquetes separados sin límite de 2 minutos.

3. La aplicación informa problemas de políticas

Problema: la estrategia de informes predeterminada de Meridian es de 15 segundos y 10 elementos, lo que hace que algunos usuarios no activen las condiciones de informes y no puedan informar los puntos ocultos existentes después de salir de la aplicación.

Solución: la configuración de actualización de Meridian es 2s2.

4. El líquido está vacío, lo que hace que los puntos enterrados no se incluyan en la tabla.

Problema: Los nuevos usuarios no obtendrán la información del dispositivo del usuario antes de aceptar el acuerdo de privacidad, lo que provocará que appUniqueID se pase vacío y no caiga en la tabla fuera de línea de Meridian.

Solución: antes de que el nuevo usuario acepte el acuerdo de privacidad, genere aleatoriamente una cadena, cifrela y pásela a Meridian como ID del dispositivo para garantizar que se puedan registrar todos los puntos enterrados.

5. Problemas con el mecanismo de presentación de informes del miniprograma

Problema: El miniprograma Dada SDK se informa en lotes, mientras que el Meridian SDK se informa individualmente, lo que genera diferencias en los datos.

Solución: Meridian SDK admite informes por lotes

6. Los puntos enterrados H5 se descartarán cuando su magnitud sea demasiado grande.

Problema: en las aplicaciones de torrent, la tabla fuera de línea de Meridian descartará los datos después de que el session_id sea mayor que 10,000 veces.

Solución: el almacén de datos de la misma ciudad consume datos directamente del tema en tiempo real y los coloca en la tabla fuera de línea sin agregar el límite de cantidad de session_id.

Autor: JD Retail Priscilla Zhou

Fuente: Comunidad de desarrolladores de JD Cloud Indique la fuente al reimprimir

Microsoft lanza una nueva "aplicación de Windows" .NET 8 oficialmente GA, la última versión LTS Xiaomi anunció oficialmente que Xiaomi Vela es de código completamente abierto y el kernel subyacente es NuttX Alibaba Cloud 11.12. Se expone la causa de la falla: Servicio de clave de acceso (Acceso Clave) excepción Vite 5 publicó oficialmente el informe de GitHub: TypeScript reemplaza a Java y se convierte en el tercer lenguaje más popular Ofrece una recompensa de cientos de miles de dólares por reescribir Prettier en Rust Preguntar al autor de código abierto "¿Sigue vivo el proyecto?" Muy grosero y Bytedance irrespetuoso : uso de IA para ajustar automáticamente los operadores de parámetros del kernel de Linux Operación mágica: desconecta la red en segundo plano, desactiva la cuenta de banda ancha y obliga al usuario a cambiar el módem óptico
{{o.nombre}}
{{m.nombre}}

Supongo que te gusta

Origin my.oschina.net/u/4090830/blog/10148335
Recomendado
Clasificación