Python 传输大数据

2014-02-21 10:24:43 +08:00
 jxwho
想问一下,假如在两个点之间用python来进行数据传输,数据可能比较大,有什么好的模块可以用呢?
类似的,可以用socket进行通讯,但是想要一个更high level的实现,请问有什么建议吗?
4570 次点击
所在节点    Python
14 条回复
clino
2014-02-21 11:18:53 +08:00
gaicitadie
2014-02-21 11:24:56 +08:00
FTP模块不行吗?
nooper
2014-02-21 11:50:20 +08:00
连数据的种类和数据的类型都没有说清楚。
jxwho
2014-02-21 12:08:06 +08:00
@gaicitadie FTP模块我也考虑过...我想搜集多一点方法然后分析下取哪个比较合适

@nooper 数据的种类和类型貌似不是很重要吧?
xiaogui
2014-02-21 12:22:49 +08:00
需要考虑:
1、网络。两个点是服务器同一机柜、同一机房、公司内网或者其他?
2、数据量。M?G?
3、频率。一次结束?还是周期性?
jxwho
2014-02-21 12:35:21 +08:00
@xiaogui 抱歉问题没描述清楚。
是这样的,比如说我这里有一堆数据要处理,而另一台电脑上有合适的模块之类的可以用来处理(因为这个电脑是随机的,所以应该是不同的网络下,一般),然后我要把数据传送到这个机子上去,待它处理完之后,返回结果给我。
数据量,我觉得上G应该不过分。
频率:这个不是很理解你的意思。这个想法就类似复用,可能很多个用户需要的模块都在那一个用户的电脑上,就会全部向他请求。
holmesabc
2014-02-21 12:39:38 +08:00
RPC么
jxwho
2014-02-21 12:48:38 +08:00
@holmesabc 啊,貌似是的。(其实我对这个还不是很了解
clino
2014-02-21 13:40:34 +08:00
这种需求我觉得可以用自动构建,如用jenkins,buildbot之类的
像buildbot的master和slave有接口可以交换文件或数据,slave的stdio也有web页面可以看
wangfengmadking
2014-02-21 13:44:48 +08:00
随便找个数据库不就解决了
jxwho
2014-02-22 01:08:40 +08:00
@wangfengmadking 数据库,是个好办法,还有其他方案吗?
winneryong
2014-02-22 01:13:28 +08:00
可参考rsync算法
mapix
2014-02-22 01:33:38 +08:00
考虑的因素: 如果简单容易维护可以考虑直接开rsync跑; 如果文件太大, 处理资源受限网络带宽足, 可以分块传输 ;当然如果你发送的目标机器很多而且经常这么干的话可以考虑实现一种BroadCast机制或P2P机制。
wangfengmadking
2014-02-22 16:50:58 +08:00
@jxwho 简单点的的就直接把上一阶段的数据结果保存成文本文件(用时间戳命名?),然后保存到一个http服务器(http可以几行代码就实现http server,不用apache也可以)下,然后另外一个程序轮询服务器下载文件列表就可以了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/101172

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX