【发布时间】:2014-06-20 09:43:28
【问题描述】:
我想使用 .NET 为以下问题开发一个简单的解决方案:
我们在本地网络中有几台计算机:
- 可能需要执行仅安装在两个工作站上的程序的 10 台客户端计算机
- 仅用于执行定义程序的两个工作站
- 可用于安装可从所有前面描述的计算机获得的服务的服务器
当客户端计算机需要执行程序时,他会向服务器发送请求,服务器会在可以执行时将作业分发给工作站,并在执行完成时通知客户端计算机。
我不太习惯网络和服务开发,所以我不确定这是否是最好的方法,但以下是我想到的一个可能的解决方案:
- 服务器上的 Web 服务将任务列表及其状态存储在队列中或数据库中
- 客户端计算机调用 Web 服务来执行程序并获取任务 ID。然后每秒使用任务 ID 调用它以了解是否已执行。
- 可用的工作站每秒调用一次 Web 服务以了解是否有要执行的操作。如果是,则服务器分配任务,工作站在执行完成时调用 Web 服务。
我在下图中总结了这一点:
您认为有更简单的解决方案吗?
【问题讨论】:
标签: asp.net web-services queue distributed-computing grid-computing