Jeje, la cosa sería que los scripts usasen semáforos para evitar el
problema que dices de serializar el mismo objeto en diferentes scripts,
supongo que el procesamiento será rápido y así soportaría varios
usuarios interactuando rápidamente.
La idea inicial que tenía sería usar un objeto de la clase "X" que
mantuviese en todo momento el estado del documento, de las personas que
lo están editando y del párrafo en el que se encuentra cada una. Así se
podría evitar que varias personas editasen simultaneamente el mismo
párrafo y se podrían informar al resto de usuarios quienes están
viendo/editando el archivo.
No se si lo de la memoria será más eficiente, por lo que he visto el
tema de la serialización se mejoró en la versión 4 y pico y en cuanto a
semáforos no sabía ni que existían xD.
Salu2
F. Martín Umpiérrez escribió:
> el problema es que php no es un sevidor de aplicaciones y por eso
> supongo que recurren a java, de esa manera se puede mantener un objeto
> permamente que se encargue de la concurrencia.
>
> Si se intenta algo similar en php, supongo que por eso dices lo de
> serializar, habrian X scripts en PHP que estaría serializando y
> deserializando un mismo objeto, ¿no?, entonces podria suceder que
> hubieran varias instancias del mismo objeto que hubieran sido
> deserializadas en el mismo lapso de tiempo.
>
> Hace tiempo tuve un problema similar que queria resolver con php, lo
> que llegué a pensar fue usar funciones de php para solicitar un area
> de memoria pero que yo recuerde (hace casi 4 años de esto) no eran
> portables, estaban bastante ligadas al SO sudyacente. La idea seria
> solicitar un area de memoria que todos los scripts php que interactuen
> sobre un mismo documento compartan, y mediante esa memoria,
> sincronizarse de alguna manera
>
> 2009/5/31 Raúl Jiménez Ortega <hhk...@gmail.com <mailto:hhk...@gmail.com>>
> <mailto:jllop...@gmail.com>>
>
> No sé cómo funcionarán los centinelas de JSP, pero supongo que
> de una forma muy similar, el cliente tendrá que estar haciendo
> peticiones.
>
> Yo el almacenamiento lo haría en una base de datos, pero lo de
> los ficheros no me parece mal si es algo temporal y hay en
> esta lista gente con mucha más idea que yo.
>
> El 31 de mayo de 2009 11:57, Raúl Jiménez Ortega
> <hhk...@gmail.com <mailto:hhk...@gmail.com>> escribió:
>
> Ahá, como sospechaba cuando comente esto:
>
>
> "La cosa es que como la idea era hacerlo en tiempo real y
> tal, pensaba que usar bases de datos (con tantas
> consultas), 1 consulta por segundo por cada usuario que
> esté editando documentos en el sistema iba a ser menos
> eficiente."
>
> Lo malo entonces es que sobrecarga el servidor con
> peticiones innecesarias, lo cual puede ser válido en un
> sistema con pocos usuarios. Entonces de momento solo
> quedaría la alternativa de usar un centinela en JSP
> (Apache Tomcat) que soporte COMET si se quiere evitar eso.
>
> :(, a ver si los de Apache se ponen las pilas y sacan una
> nueva versión con COMET!jeje
>
> Salu2
>
> P.D: entonces hemos dicho que en ese caso sería mejor un
> GBD o el sistema de ficheros?, yo pensaba en cargar el
> fichero en un objeto mientras se esté editando y
> serializarlo hasta que se termine, luego (al terminar la
> edición) pasarlo a la BD.
>
>
> 2009/5/31 [PiNo] <jllop...@gmail.com
> <mailto:jllop...@gmail.com>>
>
> Sí, el servidor no puede enviar información al cliente
> de forma asíncrona, puedes hacer que el cliente haga
> una petición cada X segundos.
>
> El 31 de mayo de 2009 11:51, Raúl Jiménez Ortega
> <hhk...@gmail.com <mailto:hhk...@gmail.com>> escribió:
> <http://nefertec.wordpress.com>
> Twitter: www.twitter.com/hhkaos
> <http://www.twitter.com/hhkaos>
> Asociación de webmasters: www.webmastergranada.es
> <http://www.webmastergranada.es>
> Iniciador: www.iniciador.com
> <http://www.iniciador.com>
> Linkedin:
> /www.linkedin.com/pub/dir/raul/jimenez%20ortega
> <http://www.linkedin.com/pub/dir/raul/jimenez%20ortega>
> Xing: www.xing.com/profile/Raul_JimenezOrtega
> <http://www.xing.com/profile/Raul_JimenezOrtega>
>
>
>
> 2009/5/31 [PiNo] <jllop...@gmail.com
> <mailto:jllop...@gmail.com>>
>
> Creo que los requisitos que estás planteando
> son un poco exigentes. No sé si has visto cómo
> funcionan las páginas de Google Groups, se
> limitan simplemente a mostrar un aviso si hay
> una persona que ya está editando el mismo
> fichero y los cambios no se guardan hasta que
> l usuario no lo indica. Yo creo que son eso ya
> sería suficiente.
> Yo lo había planteado hacer por ficheros (el
> bloqueo) y no por párrafos y por otra parte,
> tener un fichero para cada párrafo.... lo veo
> muy bestia.
>
> No entiendo a qué te refieres con lo de los
> sockets.
>
> Lo de que se puedan ejecutar varios scripts de
> PHP al mismo tiempo es seguro.
>
>
> El 31 de mayo de 2009 11:24, Raúl Jiménez
> Ortega <hhk...@gmail.com
> <mailto:hhk...@gmail.com>> escribió:
> <mailto:jllop...@gmail.com>>
>
> Yo conocía que existía la
> serialización en PHP (por un trabajo
> que hice para PDO), pero no la he
> utilizado nunca. La cuestión es ¿para
> qué la necesitas? ¿Qué información
> quieres almacenar que no puedas tener
> en una base de datos (que te permitirá
> acceder a esos datos de una manera
> mucho más eficiente)? Si es porque no
> quieres que varias personas accedan a
> un recurso puedes bloquear filas al
> menos con una de las dos tecnologías
> de almacenamiento de MySQL (ahora no
> reduerdo si con MyISAM o InnoDB).
>
> El 31 de mayo de 2009 3:27, Raúl
> Jiménez Ortega <hhk...@gmail.com
> <mailto:hhk...@gmail.com>> escribió:
> --~--~---------~--~----~------------~-------~--~----~
> Has recibido este mensaje porque estás suscrito a Grupo "UGR
> Webmasters" de Grupos de Google.
> Si quieres publicar en este grupo, envía un mensaje de correo
> electrónico a ugr-web...@googlegroups.com
> Para anular la suscripción a este grupo, envía un mensaje a
> ugr-webmaster...@googlegroups.com
> Para obtener más opciones, visita este grupo en
> http://groups.google.com/group/ugr-webmasters?hl=es.
>
> -~----------~----~----~----~------~----~------~--~---
>
--
Raúl Jiménez Ortega
Tlf: 652 38 43 50
CV: http://nefertec.wordpress.com/about/