全CSDN程序员们来挑战这个问题!!!
服务器有一个任务要执行,可能要分布到每台计算机 假设有1,2,3...j....n台
每一台都有自执行模块, 相当程序里的Function
他们之间是配合工作的,每台计算机都有优先级的,分别是1,2,3,4...i.....m
执行从1开始,到m,如果要执行i必保证i-1执行成功,如果不成功的话,就不能执行.但又不能保证n台计算机都同行开机工作, 如果到j台突然关机, 程序得不到执行,但值还有, 当用户开机后, 这台机器开始运行, 并把值传给下一台机子, 直到m任务...还有就是监视状态,服务器可以检查到哪台机子不能运行有记录,可以让用户知道程序执行到哪了...!!
问题点数:0、回复次数:20Top
1 楼zhouheng123456(授之以鱼,不如授之以渔)回复于 2005-04-02 22:47:43 得分 0
你的问题??Top
2 楼ArLi2003(阿利,MSN:url@163.com)回复于 2005-04-03 02:15:18 得分 0
网格?Top
3 楼ccat(智拙)回复于 2005-04-03 02:38:11 得分 0
前一段时间Python中文社区搞过一个类似的分布式资源管理系统。比你这个大很多,不知道进展到哪一步了。楼主有兴趣可以在Google上找一下啄木鸟社区。
BTW:问题很大,不过标题还是显得太大了,呵呵。Top
4 楼superhasty(鸟儿自空中飞过)回复于 2005-04-03 03:03:00 得分 0
可以使用Remoting技术,并在服务器上使用委托、回调等方法。
稍微繁了一点,但也不至于让所有CSDN程序员都来才能解决。呵呵,太小看了吧。Top
5 楼athossmth(athos)回复于 2005-04-03 03:08:54 得分 0
路过,看看。Top
6 楼webserv2(New life New job)回复于 2005-04-03 08:17:27 得分 0
拜一个Top
7 楼garlandz(流星街★童虎)回复于 2005-04-03 09:36:47 得分 0
说了半天,问题是什么啊。
这个是前面的描述把Top
8 楼BigIdiot628(大笨蛋,谁叫你不努力!)回复于 2005-04-03 10:23:51 得分 0
分布式应用程序吧!
个人认为是高难度。
有点像令牌环网传令牌呀,只能稍微了解一下了!Top
9 楼kotte(小学生)回复于 2005-04-03 10:46:33 得分 0
分布式。
确实不好搞!
技术还不够成熟!
Top
10 楼jenie(jenie)回复于 2005-04-03 13:29:01 得分 0
Remoting技术肯定要的,呵,但不能保证关机后程序再次行到执行,也就是说不能继续上一步的操作,除非你从头执行,那是可以的,但这样的话, 假设上一台, 本来是执行成功的,然后传到下一台, 然而下一台关机后,返回操作,是正常状态,而上一台又出毛病了.所有程序可能反复执行来执行去,不能达到效率的时间上的节约,呵呵...Top
11 楼gudengyeren(孤灯夜人)回复于 2005-04-03 13:44:51 得分 0
顶一下Top
12 楼ccat(智拙)回复于 2005-04-03 14:07:46 得分 0
Jenie说的这种需要消息队列支持Top
13 楼wingnal(清淡天和)回复于 2005-04-03 14:16:49 得分 0
不懂 太难了Top
14 楼jenie(jenie)回复于 2005-04-03 15:54:50 得分 0
对消息队列支持!呵呵, 二个要同时结合使用, 消息队列支持和远程调用都有事务处理,消息对列还支持名称,也就是当j台机子可能因为环境变化要把它转移到其它地方去,但程序还是可以认得他的,叫他去处理..哈哈,道理就是这样的。。。具体怎么做,听下回分解,哈。我现在还没做出来!!!!Top
15 楼hyj_828(水梦)回复于 2005-04-03 18:02:12 得分 0
关注Top
16 楼koenemy(小妮她爹--给孩子起个名太费劲)回复于 2005-04-03 19:04:30 得分 0
服务器上记录一下运行状态。不就完了。O执行完了,写服务器一下,同时唤P,写服务器一下,P执行完了,写服务器一下,同时唤Q,状态不会因为哪个机器坏了而丢掉。用个记事本就行Top
17 楼wym_089(活人没心跳)回复于 2005-04-03 19:19:34 得分 0
说了半天也没人解决啊,来点实际的。Top
18 楼mulintaomulintao()回复于 2005-04-03 19:50:02 得分 0
.Ret Remoting可以实现分布式计算,而且效果很好,对于如果有一台机器中途关机,消息队列也可以解决这个Top
19 楼qunxingfyb(新青年)回复于 2005-04-03 20:12:00 得分 0
用星形方式解决。
把其中一台服务器拿出来做总的服务器,然后分配任务,并监听子服务器信息。每台子服务器执行任务,并定时向总服务器反馈信息。比如第i台执行成功,发回信息到总服务器,则第i+1台开始执行。如果i台突然关机,则总服务器会发现i台任务执行失败,把i台的任务交给i+1台,当i台重启了,那服务器收到i台信息,就继续分配给i台执行了。
打个很简单的比喻用类似于客户/服务器模式就可以解决这个问题了。
还有很重要一点,多服务器工作,他们之间必须有一台负责分配任务的,还有它们自己是定期进行通讯联络的,就行网络的路由器一样,是定期发信息联络来维护网络链路表,以此判断网络的最新状况!Top
20 楼wjcking()回复于 2005-04-03 21:37:14 得分 0
用星形方式解决。
把其中一台服务器拿出来做总的服务器,然后分配任务,并监听子服务器信息。每台子服务器执行任务,并定时向总服务器反馈信息。比如第i台执行成功,发回信息到总服务器,则第i+1台开始执行。如果i台突然关机,则总服务器会发现i台任务执行失败,把i台的任务交给i+1台,当i台重启了,那服务器收到i台信息,就继续分配给i台执行了。
打个很简单的比喻用类似于客户/服务器模式就可以解决这个问题了。
还有很重要一点,多服务器工作,他们之间必须有一台负责分配任务的,还有它们自己是定期进行通讯联络的,就行网络的路由器一样,是定期发信息联络来维护网络链路表,以此判断网络的最新状况!Top




