系分问题, 服务器应不应该重新传一次数据包 or 发出在客户机上 copy 同序列的数据包的指令?

yanyading 2002-04-22 05:53:01


目的:将服务器上原本属于某个目录的“文件”(数据)在客户机上正确的表达;

背景:有两个目录A(A目录有一个文件)、B(B是空的)。我们的目的是希望将A目录里面的的唯一一个文件送到B目录,而且客户机上已经有了和服务器上同样的镜象(A目录有一个文件),好!现在 Admin 已经把A目录里面的文件移动到B目录了,唯一的问题是如何通知客户机更新这种镜象呢?

我的方案:
A:服务器告诉客户机,MOVE_MSG_ROOT.A_TO_ROOT.B,这样客户机(请注意是客户机!)就把以前的那个文件在客户机上面直接复制一份到客户机的B目录里面,然后除掉客户端目录 A 里面的文件,这样服务器&网络资源节约了,但是可能会出现潜在的问题,造成算法结构会被复杂化~
B:客户端5分钟后(同步时间间隔)发现 服务器 A 目录的文件结构有变动,立即删除 自己机器上的 A 目录里的文件(这个不浪费网络资源),然后发现 服务器 的 B 目录多了一个文件,立刻要求服务器重新发送一次数据包(TNND 可怜的服务器)~~

老侠觉得如何办?谢谢了~~
Q:24138511
...全文
43 点赞 收藏 6
写回复
6 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
heroiv 2002-04-28
就服务器而言,如果客户机比较多的话,采用消息通知是比较合适的。
但有系统扩展的问题。
如果系统想增加新的功能,服务器与客户机可能都得重写。

可以考虑两方维护一个目录对象和多个文件对象,保持目录对象一致。
就像unix的文件方式,保持对象中的文件链接一致,实际的文件并不移动。
在文件对象发生改变时,通知客户机更新文件对象。
在目录对象发生改变时,通知客户机更新目录对象。
回复
yanyading 2002-04-27
。第二种方式编程很麻烦,但很有用。?
the later one should be easiser ...
回复
ynrbjsp 2002-04-25
需要明确的是服务器是否需要知道客户机的状态?即是否需要同步镜象?
如果不是,建议服务器使用消息机制,在客户机上建立消息响应函数即可,
如果是,建议使用同步信号,由服务器控制,在移动文件之前,发消息到客
户机,客户机返回准备好的信号,服务器也准备好之后,双方同时开始动作。
直到双方均确认完成之后结束。第二种方式编程很麻烦,但很有用。
回复
yanyading 2002-04-24
看看那~ 出出主意亚
回复
yanyading 2002-04-22
up
回复
yanyading 2002-04-22
不够加分哦~~~
回复
发动态
发帖子
研发管理
创建于2007-08-27

1180

社区成员

软件工程/管理 管理版
申请成为版主
社区公告
暂无公告