论文部分内容阅读
随着电信网络的数据和语音业务量不断增长,电信运营商需要对海量的网元数据进行收集处理、计算分析。数据规模庞大,单台服务器处理能力已经远远满足不了人们对计算速度的要求。针对电信网元数据处理这一应用,我们设计实现了基于分布式计算的DVCP(Distributed Virtual Computing Platform)系统。本文主要针对DVCP系统中任务在分布式计算节点CU(Compute Unit)间的调度及负载均衡展开研究。该系统将网元数据的采集、汇总等计算处理任务进行拆分,通过分割任务,在多个分布式计算节点中并行处理,提高计算效率。通过对任务的管理调度及跟踪,提高系统容错性,故障可恢复性。设计实现一个易实施的负载均衡策略,解决在海量分布式电信数据处理中存在各个计算节点负载不均衡的问题。本文主要做了如下工作:第一,DVCP基础架构设计。对现有的分布式计算技术进行了前期研究和介绍。通过参考对比,提出了中心控制节点与计算资源池组成的DVCP基本架构框架,该框架结构即满足了分布式计算的要求,又避免纯分布式系统所带来的不可靠性、可控性不高、一致性等问题。第二,系统任务调度与其在系统各个计算节点间的负载均衡策略的设计实现。该系统将每个大型数据处理计算问题,分解为小任务后,分发到各个计算节点中并行处理,以提高并行度。而针对任务负载均衡问题,传统负载均衡,一般让主控节点来进行任务调度和负载均衡管理,以决定哪个计算节点应执行该任务。而本系统主要依靠计算节点CU自身来实现。计算节点根据自身情况主动获取任务,分摊主控节点在任务调度及负载均衡控制上的压力以及减少其造成的瓶颈。第三,DVCP中分布式计算节点这一重要子系统的设计与实现。计算节点在架构上采取主控进程与工作进程结合的架构,分离控制与业务。网络部分采用基于Epoll的单线程服务框架,实现高效的网络IO机制。具体任务通过专门的中间任务调度模块异步放入线程池中处理,极大提高了系统处理能力和资源利用率。针对网元数据采集等业务的功能测试,负载均衡性能测试,验证该系统能够满足电信网元数据相关业务的并行处理能力,同时能够达到较为理想的负载均衡。