principio algoritmo de enlace corto

Por lo general, cuando accedemos a Internet, el más impresionante tiempo de un servicio de enlace es corto. Por ejemplo: por lo general en el punto de vista de una página web de micro-canales, si queremos, cuando el navegador se abra, verá una dirección URL muy larga, compartimos el tiempo, verá una URL corta, que se menciona en este una de las aplicaciones de enlaces cortos.
Eslabón largo Ejemplo: https :? //Mp.weixin.qq.com/s __biz = MzAxNzMwOTQ0NA == & Mid = 2653355437 y idx = 1 y sn = 5901826ea638462ff71b7f2d06c6331d y chksm = 8035d7c6b7425ed06661866af60657414bb71765d2ce915d14726736fa1e72ea8a529331c947 y escena = 0 & key = 34df968fd24033237ff036c7de8b6745e1968de9564cf2a8db689025dd0c3682848381771dab960824f506e6f9d484614746f9c0eecb48b884ce4320bb86470a77ce811cc5b401a8800b6fd6b36be097 y ascene = 0 & uin = ODU5NDQ1NjI1 y tipo_de_dispositivo = iMac + MacBookAir6% 2C2 + OSX + OSX + + 10.12.6 acumulación (16G29) y version = 12020810 y nettype = WIFI y fontScale = 100 y = pass_ticket IvPqxUmCJqZg9% 2B3GfAIQSbQ4IGRIHx796D0UwlCyUCu4b5P4bSsjlN89A0eRzSfL
generé sistema de enlace corto (a largo plazo expirará): https: //0x9.me/FAKcm

Cómo convertir enlaces largos en cortos enlaces que?

Sin más, estamos muy corto enlace es un enlace corto. Nuestro objetivo es convertir enlaces largos en enlaces cortos. A continuación, quiero hacer una pregunta: cómo convertir enlaces largos en cortos enlaces que?
1. Compresión
implementar un algoritmo para convertir la dirección corta a la dirección larga. A continuación, realizar una operación inversa, convertir la dirección corta a la dirección original. De hecho, piense cuidadosamente, esto es imposible.
2.Hash algoritmo
puede ser una manera de la mayoría de la gente podría pensar de. Alguien va a proponer, será una operación larga URL hash, entonces el valor hash que identifica esto como un enlace de largo. Pero por lo general fácil pensar que no es necesariamente la mejor, sabemos que es posible producir colisiones de hash, solución de colisión de hash aumentará la complejidad del sistema de eslabones cortos.

algoritmo óptimo

Por el principio de Fa

Como su nombre indica este sistema es la primera petición vino, que microblogging, por ejemplo, la primera petición que podemos dar los sistemas de enlace cortas resultan t.cn/0, segundo t.cn/1 etc;
implementación camino será muy simple
uno, sistema compacto con el índice de incremento automático de MySQL debería ser suficiente.
2, los sistemas grandes pueden ser considerados sistema de llave-valor distribuido.

principio de almacenamiento

estrategia Fa es tal que, cuando un nuevo enlace sobre, Fa se emite un número correspondiente. Cada vez que un nuevo enlace volver, mantuvo Fa Fa es muy bien. Por ejemplo, el primer enlace entrante Fa Fa es 0, correspondiente al enlace es corto xx.xxx/0, el segundo enlace entrante Fa es Fa No. 1, que corresponde a un enlace corto a xx.xxx/ 1, y así sucesivamente.
número decimal Fa emite banda 62 deben ser convertidos, que puede reducir en gran medida la longitud de la número convertido en una cadena. Por ejemplo Fa emite 10000000000 este número, si no convertido a hexadecimal 62, directamente detrás del dominio de empalme, para obtener una xx.xxx/10000000000 tal enlace. Convertido en el anterior número 62-ary, el resultado es AOYKUa, longitud de solamente 6, anexa enlaces a xx.xxx/AOYKUa. Puede ver, la banda de la longitud de enlace corto convertida se acorta un poco. 6 hexadecimal número 62, correspondiente al espacio número 626 es aproximadamente igual a 56800 millones, así que básicamente no se preocupe donde Fa es ningún número puede ser emitido.

escenarios de alta concurrencia

