局域网内多台电脑读写一个文件的问题
现有一个局域网,有主机A,从机BCDE...A在局域网内映射了一个网络磁盘Z,从机可以直接访问磁盘内容。现在我想做一个网络计算系统。大体思路如下:
Z盘有一些很大的图片文件,一幅几个G。假设有一幅图片为test,处理后的图片为outputtest.大小为4G.服务器端程序启动,首先选择了test图片作为处理对象,将test分成100块,每块40M.每当有一个客户端请求时,就用socket向客户端发送数据包,包的内容大概包括:文件的路径及名称,(例如Z:\\test),要处理的块(例如这是第一个客户端的第一次请求,就给它0,代表图像的第一块)。因为我是想让多台电脑处理同一副图像,那么假设有N台电脑请求,一次就可以处理N块。当一块处理完成后,与服务器通信,告诉服务器已经完成,服务器就会继续发送下一个块的标记给从机,从机根据标记从Z盘读取数据进行处理,并写到outputtest中去。如此直到100个块处理完成,继续下一幅图像。。。。
请问各位:
1.这设计思路可不可行?要不要用到较深的内存管理方法,如内存映射文件等
2.多台电脑如何同时写文件,如例子中的outputtest。如果不能同时写文件,当有一个从机在写数据时,如何让其他从机知道,并让它们等待,直到在写的从机写完了,其他从机再依次写。
3.如果你有什么好的方法,不妨告诉我哈。
我刚毕业,对线程,进程,网络还不是很懂,谢谢各位了