服务器有一个任务要执行,可能要分布到每台计算机 假设有1,2,3...j....n台
每一台都有自执行模块, 相当程序里的Function他们之间是配合工作的,每台计算机都有优先级的,分别是1,2,3,4...i.....m
执行从1开始,到m,如果要执行i必保证i-1执行成功,如果不成功的话,就不能执行.但又不能保证n台计算机都同行开机工作, 如果到j台突然关机, 程序得不到执行,但值还有, 当用户开机后, 这台机器开始运行, 并把值传给下一台机子, 直到m任务...还有就是监视状态,服务器可以检查到哪台机子不能运行有记录,可以让用户知道程序执行到哪了...!!

解决方案 »

  1.   

    前一段时间Python中文社区搞过一个类似的分布式资源管理系统。比你这个大很多,不知道进展到哪一步了。楼主有兴趣可以在Google上找一下啄木鸟社区。
    BTW:问题很大,不过标题还是显得太大了,呵呵。
      

  2.   

    可以使用Remoting技术,并在服务器上使用委托、回调等方法。
    稍微繁了一点,但也不至于让所有CSDN程序员都来才能解决。呵呵,太小看了吧。
      

  3.   

    Remoting技术肯定要的,呵,但不能保证关机后程序再次行到执行,也就是说不能继续上一步的操作,除非你从头执行,那是可以的,但这样的话, 假设上一台, 本来是执行成功的,然后传到下一台, 然而下一台关机后,返回操作,是正常状态,而上一台又出毛病了.所有程序可能反复执行来执行去,不能达到效率的时间上的节约,呵呵...
      

  4.   

    Jenie说的这种需要消息队列支持
      

  5.   

    服务器上记录一下运行状态。不就完了。O执行完了,写服务器一下,同时唤P,写服务器一下,P执行完了,写服务器一下,同时唤Q,状态不会因为哪个机器坏了而丢掉。用个记事本就行
      

  6.   

    .Ret Remoting可以实现分布式计算,而且效果很好,对于如果有一台机器中途关机,消息队列也可以解决这个
      

  7.   

    用星形方式解决。
    把其中一台服务器拿出来做总的服务器,然后分配任务,并监听子服务器信息。每台子服务器执行任务,并定时向总服务器反馈信息。比如第i台执行成功,发回信息到总服务器,则第i+1台开始执行。如果i台突然关机,则总服务器会发现i台任务执行失败,把i台的任务交给i+1台,当i台重启了,那服务器收到i台信息,就继续分配给i台执行了。
    打个很简单的比喻用类似于客户/服务器模式就可以解决这个问题了。
    还有很重要一点,多服务器工作,他们之间必须有一台负责分配任务的,还有它们自己是定期进行通讯联络的,就行网络的路由器一样,是定期发信息联络来维护网络链路表,以此判断网络的最新状况!
      

  8.   

    用星形方式解决。
    把其中一台服务器拿出来做总的服务器,然后分配任务,并监听子服务器信息。每台子服务器执行任务,并定时向总服务器反馈信息。比如第i台执行成功,发回信息到总服务器,则第i+1台开始执行。如果i台突然关机,则总服务器会发现i台任务执行失败,把i台的任务交给i+1台,当i台重启了,那服务器收到i台信息,就继续分配给i台执行了。
    打个很简单的比喻用类似于客户/服务器模式就可以解决这个问题了。
    还有很重要一点,多服务器工作,他们之间必须有一台负责分配任务的,还有它们自己是定期进行通讯联络的,就行网络的路由器一样,是定期发信息联络来维护网络链路表,以此判断网络的最新状况!