当前位置:编程学习 > C#/ASP.NET >>

c# C/s模式下如何进行大数据量传输???

RT。

最近要做个C/S架构的会员系统。 遇到如下几个问题 特来csdn求助

     总
分1   分2   分3  

1: 数据传输问题:如上所示大体的总分店图, 原来分店要下载数据时[直连]到总店数据库服务器查询返回个DataSet 然后再循环插到本地数据库中。。
2: 调拨问题:  分店之间要进行物品调拨,分店1如何知道分店2在线? 因为在线才可以实现调拨。   不想在数据库中加一列 因为如果分店2断网或者停电  也没用。。


以上2个问题是俺们项目最大难点,希望知道的朋友请不要吝啬您的小手,您的一小段回复可能帮助我们一大段进步。谢谢!
--------------------编程问答-------------------- 首先很抱歉的跟您说没看懂你第一个问题要问什么?读取数据库的方法?方法是写在客户端还是服务器上的?
其次第二个问题,至于问题2那方法太多了,我比较倾向于你在调拨的时候首先给F2发送一个消息,然后F2返回一个消息,如果没返回视为超时或者掉线处理。如果没掉线接着发送你要调拨的方法不就OK了? --------------------编程问答-------------------- --------------------编程问答-------------------- 第一个问题可以使用WEB SERVICE解决,只是要数据同步,没必要人来操作,WINDOWS SERVICE调用WEB SERVICE就可以解决。
分店之间通讯可以使用SOCKET通讯,分店之间可以直接进行互为对等通讯,所有分店开侦听端口,如果能连接上就说明在线。 --------------------编程问答--------------------
引用 1 楼 wjfwd2009 的回复:
首先很抱歉的跟您说没看懂你第一个问题要问什么?读取数据库的方法?方法是写在客户端还是服务器上的?
其次第二个问题,至于问题2那方法太多了,我比较倾向于你在调拨的时候首先给F2发送一个消息,然后F2返回一个消息,如果没返回视为超时或者掉线处理。如果没掉线接着发送你要调拨的方法不就OK了?


你好 第一个问题我没有表达清楚 , 我是想问 像我上面说的直连数据库是不是很不好。 是否还可以采用其他方法 ??  比如3楼说的web service 或者是 流传输 或者是其他。。  --------------------编程问答-------------------- --------------------编程问答-------------------- 貌似是周末吧, 人气不咋高。  先说一下现在是怎么做的, 


问题1:  现在用webservice做的。希望效率呀什么的都可以很好。。
问题2:  先把问题1做完再说吧 --------------------编程问答-------------------- 貌似是周末吧, 人气不咋高 --------------------编程问答-------------------- 1.你可以在本地做个本地数据库,这样就可以不用每次更新了,差异更新。
2.你已做调拨的时候做判断,如果你在主服务器上有张使用状态的表就很好解决了。 --------------------编程问答-------------------- 我也像LZ一样...

第一个问题我有时是直接IP连接的...如果网速度够快或光纤可以建VPN,速度够快..

第2个问题哪分2的可以像第一个问题一样可以直接连接分1的系统吗....
如果可以,尝试连接一次,异常就知道不在线了... --------------------编程问答-------------------- 嗯。 用WEB SERVICE --------------------编程问答--------------------
引用 9 楼 rekym 的回复:
我也像LZ一样...

第一个问题我有时是直接IP连接的...如果网速度够快或光纤可以建VPN,速度够快..

第2个问题哪分2的可以像第一个问题一样可以直接连接分1的系统吗....
如果可以,尝试连接一次,异常就知道不在线了...



你好,有空可以交流一下 QQ287634336 --------------------编程问答--------------------
引用 8 楼 tanktang811010 的回复:
1.你可以在本地做个本地数据库,这样就可以不用每次更新了,差异更新。
2.你已做调拨的时候做判断,如果你在主服务器上有张使用状态的表就很好解决了。


你好,1:分店本地也有数据库的。  回头我查查嘛是差异更新。
2:   服务器数据库上有状态列来标识。。 --------------------编程问答-------------------- 1、这样的数据传输要先把要传的文件进行序列化,然后加密 把源数据和加密后的数据发送到总店,总店得到数据以后用同样的密钥进行加密 然后再对于加密后的数据是否一致,这样就得判断在传输完程中是否有数据包丢失,服务器端确定没有数据丢失后再反序列化为数据原型就行了,网络传输不能直接传太慢还占资源

2、总店相当于一个服务器 分1、分2、分3相当于三个客户端,三个分店的系统启动要向总店的服务器请求
请求通过才可以启动,连接上以后服务器(总店)可以记录每个店的在线状态,当分1要向分2进行调拔的时候
先给服务器发送请求 比如发送1代表查看有哪些机子在线,服务器接到请求以后 返回结果给发送给分店,这样就能知道是不是在线了 其实就是一个基于 TCP/IP  Socket的通讯工具
--------------------编程问答-------------------- 大数据量通过webservice传输可以通过序列化 zip压缩来提高速度 --------------------编程问答-------------------- 用Remoting,性能好,功能多,好部署
--------------------编程问答-------------------- ^@^目前用的是webservice.   但是经理不想要这样的还是要用到iis  不如直连! --------------------编程问答-------------------- 关于总店与分店的问题,可参看这个:http://blog.csdn.net/fstao/archive/2011/03/27/6281159.aspx

至于你所说的调拨问题,也可参看我写的第二种方案。 --------------------编程问答--------------------
引用 16 楼 coosiu 的回复:
^@^目前用的是webservice. 但是经理不想要这样的还是要用到iis 不如直连!

做一个BS结构不挺好吗?
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,