2008-09-17 24 views
7

Tengo problemas para decidir si clasificar mi aplicación como 'en tiempo real' o 'casi en tiempo real', o tal vez incluso algo más.Lo que constituye 'tiempo real'

El software recibe datos inmediatamente, ya que se genera a partir de la fuente, luego, según ciertas reglas, genera una alerta cuando se cumplen ciertas condiciones. Toma el enfoque de verificar los últimos 30 segundos de datos cada 30 segundos para ver si se han cumplido los criterios para una regla.

¿Es eso en tiempo real? ¿Cuáles son los umbrales para las definiciones de tiempo real frente a tiempo casi real?

EDITAR

creo que esto es un duplicado de Define realtime on the web for business.

Decida si el hilo anterior es insuficiente para responder a su pregunta.

+0

Este es un duplicado de una pregunta previamente hecha. Déjame encontrarlo. –

Respuesta

-2

Estoy de acuerdo con John, en su situación de que está buscando al menos 30 segundos de retraso, diría que es casi en tiempo real.

-1

Diría que la definición de tiempo real dependería del contexto. Al igual que con el ejemplo de música, el tiempo real necesitaría ser milisegundos, pero posiblemente con su ejemplo, el tiempo real podría estar dentro de los 30 segundos más o menos. Todo es relativo.

-1

Creo que necesita ver la solución específica o parte de la solución donde necesita que la respuesta sea en tiempo real. Una respuesta en tiempo real es aquella que el receptor (la aplicación o, básicamente, el usuario final) percibe como en tiempo real.

3

Bueno, eso podría ser más una cuestión de marketing que técnica.

En tiempo real, en términos de hardware integrado, implica un tiempo máximo fijo conocido para manejar la información entrante (interrupciones y similares).

Sin duda puede reclamar 30 segundos de retraso como en tiempo real, especialmente si la entrega de dicha información es más larga que eso.

Por ejemplo, si su "alerta" es un correo electrónico que podría pasar 10 minutos en un servidor de correo o una cruz roja en un monitor que los usuarios solo revisan cada media hora, 30 segundos es más que adecuado para tiempo real .

-1

Real Time se ocupa de microsegundos ... principalmente en robótica. Piense 'mover el brazo 30 microsegundos; soldar 1000 microsegundos; ', como en el ensamblaje de automóviles.

¿Sus 30 segundos están basados ​​en un Thread Sleep o un temporizador en un sistema operativo no en tiempo real? Si es así, entonces tienes una variabilidad potencial. ¿Lo considerará un fracaso si está fuera de esa varianza (30.01 segundos)? Si no, entonces no es en tiempo real.

2

Creo que un aspecto que define en tiempo real es que el proceso es determinista - es decir, el tiempo de respuesta de la aplicación es totalmente predecible en función de las entradas.

Por lo tanto, pintar con pinceladas muy amplias, cualquier aplicación que se encuentre encima de Windows solo puede ser "casi en tiempo real", en el mejor de los casos. Doblemente así si su aplicación se ejecuta en algún tipo de plataforma sandbox (Java, .NET) donde no tiene control absoluto sobre las funciones de la plataforma (por ejemplo, recolección de basura).

Mi regla personal es que "en tiempo real" no pertenece a una PC de escritorio; ese es el dominio de los PLC (y sí, pueden estar ejecutando sistemas operativos como QNX, VxWorx o incluso RTLinux).

16

Tiempo real = Tiempo máximo garantizado para la resolución. Puede ser en segundos o picosegundos según los requisitos de la aplicación

Este es el mayor problema de StackOverflow: las personas no calificadas responden MUCHAS preguntas con respuestas que "suenan bien" y votan, las personas a las que les importa si la respuesta es correcta no t arrojar tonterías lo suficientemente rápido como para ganar un representante para arreglar las respuestas incorrectas. Publicación anónima debido a las reacciones instintivas esperadas.

+0

Estoy completamente de acuerdo con usted aquí, tanto en la respuesta como en los carteles desinformados que responden preguntas sobre temas que no conocen. –

+0

Oye, parece que SO está funcionando ahora ... las respuestas tontas están cayendo ... –

+0

