我想建立一个基于Javascript/HTML5地理定位的社交网络,我想知道可能的架构的最佳选择。客户端 - 服务器可以很容易开发,但缺点是系统资源可能非常高,尤其是因为应用程序必须管理移动(最坏的情况:汽车中的用户必须看到汽车周围的其他用户)。是否可以在P2P网络中进行空间搜索?
Basicaly,在客户端 - 服务器架构,服务器任务将是:
- 收集并存储纬度和用户的经度(可能有几千条)
- 使地理距离搜索该用户(获取用户在他周围的用户列表)
- 建立并向客户端发送用户在列表中的位置的XML文件
这3个操作必须定期进行,每3或5秒进行一次,因为我需要一张“活”地图,显示列表中的用户在他们的环境(城市,城镇)中移动。
所有这3点可以优化:
- 客户移动10米时,以减少的数据的量来处理
- “球形矩形”中MyISAM表与空间索引搜索发送他的位置(使用MBRContains)来卸载MySQL数据库。
- 公共输出文件:如果2个用户位于x米半径内(2个用户彼此靠近),则发送的XML可以相同。
很难使负荷估计在这个阶段,但我认为,客户端 - 服务器架构是不适合这种类型的应用程序和peer2peer的可能是一个很好的答案,如果当它们相互靠近2个客户端可以通信。
我的观点是:
是否有任何梅索德使可能的客户到位于某一半径没有中央服务器的帮助下盲目搜索其他客户端? (它可能与UDP广播:-)
编辑:更正。 UDP Brodcast允许客户机在任何地方,某个范围或IP地址中轮询机器。
感谢你的帮助, 弗洛朗
我GOOGLE“搜索空间P2P”,发现这两个研究(它看起来是非常复杂的空间算法和我将尝试使用基本的客户端/服务器架构进行操作)。 http://www.springerlink.com/content/9r6wl93g52bg6c75/ http://www.ijcaonline.org/archives/number15/315-483 – Flo 2012-02-19 20:14:54