银联数据传输和解析项目
GoAnyWhere传输文件项目
sftp下载逻辑:
通过配置定时器, 监控器(监控某个目录文件新增或修改则触发下载操作) , 触发器(类似于监控器, 可以根据动作来触发执行,例如: 用户登陆则触发,下载文件失败触发等)
去下载银联服务器指定目录的文件到公司服务器, 银联那边提供了sftp账号,下载时配置sftp的长连接session, 操作完再关闭可以提升性能;
如果下载失败或者是目录没文件则可以设置重试3次去下载, 当然下载过程中有时候会遇到文件没权限下载或者其它原因下载不下来 , 这时可以打印相关error日志让elk去收集
,然后发生告警邮件到AD组, 下载下来的文件通过购买的加密服务进行加密, 为了优化加密提升性能,直接传递目录地址给java预处理 程序去使用线程池多线程加密。
加解密以后一些特殊格式(即etl不便处理的格式) 先通过预处理程序去进行解析输出到指定目录etl/today目录, 再由etl程序解析入sql server数据库。
部署:
goanywhere部署, 使用windows批处理语法将低环境代码(dev环境), 通过goanwhere的导出命令导出到本地,然后再通过mvn命令打包替换成高环境代码配置参数
,然后交由运维人员去自动部署(全量覆盖导入)
预处理程序: 普通java项目打成jar包,由goanywhre调用去加解密以及预处理文件内容,通过命令从主方法args中将参数传入进来,然后通过工程方法
及文件名正则去获取到对应的预处理解析类去处理。
文档:
写了些部署文档和部署异常时回滚文档,以及应急手册供运维人员手工操作触发