论文部分内容阅读
随着互联网、通讯和数字技术的发展,加速推动了运营商从传统电信业务提供商向数字业务提供商转型。在这个过程中电信领域的增值业务得到了蓬勃发展,电信业务越来越多元化,用户办理手机上网流量包、亲情号、来电名片等增值业务产生的订单任务量急剧增长。订单任务粒度大小不同,长短差异巨大,不同类型的业务办理订单任务对执行机的资源需求不同,导致调度复杂,容易产生任务分配不均衡,系统资源利用率低,吞吐量波动性大以及系统运行不稳定的问题。公司现有订单任务管理系统面临的主要问题如下:首先,其在控制任务流、任务分配方面不够理想,容易发生较严重的任务吞吐量上下震荡,使系统容易发生瞬时过载,甚至宕机现象;其次,系统设计时为了提高资源利用率,使用了任务迁移的策略,但迁移任务的管理开销过高,占用了过多额外的系统资源,有时反而进一步降低系统利用率;另外,系统使用单台协调服务器,不仅容易出现单点问题,降低了系统的可靠性;而且当访问量过大时,服务器会成为系统访问量受限的瓶颈。针对原有的订单管理系统在任务调度时的不足,本文对任务反馈控制进行了优化,并提出一种能够实现资源自我检测的主动式调度方法,然后结合ZooKeeper设计并实现了一种新的订单任务管理系统中的任务调度子系统,具体工作包括:(1)为了有效控制订单任务流平稳的进入系统,将PID控制技术引入任务流的反馈控制中,并对PID控制采用积分分离与增加积分饱和阀值的优化策略,提高反馈控制的效果,有效抑制进入系统任务量的起伏,提高系统的稳定性。(2)为解决现有系统节点资源利用率低的问题,设计并实现一种调度主动权迁移的任务调度方式,能够进行资源自我检测,降低了自身的管理开销,并充分使用节点的资源,同时促使节点量力而行,保证节点健康的工作。(3)基于本文提出的反馈控制策略和任务调度方式,设计并实现一个高可用的面向电信订单分布式任务调度系统,同时在实现中引入ZooKeeper,利用其在分布式协调服务方面的特性,来解决原系统存在的服务单点故障及性能瓶颈问题,并对该系统进行部署和测试,来验证本论文的研究成果。本文提出的面向电信订单的分布式任务调度系统很好的解决了现有的订单管理系统在任务调度时,处理节点资源浪费的问题和进入系统任务量震荡的问题,并在很大程度上避免了单点故障对系统可靠性的影响。实验结果表明CPU和内存利用率比原系统平均分别提高了 11.23%和10.67%,任务完成时间平均减少了 9.52%,抑制了进入系统的任务流出现震荡现象,系统运行稳定,减少经济成本,为运营商获得较大的收益,并为分任务调度的调度主动权迁移问题提供新思路。