本地网络中简单网格计算的解决方案

时间:2014-06-20 09:43:28

标签: asp.net web-services queue distributed-computing grid-computing

我想使用.NET开发一个简单的解决方案来解决以下问题:

我们在本地网络中有几台计算机:

  • 可能需要执行仅安装在两个工作站上的程序的10台客户端计算机
  • 仅用于执行已定义程序的两个工作站
  • 可用于安装所有先前描述的计算机的服务的服务器

当客户端计算机需要执行程序时,他会向服务器发送请求,服务器会在可执行时将作业分发到工作站,并在执行执行时通知客户端计算机。 / p>

我不习惯网络和服务开发,所以我不确定它是否是最好的方法,但下面是我想到的可能的解决方案:

  • 服务器上的Web服务在队列或数据库中存储状态为
  • 的任务列表
  • 客户端计算机调用Web服务来执行程序并获取任务ID。然后每秒使用任务ID调用它以了解执行是否已执行。
  • 可用的工作站每秒调用Web服务以了解是否有要执行的操作。如果是,则服务器分配任务,并且工作站在执行完成时调用Web服务。

我在下图中对此进行了总结:

System overview

您认为更简单的解决方案吗?

1 个答案:

答案 0 :(得分:1)

看看signalr!您可以将它用作消息传递框架,您不需要从2个不同的方向轮询服务。使用signalR,您可以将执行订单推送到服务,并且一旦执行处理,服务将通知客户端。工作站也将与signalR连接。他们不需要请求执行命令,因为Web服务可以将执行命令推送到所有或特定的工作站。