如何在两个系统间传送较大的数据量?

szjarvis 2015-04-05 11:52:04
目前在做一个售后服务的系统,业务逻辑是,从一个公司接收数据,然后派发给另一个公司,数据不需要实时传送,间隔断网也不要紧,一天传送一次,一般会在夜间进行传送,会将当天的报修量汇总后一起打包发送,数据量大概是30个字段,字段长度都比较短,最长的也就是客户的地址和备注了,一天最高时会有2万左右的记录,不知道这个数据量算不算大,两个系统是在不同的城市,所以必须走Internet实现的。

我想的方式有 WebService 和 Post 提交xml 两种方式,本人比较喜欢用 WebService ,只是不知道WebService对这个数据量有没有压力,以什么数据参数传送,数组吗?

大家有什么好的建议,帮我解决一下,谢谢。
...全文
178 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
msadmzz 2015-04-06
  • 打赏
  • 举报
回复
引用 7 楼 nlxpstart 的回复:
Xproer.HttpUploader:http://www.cnblogs.com/xproer/archive/2012/10/26/2741264.html 此控件支持T级文件的断点续传操作,提供了完善的开发文档,支持文件MD5验证,支持文件批量上传。 支持浏览器:Internet Explorer 6,Internet Explorer 7,Internet Explorer 8,Internet Explorer 9 Maxthon(遨游)1.x,Maxthon(遨游)2.x,TT浏览器,QQ浏览器,360安全浏览器, Chrome(Google浏览器),Maxthon3.x,360极速浏览器6.x,Firefox 页面调用示例代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    <title>HttpUploader5-Access演示页面</title>
    <link href="css/HttpUploader.css" type="text/css" rel="Stylesheet"/>
    <script type="text/javascript" src="js/jquery-1.3.2.min.js"></script>
    <script type="text/javascript" src="js/HttpUploader.js"></script>
    <script language="javascript" type="text/javascript">
    	var cbMgr = new HttpUploaderMgr();

    	$(document).ready(function ()
    	{
    		cbMgr.LoadTo("FilePanel");
    		cbMgr.Init();
    		cbMgr.UpdateCheck(); //安装检查

			//取MAC地址
    		//var mac = cbMgr.Browser.GetMacs();
    		//alert(mac[0]);

    		//上传指定目录下的所有文件
    	    //cbMgr.Browser.GetFiles("F:\\ftp\\", false);
    	});
    </script>
</head>
<body>
<div id="FilePanel"></div>
</body>
</html> 
资源下载: cab安装包(x86) cab安装包(x64) Chrome插件安装包 Firefox插件安装包 插件集成安装包 开发文档 升级日志 ASP.NET示例 JSP-ACCESS示例 JSP-SQL2005示例 JSP-MySQL示例 JSP-Oracle示例 PHP-MySQL示例
不错,看了下,如果借助于这个控件的话,解决楼主的问题确实变的很简单了。
nlxpstart 2015-04-06
  • 打赏
  • 举报
回复
网上有一个Web超大文件上传断点续传控件:http://www.cnblogs.com/xproer/archive/2012/10/26/2741264.html 此控件支持100G文件的断点续传操作,提供了完善的开发文档,支持文件MD5验证,支持文件批量上传。 支持浏览器:Internet Explorer 6,Internet Explorer 7,Internet Explorer 8,Internet Explorer 9 Maxthon(遨游)1.x,Maxthon(遨游)2.x,TT浏览器,QQ浏览器,360安全浏览器, Chrome(Google浏览器),Maxthon3.x,360极速浏览器6.x,Firefox 粘贴文件,简化选择文件操作: 文件MD5值计算进度: 文件MD5值计算完毕 服务器根据MD5检测是否存在相同文件 续传文件 从服务器加载文件列表 文件上传中 文件上传完毕 上传文件夹 与Discuz!X2整合-后台安装断点续传控件 与Discuz!X2整合-后台启用断点续传控件 与Discuz!X2整合-后台断点续传控件启用成功 与Discuz!X2整合-前台发帖页面 与Discuz!X2整合-上传 页面调用示例代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    <title>HttpUploader5-Access演示页面</title>
    <link href="css/HttpUploader.css" type="text/css" rel="Stylesheet"/>
    <script type="text/javascript" src="js/jquery-1.3.2.min.js"></script>
    <script type="text/javascript" src="js/HttpUploader.js"></script>
    <script language="javascript" type="text/javascript">
    	var cbMgr = new HttpUploaderMgr();

    	$(document).ready(function ()
    	{
    		cbMgr.LoadTo("FilePanel");
    		cbMgr.Init();
    		cbMgr.UpdateCheck(); //安装检查

			//取MAC地址
    		//var mac = cbMgr.Browser.GetMacs();
    		//alert(mac[0]);

    		//上传指定目录下的所有文件
    	    //cbMgr.Browser.GetFiles("F:\\ftp\\", false);
    	});
    </script>
