代码改变世界

如何分析和提供PHP的并行问题

2011-11-09 17:15  AnyKoro  阅读(277)  评论(0编辑  收藏  举报

概述:

对于分析并行问题最有效的方法就是递归式地将问题分隔成2个或多个相同类型的子问题,直到这些问题简单(和快速)到可以直接解决。

然后将这些子问题的解决方案组合成为原问题的解决方案。

实例:

为了更好的解释,我们举个实例。在数据库中现在有几百万条的财政支付数据记录,现在你希望使用PHP并行地处理:

1、首先将你的数据按逻辑块分组,将需要在同一个事物中处理的分成一组。如果你要为很多个账号处理支付信息的话,就根据账号进行分组。

2、确定并行处理的个数。例如,如果我们的服务器是1U的双核CPU,那么我们就运行2个并发的子处理。

3、将所有的记录进行分割,具体按照什么分割根据实际情况,比如中位数、因为中位数可以很好的在数量上均分记录。

4、按照我们之前说的情况,我们将第一条记录到中位数对应的记录交给一个子处理,第二个子处理就处理余下的记录。

以上只是说明了个很简单的情况,我们这里的分割时根据中位数的,在很多实际情况中,我们并不会这样分,更可能是根据不同性质的数据交由不同的服务进行处理。但是大致的思想就是如此。