海量数据多线程异步返回结果简单案例

背景

  两个系统做集成,由于资源有限,需要查询每天的生产数据做报表分析。由于基础数据有其他用途且算法保密的情况下,没办法在数据方系统做完数据分析直接拿报表结果。所以必须要把基础数据拿到后在报表方系统中计算。每小时取一次。数据大概在10W笔。

现有功能

   分页获取。参数必须传页码。比如每页取5000笔,那么10万笔得取20次。
   中间由于网络超时等各种原因,中断则当前页停止获取,接着取下一页或者重新取当页。判断获取到的数据量小于5000笔,那就说明此次数据已取完。

瓶颈

网络中断或者出错等各种原因,接着取下一页。那么缺少的那一页无法准确定位缺哪些数据。如果中断继续取当前页数据。那么中断时间周期直接会影响后边的数据获取。

优化思路

数据需求方分页获取数据变为被动接收数据。如:发一次请求到数据提供方。数据提供方查询数据总量,计算出合适的线程数量分批推送至数据需求方。

优点

利用线程使数据总体集成时间缩短,同时数据提供方可准确定位到失败的数据范围。

实例源码请下载
实例源码

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值