</head>
<body>
<div id="FilePanel"></div>
</body>
</html> 
资源下载: cab安装包(x86) cab安装包(x64) Chrome插件安装包 Firefox插件安装包 插件集成安装包 开发文档 升级日志 ASP.NET示例 JSP-ACCESS示例 JSP-SQL2005示例 JSP-MySQL示例 JSP-Oracle示例 PHP-MySQL示例
V08S20 2015-04-06
  • 打赏
  • 举报
回复
引用 5 楼 SJack2012 的回复:
[quote=引用 楼主 szjarvis 的回复:] 目前在做一个售后服务的系统,业务逻辑是,从一个公司接收数据,然后派发给另一个公司,数据不需要实时传送,间隔断网也不要紧,一天传送一次,一般会在夜间进行传送,会将当天的报修量汇总后一起打包发送,数据量大概是30个字段,字段长度都比较短,最长的也就是客户的地址和备注了,一天最高时会有2万左右的记录,不知道这个数据量算不算大,两个系统是在不同的城市,所以必须走Internet实现的。 我想的方式有 WebService 和 Post 提交xml 两种方式,本人比较喜欢用 WebService ,只是不知道WebService对这个数据量有没有压力,以什么数据参数传送,数组吗? 大家有什么好的建议,帮我解决一下,谢谢。
实际上你不需要关注是多少个字段的数据,最终你还是将这些字段的数据写入一个文件,然后将这个文件上传到目标服务器,目标服务器再解析这个文件即可。这个需求可以稍微转换一下思路,理解为上传大文件。这样的话,那这个问题解决起来就简单了,首先对文件进行分块上传,然后在服务器接收每一块数据,最后当所有文件块上传完毕后再将这些文件块合并成一个文件。或者简单点,服务器每次接收一个文件块就向最终的目标文件写入数据。[/quote]转变一下思路确实问题变简单很多了,做不做成webservice都没关系,剩下的问题就是如何解决客户端对大数据文件进行分块操作的问题。分块做好了服务器的逻辑处理起来就很简单了。实际上难点还是在客户端分块上传这里,目前也没有太好的方案。建议在网上搜一下有没有成熟的控件可以直接使用。节省开发时间。
SJack2012 2015-04-06
  • 打赏
  • 举报
回复
引用 楼主 szjarvis 的回复:
目前在做一个售后服务的系统,业务逻辑是,从一个公司接收数据,然后派发给另一个公司,数据不需要实时传送,间隔断网也不要紧,一天传送一次,一般会在夜间进行传送,会将当天的报修量汇总后一起打包发送,数据量大概是30个字段,字段长度都比较短,最长的也就是客户的地址和备注了,一天最高时会有2万左右的记录,不知道这个数据量算不算大,两个系统是在不同的城市,所以必须走Internet实现的。 我想的方式有 WebService 和 Post 提交xml 两种方式,本人比较喜欢用 WebService ,只是不知道WebService对这个数据量有没有压力,以什么数据参数传送,数组吗? 大家有什么好的建议,帮我解决一下,谢谢。
实际上你不需要关注是多少个字段的数据,最终你还是将这些字段的数据写入一个文件,然后将这个文件上传到目标服务器,目标服务器再解析这个文件即可。这个需求可以稍微转换一下思路,理解为上传大文件。这样的话,那这个问题解决起来就简单了,首先对文件进行分块上传,然后在服务器接收每一块数据,最后当所有文件块上传完毕后再将这些文件块合并成一个文件。或者简单点,服务器每次接收一个文件块就向最终的目标文件写入数据。
  • 打赏
  • 举报
回复
哪种都可以,分几批提交
bdmh 2015-04-05
  • 打赏
  • 举报
回复
没问题的,分块传输
huaneramn 2015-04-05
  • 打赏
  • 举报
回复
高级。。。。。。。。。。。。。。。。。。。。。。
  • 打赏
  • 举报
回复
传送文本就可以,不要在传送程序上去想当然地规定什么业务数据模型,就是传送文本文件。 传送时,应该可以分为多个数据文件传送。然后数据本身可以区分出有没有重复数据(例如根据序号查重复)。

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