我想开发一个在线路径搜索Web服务。它搜索图G中的路径,该路径花费两个顶点V1,V2之间的最小边缘距离和。
问题是 G非常大。它包含近1000万个边缘。
如果G足够小,可能很简单。我宁愿......
我自己的PHP脚本将......
由于以下原因,这种方法不适用于巨大的G。
这意味着构建的网络应该在搜索请求之前准备好内存,并且每个顶点/边缘对象应该更轻量化。
我决定在C中实现这项服务。我认为实现Apache模块比完全从头实现并发的高性能网络守护程序要容易得多(如果有更好的解决方案,我想知道关于它)。
那么,我应该在哪里建立内存G?
如您所知,Apache Web服务器是多线程,多处理守护程序。如果你开发了一个为每个进程构建内存G的愚蠢模块,它将在10个处理过的服务器的内存上构建近1亿条边(10个相同的结构)。
我希望模块更智能,从每个进程共享1个单个内存G ,无论有多少进程在运行。
您认为在Apache模块中构建数据结构的最佳位置在哪里?