如何进行数据文件的传输(不简单)
前期提要
在我的上一篇博客的结尾我给大家留了一个问题,就是作为一个下游系统如何进行数据文件和控制文件的传输数据操作,相信很多做个etl的同学都会,在这里我讲一下我们项目中我的设计思想。
本章重点
我们项目中需要的数据文件是需要从ODS系统或者源系统进行下发的,中间用到的传输工具就是东方通,这个工具可以把数据文件从ODS系统或者源系统传送数据文件到东方通服务器上然后将数据文件转发到我们的etl服务器上,以上这些不需要我们考虑太多,我们需要想的是数据文件到我们的服务器上的一个特定路径下了我们怎么把这些数据文件准实时的发送到我们程序的服务器上呢(此处有可能是同一个服务器的两个目录,这都不重要),目前我采用的方法是写了一个python程序,思路是通过配置文件生成一个需要ODS系统或者源系统给我们传数的数据文件列表(日频度的写一个配置,月频度的写一个配置),然后循环这个列表中的每一项在下发路径中找一下该数据文件是否已经传输过来,如果已经传输过来了就比对一下数据文件和控制文件的数据条数(此处如果是数据文件太大的话建议用shell的wc命令能够更快的实现,同学们可以私底下试一试获取数据文件条数最快的方式,百度上有测评但是和实际中的情况不太一样),这里还需要注意一下如果上游系统给的文件的顺序是先给控制文件再给数据文件的话,咱们传输的顺序是先传数据文件再传控制文件,因为控制文件比较小瞬间就传过来了,这时候就可以将数据文件和控制文件通过mv或者scp的方式传送到相应的路径下了,同时结果列表中删除这一个,如果数据文件和控制文件没有到或者两个没有比对上那就一直循环直到上游系统处理,这样每天就可以实现数据文件的传输了,简单吗?
总结
本次我们讲的是数据文件传数的程序具体应该怎么写,有一个问题和大家讨论下,如何规定传数程序的执行时间?欢迎大家在留言区和我分享你的想法。
如何进行数据文件的传输(不简单)相关推荐
- C# TCP/IP客户端与服务端数据与文件的传输
用C#写的 一个简单的TCP通信,主要的功能有: (1) 多个客户端与服务器间的数据交流 (2)可以实现群发的功能 (3)客户端与服务端可以进行文件的传输 主要用到的知识: TCP里的 socket ...
- 如何将数据从旧电脑传输到新电脑,哪种文件传输方式更好
迁移到新的Windows 10 电脑是一个令人兴奋的时刻,尤其是如果您有幸从我们现在可用的最佳Windows笔记本电脑列表中选择一个选项.问题是您熟悉的文件位于旧电脑上,并且您不想重新开始.为了简化电 ...
- rsync+sersync实现数据文件实时同步
rsync+sersync实现数据文件实时同步 使用rsync+sersync,实现nfs与backup服务器间实时数据同步 一.数据同步工具介绍 rsync是一款开源的.快速的.多功能的.可实现全量 ...
- 二进制文件后缀_ZSY2018综合录井仪的数据流与数据文件
综述 ZSY2018综合录井仪系统可以接收.发送.处理多种数据流(源)(CAN.USB.WireLessNet.WITS等). ZSY2018综合录井仪系统在内存中有一片数据共享区域.每个软件模块都是 ...
- 服务器获取客户端电脑文件,python实现获取客户机上指定文件并传输到服务器的方法 -电脑资料...
作者:上大王 字体:[增加 减小] 类型:转载 这篇文章主要介绍了python实现获取客户机上指定文件并传输到服务器的方法,涉及Python实现C/S架构程序与socket程序的使用技巧,需要的朋友可 ...
- H264 视频文件 帧格式 传输封装等 杂碎
H264 视频文件 帧格式 传输封装等 杂碎 rfc3984 Standards Track [Page 2] RFC 3984 RTP Payload Format for H.264 Video ...
- Windows与Linux之间海量文件的传输与Linux下大小写敏感问题
Windows与Linux之间海量文件的传输与Linux下大小写敏感问题 mount.cifs 支持通过网络文件系统挂载,不过需要安装cifs-utils,也可通过mount -t cifs挂载,详细 ...
- 11G Oracle RAC添加新表空间时数据文件误放置到本地文件系统的修正
今天看了一篇文章说是误将新创建的表空间的数据文件放置在了本地系统而不是共享存储上. 是Oracle的中文技术支持博客题目是:RAC中误将数据文件创建在本地盘时的修正 于是我想11G 也兼容这些操作的方 ...
- FTP文件共传输服务
FTP文件共传输服务 一,vsftpd服务基础 (1),FTP服务概述 FTP(File Transfer Protocol,文件传输协议)是典型的C/S结构的应用层协议,需要由服务端软件.客户端软 ...
最新文章
- 工业环境老鼠目标检测
- day01: oracle12C在Linux7.5上图形化安装部署方法:
- java socket 自动重连_socket 如何判断远端服务器的连接状态?连接断开,需重连...
- java unexpected type_Java 10 赋值Arrays.asList给var变量:AssertionError: Unexpected intersection type...
- [选拔赛1]花园(矩阵快速幂),JM的月亮神树(最短路),保护出题人(斜率优化)
- 面向 Web 前端的原生语言总结手册
- 流言终结者- Flutter和RN谁才是更好的跨端开发方案?
- ironpython this_IronPython sys._getframe not found
- Java对象运行时在内存中的情况
- MVC生成CheckBoxList并对其验证
- 7.UNIX 环境高级编程--进程环境
- android手机投影到电视软件下载,安卓手机怎么投屏到电视?这两种方法最简单!...
- gg修改器修改内购_GG入门学习第六课:GG的防闪
- dos下查看shal值和Md5步骤
- 时空数据库中的轨迹数据压缩
- CDN中加速域名和源站地址和回源HOST是什么,应该怎么填
- html网页两边有空隙,怎么让整个内容缩进?就是四周都有间隙。
- 【python初学者日记】selenium初体验——“秒杀商品”、“清空购物车”技能养成记(一)
- pocketsphinx 模型库_PocketSphinx声学模型的训练与使用
- 基于候鸟优化算法(MBO)的柔性车间调度优化研究(Matlab代码实现)