文章目录1 增量获取数据1.1 处理流程1.2 示例应用2 代码实现2.1 关键方法2.1.1 _has_overlap2.1.2 _merge_new_data2.1.3 _filter_by_time_range2.2 整体代码2.3 线程管理3 应用测试1 增量获取数据目的是避免重复下载已经获取过的数据,只下载“新”的数据,然后将其拼接到旧数据上。核心思想就是:只拉取缺失的部分,已有的数据留着复用,配合多线程提升效率。1.1 处理流程这种方案完美解决了重复获取数据的问题 ,在连续查询场景下可以大幅减少网络请求量,特别是在高频更新或长时间跨度的数据获取场景下。新查询(st_in2, ed_in2)到来 │ ▼ ┌───────────────────────────────┐ │ 检查缓存中是否有数据 │ └───────────┬───────────────────┘ │ 有缓存 │ ▼ ┌───────────────────────────────┐ │ 判断时间范围是否重叠 │ └───────────┬───────────────────┘ │ ┌─────┴─────┐ │ │ 有重叠 无重叠 │ │ ▼ ▼ ┌────────────┐ ┌────────────┐ │ 增量查询: │ │