论文部分内容阅读
大数据环境下,互联网及其它行业领域中时刻都在涌现出海量数据并快速增长,而海量异构轨迹数据作为一种具有巨大的科研、经济、社会等价值的数据,对其查询显得尤为重要,传统的海量轨迹数据查询系统框架存在着数据量增大时无法满足用户实时查询的需求。本文提出了一种基于storm的海量异构轨迹数据实时处理系统设计方法,首先对原始海量异构轨迹数据进行清洗、轨迹压缩、数据归一化处理等一系列操作使其成为结构统一便于系统处理的价值数据,然后采用分布式实时计算系统storm平台对实时海量轨迹进行处理,利用kafka作为中间缓存,增加系统的吞吐量。但系统在查询的过程中会遇到节点资源分配不均衡和数据量过大超过系统处理上限时引起的宕机两类问题。针对storm默认调度机制引起的系统资源分配不均的问题,传统的基于slot低使用率优先策略的确能均匀的分配storm集群中各个节点的slot资源,但仍然会出现集群中节点CPU负载不均衡的问题,本文对传统的基于slot低使用率优先的策略进行了改进,在对集群中各个节点slot资源分配时不仅考虑其节点的slot使用率,还会考虑节点的CPU负载情况,解决了节点slot资源分配均匀但CPU负载不均衡的问题。对于集群中有新节点加入时,采用动态负载迁移算法将原集群中节点的负载迁移到新加入的节点上。针对特殊时期,轨迹数据增长过大超出系统处理上限的问题,设计了一种过载处理方法,将轨迹数据间断性的接入系统,使实时查询系统处理的数据量明显降低。通过具体业务数据对该系统进行性能测试,主要包含了引入传统基于slot低使用率优先策略的系统测试、引入改进后的slot低优先策略的系统测试、引入动态负载迁移算法的系统测试、引入过载处理方法的系统节点负载测试。最后测试结果表明基于storm的实时查询系统在不同场景所面临的负载均衡问题得到了有效的改善,系统的实时性得到了明显的提高,在数据量超出系统处理上限时,没有出现各节点过载,系统宕机的问题,能够满足海量轨迹数据的实时查询需求。