频繁话单文件抽取的应对

 话单文件包含ISUP话单和TUP话单,
特点如下:
    1、文件名称为 话单类型标识+时间戳,无扩展名。
    2、文件大小基本固定在每个文件600K左右。每个文件包含大约5000条数据记录。
    3、文件使用特有格式编码的二进制存储,使用VC的Pack(8)模式直接写数据结构得到(不了解的别问我)
    4、文件随时生成,忙时每分钟6个文件的吞吐量。
    5、每日话单数量总计在29,000,000左右。文件大小总量在5G。
 为什么不用工具加载?
    1、自定义二进制转化需要大量的脚本编写,某些工具根本不能实现。
    2、文件数量太大,文件名变化太大,DataStage不支持变化文件名,只能使用脚本控制
    3、文件太小,使用工具加载效率很低
    4、日志核查不方便。
 加载流程
FTP下载文件->转换TXT->批量Load
由于网络限制,下载速率在10~90K/s之间
加载之前需要转换文件成TXT文本,转换一个600K需要0.7秒。加载由于Redbrick性能问题,1个文件需要5秒,10个文件需要8秒,20个文件需要9秒,测试平均值在100个文件~200个文件之间(耗时10分钟左右)。
这样得到瓶颈在转换和下载。
应对方案为
生成本地一个文件池,分开下载、转换和加载线程
四个下载线程,每种话单两个线程下载,7个转换线程,2个加载线程(每种话单一个)
文件下载到本地之后置下载完成标志,转换线程轮询目录得到需要转换的文件列表之后转换文件,转换完成文件置转换完成标志,加载线程轮询目录得到需要加载的文件,并进行批量加载。

Mark

 

转载于:https://www.cnblogs.com/JeasonZhao/archive/2006/07/20/455263.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值