首页 > 其他 > 详细

生产问题处理0509

时间:2020-05-23 22:58:44      阅读:60      评论:0      收藏:0      [点我收藏+]

生产问题处理0509

生产问题:

本系统给出的文件,会在某个情况下,会第四列出现2条相同数据,导致另一个系统处理异常。

接到系统警告之后,立即找出重复的数据,删除其中一条,删除后重新执行任务。

批量是以Java写的,没法直接在生产修改代码,需要等待投产修复,距离下次投产还有一段时间,需要做一些临时措施,不能每次出问题都来处理。

处理方案:

  1. 删除重复的数据,给出新文件,通知对方系统继续处理。
  2. 修改配置文件,将批量的输出目录指定到一个临时目录,避免文件被FCC直接传输到对方系统。
  3. 写个 shell 脚本处理输出的文件,再将处理完的文件移动到指定目录。
  4. 下次投产修复问题,并将临时措施移除。

代码:

文件数据

FA20200523213532000000321,20200523,213532,u86gfd2ed02k7gw4ruj2y65thji976re,1,0

FA20200523223344000000453,20200523,223344,u86gfd2ed02k7gw4ruj2y65thji976re,1,1

第四列数据出现重复

#!/bin/sh
# 重复数据临时处理脚本

#临时文件目录
temp_path=/app/data/output/temp/
#最终文件输出目录
dest_path=/app/data/output/

#删除重复数据
for afile in `find $temp_path -name "voucher_return_*"`; do
	# 找出重复的coupon_id
	duplicate_file=${temp_file}/duplicate.txt
	awk -F, ‘print $4‘ $afile | sort | uniq -d > $duplicate_file 
	
	# 删除匹配的第一条重复数据
	for line in `cat $duplicate_file`; do
		echo "duplicate:"$line
		sed -i ‘0,/^.*‘"$line"‘.*$/{//d}‘ $afile
	done
done

#移动文件到指定目录
for afile in `find $temp_file -name "voucher_*"`; do
	mv $afile ${dest_path}
done

#清除临时文件
rm -f $duplicate_file

生产问题处理0509

原文:https://www.cnblogs.com/nancarp/p/12944850.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!