El diseño anteriormente parece tener un único punto, que es es emitida número. Si comete un distribuido, multi-nodo a continuación, añadir 1 para mantener la sincronización, escritura simultánea de múltiples puntos. Por lo tanto, es difícil evitar un único punto de cuello de botella. Por lo tanto, podemos considerar un solo punto en un multipunto. Podemos introducir una pluralidad de máquina, podemos establecer el número de la máquina A sólo envía hace igual a 0 módulo 100 a 100N, empatía sólo se envía a la máquina B es igual a 1 modulo 100 números 100n + 1, y así sucesivamente, cada uno de la máquina independientes entre sí, sin molestar a los demás, podemos extender nuestras máquinas en cualquier momento.

Los mismos enlaces largos, cada enlace se transforma en el mismo corta

Los mismos enlaces largos, cada enlace no necesariamente se convierten en corto, como, porque si la caché de consultas, si no es golpeado, Fa enviará un nuevo número para el enlace. Cabe señalar que la memoria caché debe almacenar en caché con frecuencia convertir enlaces populares, siempre que el tiempo establecido caché de expiración de una hora, si un enlace está activo, entonces el aciertos de caché de consulta, la memoria caché se actualizará el tiempo de supervivencia del enlace, la re-sincronización, esta enlaces serán existencia a largo plazo de la memoria caché.
También podemos introducir algoritmo LRU. A menudo no se supriman en utilizar el enlace.

redirección

Seleccione 301 o 302?
301 es una redirección permanente, redirección 302 es temporal.

Si elige 301 : Después de un corto generación de direcciones no va a cambiar, está en línea con el 301 http semántica. También habrá algo de presión para reducir el servidor. Como resultado, no podemos contar el número de veces que se hace clic en la dirección corta.
Si elige 302 : Selección de 302, aunque se incrementará la presión en el servidor, pero se puede contar el número de veces que se hace clic en la dirección corta, y puede ser tarde para grandes volúmenes de datos de procesamiento de clics, el aprendizaje automático y algoritmo de recomendación.
Seleccione 302 o 301, presumiblemente, los corazones de los lectores sin duda hay varios de los.

otro

Lo siguiente es de la Internet para encontrar algún algoritmo Resumen:
Algoritmos de:

La posibilidad más obvia es la clase de algoritmos de cifrado uso MD5 y luego se procesa para cadena cifrada.

1) La longitud de la cadena de URL md5 genera la firma de 32 bits, dividido en cuatro segmentos, cada uno de 8 bytes;
2) Estos procesamiento cuatro bucle, teniendo ocho bytes como una cadena hexadecimal y él 0x3FFFFFFF ( 30 1) y la operación, es decir, más de 30 ignora el procesamiento;
3) 30 que se divide en 6 segmentos, cada número de cinco dígitos como un índice para obtener una cadena de caracteres del alfabeto particular, realizado de forma secuencial para obtener 6;
4) Total cuerdas md5 pueden obtener cuatro cuerdas 6 bits; se pueden tomar de forma arbitraria como el interior de una longitud corta direcciones URL url.

Dos algoritmos:
A-zA-Z0-9 se necesitan seis combinaciones de 64 bits, puede producir 500 millones de combinaciones de órdenes. Los números y caracteres hacen alguna combinación de los mapas, que puede generar una cadena de caracteres únicos, tales como 62 combinaciones es aaaaa9, la primera composición 63 es aaaaba, reutilización algoritmo de barajar, el almacenamiento cadena original interrumpido, entonces el correspondiente posición en la cadena de combinación será una combinación de trastornos.
La longitud de la URL almacenada en la base de datos, teniendo ID devuelto, encontrar la cadena de caracteres que corresponde, por ejemplo, devuelve el ID 1, a continuación, la cadena de caracteres correspondiente es una combinación de lo anterior acreditación, la empatía ID es 2, la combinación de cadena BBA, etc. después de lo que parece, hasta que alcanza las 64 combinaciones pueden repetirse

Publicados 158 artículos originales · ganado elogios 119 · vistas 810 000 +

Supongo que te gusta

Origin blog.csdn.net/u013474436/article/details/104764524
Recomendado
Clasificación