我已经建立了一个通过FTP与网络摄像头交互的应用程序,然而完成它后,我有一个速度问题。应用程序结构如下:
网络摄像头-> /Mysql -> PHP
网络摄像机ftp的图像传输到通过MySQL / PHP管理的Proftp服务器。PHP充当用户的客户端,它反过来从FTP服务器提取最新的图像。
这是可行的,但速度非常慢。问题出在Proftp -> PHP端。使用标准的PHP库,连接到ftp服务器、->、列出->的目录、输出文件内容大约需要4秒。
速度问题是由于该过程的身份验证部分造成的。根据我所看到的,没有办法缓存/存储/序列化FTP连接,这意味着对服务器的每个请求都必须启动一个新的请求。
这些是我到目前为止的想法..
1)在打开永久FTP连接的情况下,在while循环中运行PHP脚本,但我知道PHP不是以这种方式运行的。
2)创建一个运行node.js / java等的守护进程,该守护进程能够保持永久的ftp连接打开,并让PHP与之交互。对于这种方法,我担心的是编写更多代码所涉及的额外维护,这会复制已经用PHP编写的身份验证代码。
3)?
如有任何帮助/建议,我们将不胜感激!
发布于 2012-10-08 22:32:52
在cron作业上调度它,使FTP脚本几乎可以永久运行,或者以给定的短时间间隔运行,这不是很明智吗?
发布于 2012-10-08 22:42:32
为什么你不厌其烦地阅读ftp上的图片呢?
如果它们在同一台服务器上,只需通过php直接从存储目录读取即可。
如果它们不在同一台服务器上,利用某种机制通知php最新的图像(例如,通过文本文件、GET变量等)。并直接输出http/ftp图像。
https://stackoverflow.com/questions/12783638
复制相似问题