分布式异构数据存储管理之统一入库模块多线程并发优化方案

分布式异构数据存储管理程序,是我们为跨域计算引擎新开发的一个数据存储管理程序;
相较于当前的诸多存储管理工具;他有四个特点:
1、减轻了运维人员的技术难度,运维人员只需要操作web界面,不需要去了解底层的ETL工具,也不需要配置存储加工流程;
2、规范了数据的格式与内容;
3、制定了数据规范和标准;
4、所有操作均有审计日志,防止私人操作数据;
5、贯穿了数据的加工、迁移、老化等全过程;

11月19日,程序经过三轮测试:分别是模拟测试、对比测试、用户测试后,正式在广东联通大数据中心上线试运行;

而统一入库程序在本周的运行过程中,发现某类数据有48个数据块,由不同的业务系统分别加工而成,均为千万记录级200多个字段的数据块。当程序同时接收到这些数据块时,由于数据块需要存入同一个数据表,多线程运行时出现了表锁定冲突的现象;
而将这些块交由同一个线程处理,则会导致该线程太忙,其他线程太闲的现象,线程负载不均衡,也不利于数据的快速处理;

经过一番比较,最终决定采用如下方法对程序进行改造:
1、所有的数据块文件均加入到一个扫描文件队列中;而正在处理的某类数据ID加入到正在处理队列中;
2、当确定某个数据文件没有与正在处理的队列相冲突时,即可启动一个线程进行入库;避免了表锁定冲突的问题;
3、线程随用随走,见缝插针,谁先处理完就接着处理下一个;不用将某类数据的数据块固定一个线程处理;避免了线程负载不均衡的问题;

流程示意图如下:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值