论文部分内容阅读
基于主题的发布/订阅系统作为一种分布式消息传输中间件,对消息按照其特征进行了分类,实现了消息发送端(发布者)和消息接收端(订阅者)的解耦。而SDN网络具有集中控制的特性,实现了控制和转发的分离,SDN交换机的端口支持添加不同带宽的优先队列,队列的带宽大小直接决定其转发数据的能力。将发布/订阅系统与SDN网络相结合则可以用不同的队列传输不同主题的消息,从而实现基于主题的区分服务。目前,发布/订阅系统和SDN的结合尚不完善,在队列带宽的调整算法方面还有很大的发展空间。队列带宽的调整算法是指根据队列的排队时延和优先级动态调整队列带宽,以适应网络的实时变化。但现有的排队时延获取方法不甚准确,导致带宽调整的效果欠佳。同时,队列带宽的调整只局限在单个网络节点,并未考虑用户对端到端时延的需求。此外,系统在流量管理、接口性能方面都需要改善和优化。基于目前的研究现状,本文提出了以下系统性能优化方案:其一是提出两种获取队列排队时延的方法,一种是增量差法,利用进出队列的字节数增量巧妙地避免时间差对队列长度的影响,同时减小由丢包造成的误差;另一种是XGBoost模型预测法,利用机器学习中的XGBoost模型对已有的队列数据进行训练建模,然后输入队列的实测数据预测当前排队时延。其二是提出一种基于用户需求的队列带宽调整算法,根据用户对端到端时延的需求调整每一个网络节点的时延约束值,使整个路径的总时延不超过用户的需求。其三是系统的流量管理和接口性能的优化,通过提出一系列管控策略实现流量信息备份、接口防攻击,改变接口的底层架构,提高其调用效率,实现系统高可用性。原有发布/订阅系统经过上述方案的优化之后已经具备了良好的性能,在时延、丢包率、吞吐量方面都得到了优化,稳定性更好,接口调用效率提升了 20倍。同时,系统首次部署在由实体SDN交换机搭建的网络环境中,经过大量测试和验证,证实了上述方案的有效性和可用性。