Sería genial si SO rechazara automáticamente cualquier respuesta que comience con "Creo ..." o "En mi opinión ... . ". Pero, como señala Stu, las respuestas correctas generalmente llegan a la cima, aunque puede llevar algunas horas o días hacerlo. –

0

Creo que la respuesta es que los sistemas en tiempo real son subjetivos, en el sentido de que "en tiempo real" son las limitaciones de tiempo impuestas por los requisitos. Aunque claramente algo que demora 2 horas para responder a una solicitud no es en tiempo real, un retraso de 30 segundos podría ser lo suficientemente rápido como para calificar como tiempo real.

Trabajo en sistemas que considero en tiempo real, cuando ocurre un evento en el sistema se propaga inmediatamente a dispositivos en el sistema, de modo que el retraso en conocer una actualización en un dispositivo es producto de la latencia de la red y el tiempo necesario para actualizar sus datos en memoria.

Yo personalmente no clasificaría algo con esas encuestas para actualizaciones cada 30 segundos como en tiempo real. Tenemos una aplicación web como parte del sistema antes mencionado que hace justamente eso, se renueva cada 30 segundos, por lo que al usuario se le presentan datos que tienen como máximo 30 segundos de antigüedad. Contraste esto con las formas de ganar igual que se actualizan tan pronto como ocurre el evento.

Nuevamente, "tiempo real" está limitado por su definición de respuesta oportuna.

6

La frase "en tiempo real" cubre un pedazo bastante grande de terreno.

La definición vaga es "software que actúa dentro de un tiempo de respuesta limitado".

Donde el límite es difícil, p. en el sistema de control de inyección de un automóvil, se dice que el software es "difícil en tiempo real".

Donde el límite es suave, p. Ej. en un sistema de reproducción de música, donde se toleran variaciones de hasta 50 ms, se dice que el sistema es "en tiempo real suave".

Así que sí, para una cierta definición de tiempo real, su sistema es en tiempo real.

Pero probablemente te va a echar a reír si lo llamas en tiempo real con cualquier otra persona que realmente trabaje en sistemas en tiempo real, porque 30 segundos es bastante grande.

0

Otra forma de definir "en tiempo real" es mediante la evaluación de las capacidades de los muchos RTOS s (sistemas operativos en tiempo real). Por ejemplo, la definición de QNX es here. Tenga en cuenta que cumplen con el estándar de producto del sistema POSIX PSE52 Realtime Controller 1003.13-2003. La mayoría de los sistemas operativos integrados proporcionarán una funcionalidad similar.

8

En tiempo real se está recibiendo una respuesta requerida para un evento completado dentro del período de tiempo especificado o su sistema falla.

La gente está acostumbrada a pensar que esto debe significar 'cantidad pequeña de milisegundos/microsegundos', pero eso no es necesariamente cierto, depende de su sistema.

Si su sistema falla si no completa su respuesta requerida en 30 segundos, entonces es 'en tiempo real'.

Para algunos sistemas, un error podría ser catastrófico, p. Ej. causando muertes múltiples: esto se describe como crítica de seguridad, p. cerrar una planta de energía nuclear.

1

Definición de 'duro' en tiempo real de mis amigos de control: la información tardía es información incorrecta. Si necesita estar allí cada 1s y llega a 1.1s, es inútil para los cálculos.

+0

Creo que esta es la mejor definición aquí. El tiempo real no implica un régimen específico de "velocidad"; significa que la corrección del programa se define no solo como el resultado correcto, sino que también entrega ese resultado en el momento correcto (que puede ser determinista, pero tal vez no, y podría ¡se definirá en nanosegundos, minutos o incluso días!) --JA – andersoj

1

Ofrezco un largo discurso sobre esto en mi sitio web real-time.org. La página de inicio tiene un enlace temporal a una sesión informativa. El informe discute cómo y por qué las personas no entienden lo que significa "en tiempo real" (y "difícil" y "suave" y "predecible", etc.). Proporciona algunas definiciones precisas y generales. He escuchado de personas que no están de acuerdo con mi explicación de este tema, pero ninguno de ellos ha presentado algo remotamente tan preciso y general como el mío. "Levanta una silla, hablemos", como dice Larry King.

Cuestiones relacionadas