Datos en tiempo real con Ajax

Variación Solución: (Casi) Real-Time Data

Cuando la negociación de acciones o productos de renta fija en un mercado, también se desea recuperar en tiempo real de los conjuntos de datos. Por "tiempo real" los conjuntos de datos, quiero decir casi conjuntos de datos en tiempo real, como personas que construyen realmente en tiempo real de aplicaciones pueden ofenderse por la forma vagamente que definir "en tiempo real." Desde un punto de vista personal, creo que datos en tiempo real no es posible con el Ajax, ya que son simplemente Muchas capas de software. Lo que es posible es casi datos en tiempo real, con cerca de medio segundo o menos de retraso (por supuesto, esto se basa en mi propia experiencia que de ninguna manera es definitivo). En cuanto a la mayoría de las aplicaciones comerciales, sin incluir la reventa, los datos casi en tiempo real es bastante bueno. En tiempo real es una variación del artículo que ya hemos visto, cuando una tarea de tiempo real es similar a una tarea de larga duración. Una tarea de larga ejecución que genera datos es una tarea en tiempo real, en tanto que generan los datos siempre que pueden. La diferencia entre una tarea de larga ejecución y una tarea de tiempo real es que los datos generados por una tarea de tiempo real tiene un origen más allá de la tarea (por ejemplo, el mercado de valores, un equipo que ejecuta el proceso, etc.) Otra diferencia es que por lo general una tarea de larga ejecución tendrá una respuesta, mientras que una tarea de tiempo real no tiene una respuesta sólo los datos que mantiene que se generan.

El desajuste de lo que cada cliente ve como los datos pueden ser deseado o puede ser un problema. Por ejemplo, supongamos que usted es el control de un proceso de máquina que crea asientos de espuma. Cada asiento tiene unos 5 minutos para crear, y para que su aplicación Ajax almacenará unos 7 minutos de datos. La ventana de tiempo para su aplicación es lo suficientemente grande para incluir un ciclo de la pieza que se esté observando.

Ahora vamos a centrar nuestra atención en el mercado de valores. ¿Cuál sería una ventana de tiempo adecuado para ver una cotización de bolsa? Sería de 1 minuto, 10 minutos, un par de horas, días, semanas o años? Y dependiendo de la ventana, ¿cuál es la longitud de cada marcador gráfico individual? ¿Es 1 segundo, 5 segundos, horas, días? Una vez más, no sabemos, y tenemos un problema en que un usuario puede pedir un gráfico para cada segundo durante el año pasado. Los datos de gráfico de este tipo es enorme. En tiempo real en el lado del cliente, sólo se puede razonablemente esperar para realizar un seguimiento de los datos dentro de una ventana de tiempo determinado. Mantener un registro de una ventana de tiempo es aceptable si usted está interesado sólo en la ventana que se presenta. La realidad es que usted quiere saber lo que ocurrió en el pasado. En cuanto a los datos del pasado para una tarea en tiempo real se llama relleno los datos. En el caso del ejemplo, la equidad, es necesario incluir una reposición, porque los cálculos realizados sobre las existencias puede no ser exacta de otra manera.

  

Esta, pues, introduce una complicación adicional: ¿cómo manejar un relleno y de tarea de tiempo real, al mismo tiempo en el cliente? La respuesta es no. Un cliente de Ajax no es capaz de lógica tan complicada como ésta. La reposición y el proceso en tiempo real deben ser gestionados por el servidor. El cliente sólo ve una vista de los datos como si fuera una fuente infinita de datos. Cuando el real se inicia tarea de tiempo, los datos de series de tiempo tiene que tener sus metadatos extraídos de ella. Los metadatos se utilizaría entonces para determinar que la tarea de tiempo real añade datos para el conjunto de resultados. Así, por ejemplo, si el seguimiento de un stock en tiempo real, los metadatos sería el indicador de mercado y el tiempo de la garrapata de valores. Si inició la tarea de tiempo real a las 10:00 am, la primera marca sería 10:00 am Si usted realiza el seguimiento de las acciones en la Bolsa de Nueva York, a continuación, el conjunto de resultados completa abarcaría los tiempos de las 9:30 am a 4:00 pm, por lo menos las horas de negociación oficial. Para nuestro ejemplo, eso significa que los datos que faltan son las garrapatas de las 9:30 am hasta el 9:59:59 am Los datos que faltan, se añadirá el resultado de la ejecución de una tarea que carga los datos históricos de una fuente alternativa de datos. Cuando los datos históricos se ha añadido, la combinación de los dos conjuntos de datos de los resultados en una base de datos completa y coherente conjunto de resultados. Independientemente de cuándo o cómo los usuarios finales ver los datos, todos los usuarios finales ver los mismos datos. Se puede llegar a la conclusión de que cuando los datos se presentan en un formato consistente, que ha cambiado el problema de un verdadero generador de datos en tiempo a un problema de generar un conjunto de datos que le pasa a requerir de un día completo para calcular los resultados.

En términos de aplicación, se aplican las siguientes reglas básicas:

• Es necesario definir lo que constituye un conjunto de resultados completos. Se necesita definir un resultado completo, establecidos en términos de días, horas, o alguna otra unidad cuantificable de medida. Por ejemplo, podría utilizar como unidad de medida de un barril vacío que se llena.

• Los datos generados por la tarea en tiempo real, debe describirse mediante sus metadatos, que puede ser utilizado para crear un índice.

• Cuando la tarea de tiempo real se ha iniciado, los datos se añade al conjunto de resultados utilizando un índice.

• Para las situaciones en que la tarea de tiempo real que se inicia en un momento posterior en el tiempo, los datos que faltan en el índice es proporcionada por una tarea que se realiza un relleno.

• Una de las tareas de reposición se ejecuta cada vez que la tarea de tiempo real de datos se pierde debido, por una razón u otra. La tarea de reposición también sirve el propósito de asegurar que los datos generados por la tarea en tiempo real es coherente y precisa. Desde la perspectiva del cliente, vemos un resultado completo conjunto con un gran número de elementos. El cliente decide en qué índice que quieren comenzar a seguir en tiempo real los datos generados.

Resumen del artículoEl enfoque de este artículo era en la construcción de la aplicación AWeb que manipula grandes conjuntos de datos o lenta. Mantenga los siguientes puntos en mente:

• Grandes y lento conjuntos de datos se tratan con el uso de la misma solución. La solución podría haber variaciones de aplicación, pero siempre será un enfoque basado en tareas y el uso de una caché en el cliente o servidor.

• Todos los resultados se componen de conjuntos de datos, donde cada individuo ha resultado un elemento de metadatos.

• El elemento de metadatos se utiliza para identificar un resultado individual. Basándose en los metadatos, es posible determinar una dirección URL algoritmos a los datos. No debe haber elementos de metadatos que se puede confundir con otros, sin embargo, un solo descriptor elemento de metadatos puede contener múltiples resultados individuales.

• Piense en el elemento de metadatos como el apoyo a su capacidad para aplicar la teoría de conjuntos para seleccionar, mostrar, o navegar por los datos.

• Navegar grandes conjuntos de datos o lento requiere especializados de navegación.

• La navegación especializada se basa en los usuarios puedan navegar rápidamente a los metadatos, permitiendo a los usuarios hacerse una idea rápida y aproximada de lo que figura en los datos.

• La navegación especializados debería incluir el uso de técnicas de navegación clickless tanto como sea posible.

• El rendimiento de la aplicación depende de la aplicación de la caché en el cliente y el servidor.

• Para la mayoría de las implementaciones de este artículo, usted tendrá que ajustar la memoria caché de modo que el caché de algoritmos puede determinar lo que el usuario final tiene que ver a continuación.

• La forma más sencilla de caché de sólo lectura para aplicaciones de tipo sería una sola caché de cliente solicite. Para aplicaciones donde los cambios de datos con regularidad, una validación de HTTP es necesario caché en función. Para cualquier otra aplicación, la memoria caché sería una combinación de la solicitud única y la validación de HTTP.

• ¿Cómo los datos de largo se mantiene en la caché del servidor y de cliente depende de la naturaleza de la solicitud, y es un parámetro ajustable.

• Una lenta y grandes conjuntos de datos de aplicación se distingue de una aplicación web regulares en que la respuesta a un puesto se recupera con un GET por separado.

• La entrada generar una tarea en la tarea podría ser la ejecución en otro hilo o en otro proceso. El POST, que dio lugar a la tarea, en la mayoría de los casos retorno suficiente información de metadatos para identificar la dirección URL de los resultados.

• Los resultados se almacenan en su propia URL que pueden hacer referencia a una memoria caché. Los resultados son por lo general sólo se puede acceder mediante el GET y DELETE verbos. Puede haber formas de afinar el conjunto de resultados utilizando subdirectorios o parámetros de consulta.

• No borre los resultados utilizando un enfoque basado en la pila. El cliente en general se mantenga el cursor sobre los últimos resultados o constantemente descargar todos los resultados. Este enfoque es preferible para la estabilidad y robustez.

• datos en tiempo real es una variación de la lenta y grandes conjuntos de datos del artículo. La gran diferencia con respecto a una tarea de larga duración es que una tarea de tiempo real se ejecutará durante el tiempo que la información de seguimiento está siendo rastreado.

• en tiempo real de datos debe ser combinado con un panorama más amplio de lo que es un conjunto de resultados. Desea convertir la información en tiempo real pone en un mayor conjunto de datos que incluye una reposición, lo que parece que los datos en tiempo real de trabajo es en realidad una tarea lenta de datos que le pasa a la necesidad de un día completo o por unidad de tiempo para completar sus cálculos.

un artículo presentado por Sonja Lande


Descargo de responsabilidad:Nuestro sitio web no es responsable por el contenido de este artículo. Webarticles es un recurso de información gratuito.
Importante: Este artículo "los datos en tiempo real con Ajax" fue traducida por un software automático. Sentimos pena por los errores de ortografía que pueda haber ocurrido. Gracias por su comprensión.


Online: 273 users browsing the articles directory