




已阅读5页,还剩77页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
中图分类号:TP3 论文编号:10006GSxxxx专业硕士学位论文CDN服务质量监测系统设计与实现作者姓名 XXX学科专业 软件工程指导教师 林广艳 副教授培养院系 软件学院Design & Implementation of CDN Service Quality Monitoring System A Dissertation Submitted for the Degree of MasterCandidate: xxxSupervisor: Lin Guangyan School of Software Beihang University, Beijing, China中图分类号:TP3 论文编号:10006GSxxx硕 士 学 位 论 文CDN服务质量监测系统的设计与实现作者姓名:xxx 申请学位级别:软件工程硕士指导教师姓名:林广艳 职 称:副教授学科专业:软件工程 研究方向:软件工程与管理学习时间自 2010 年 9 月1日 起 至2011年6月20日止论文提交日期 2012 年 10月 22日 论文答辩日期 2012年 12 月 15 日学位授予单位 北京航空航天大学 学位授予日期 年 月 日关于学位论文的独创性声明本人郑重声明:所呈交的论文是本人在指导教师指导下独立进行研究工作所取得的成果,论文中有关资料和数据是实事求是的。尽我所知,除文中已经加以标注和致谢外,本论文不包含其他人已经发表或撰写的研究成果,也不包含本人或他人为获得北京航空航天大学或其它教育机构的学位或学历证书而使用过的材料。与我一同工作的同志对研究所做的任何贡献均已在论文中作出了明确的说明。 若有不实之处,本人愿意承担相关法律责任。学位论文作者签名: 日期: 年 月 日学位论文使用授权书本人完全同意北京航空航天大学有权使用本学位论文(包括但不限于其印刷版和电子版),使用方式包括但不限于:保留学位论文,按规定向国家有关部门(机构)送交学位论文,以学术交流为目的赠送和交换学位论文,允许学位论文被查阅、借阅和复印,将学位论文的全部或部分内容编入有关数据库进行检索,采用影印、缩印或其他复制手段保存学位论文。保密学位论文在解密后的使用授权同上。学位论文作者签名: 日期: 年 月 日指导教师签名: 日期: 年 月 日摘 要内容分发网络(Content Delivery Network,CDN)技术从上世纪90年代出现后,伴随着互联网的发展得到了广泛的应用。CDN行业作为互联网的一个重要组成部分也变的竞争日趋激烈,在这种情况下,CDN服务商如何评估提供给客户的服务质量,提高在市场的竞争力就成为了重要课题。怡飞网络作为一个有责任的CDN服务商推出了CDN服务质量的服务水平协议(Service Level Agreement,SLA)的概念。本文将怡飞网络的CDN服务质量的SLA作为基本需求,并结合公司内部相关部门的需求,进行了需求采集和分析提取。在这些需求下给出了CDN服务质量监测系统的设计和解决方案。本文将首先从CDN网络和CDN业务的相关知识出发,讲解怡飞网络的CDN服务质量SLA的定义,在这个基础之上,设计出了用于CDN服务质量监测的总体框架,并对系统需要解决的技术难点和解决方法进行了概述,这部分着重讲解了评估缓存节点的算法,流媒体的概念,探测方法和所用的开源项目;其中,评估算法用数学公式进行了描述,并对公式中各部分进行了解释和说明。在介绍了总体框架之后,详细说明了监测系统的子系统划分,子系统的作用,子系统各功能模块的划分和实现。除此之外,本文还详细说明了子系统交互的数据接口和各种数据规范以及数据库的表结构,并列出了关键类成员函数和函数代码。本文后面章节概要说明了CDN服务质量监测系统的部署方法,测试方法和测试结果;通过图的表现形式进行了直观的测试结果展现。在文章结尾总结了在实现CDN服务质量监测系统中的收获和对未来的展望。关键词:CDN,SLA ,监测,边缘缓存节点AbstractContent Delivery Network or CDN technology was developed in 1990s which has been extensively used accompany with the expanding of Internet. As an important component of Internet, CDN technology trends to be more competitive day by day. In this case, it becomes an important point that how CDN provider justify the service quality and increase the market competitiveness. As a responsible CDN provider, Yifei Networks putting forward a concept of Service Level Agreement or SLA for CDN service quality.This article will discuss CDN service quality monitoring system design and solution which is based on the requirement Yifei Networks CDN SLA. Firstly, I will introduce the definition of Yifei Network CDN SLA based on the knowledge of CDN technology and CDN related business. According to the SLA, we designed the architecture of CDN service quality monitoring system and defined the technical difficulty and solutions. Second, I will describe the subsystem partition of the monitoring system, subsystem features, partition and implementation of each functional module in detail. Besides, it described subsystem data interface and various data standards. At the end of the article, it concludes the benefits and future expectations of the CDN service quality monitoring system.Key words: CDN,SLA , Monitoring, Point of Presence目 录第一章 绪论11.1 研究背景11.2 研究现状21.2.1 CDN介绍21.2.2 国外相关领域现状31.2.3 国内相关领域现状41.3 论文研究的主要内容41.4 论文的组织4第二章 CDN监测系统需求分析62.1 怡飞网络SLA需求62.2 部门需求72.3 怡飞网络CDN特色需求82.4 非功能需求92.5 系统用例模型102.6 本章小结11第三章 CDN监测系统概要设计和关键问题123.1 CDN监测系统总体设计123.1.1 系统总体框架123.1.2 CDN监测系统子系统划分133.2 CDN监测系统的关键技术和解决方法163.2.1 HTML页面分析173.2.2 边缘缓存节点选优算法173.2.3 多协议支持183.2.4 大文件下载模拟193.3 本章小结20第四章 CDN监测系统详细设计与实现214.1 任务中心子系统设计与实现214.1.1 任务中心子系统的工作流程214.1.2 任务中心子系统功能模块设计224.1.3 任务中心子系统功能实现的关键类284.2 选点子系统设计与实现384.2.1 选点子系统的工作流程384.2.2 选点子系统功能模块设计394.2.3 选点子系统功能实现的关键类424.3 探测子系统设计与实现494.3.1 探测子系统工作流程494.3.2 探测子系统功能模块设计504.3.3 探测子系统功能实现的关键类544.4 实时监测子系统设计与实现574.4.1 实时监测子系统工作流程574.4.2 实时监测子系统功能实现584.5 数据库设计584.6 本章小结62第五章 CDN监测系统测试和部署635.1 CDN监测系统测试635.2 CDN监测系统部署65结 论67参考文献68致 谢70图 清 单图1 CDN网络组成图3图2 CDN监测系统用例图10图3 CDN监测系统工作流程图11图4 CDN监测系统网络拓扑图13图5 CDN监测系统逻辑层图15图6 CDN监测系统功能模块图16图7 任务中心子系统工作流程图22图8 CTaskService类图29图9 CFetcherUrl类图33图10 CHtmlParser类图37图11 选点子系统工作流程图39图12 CSelecterService类图43图13 CProbeMms类图47图 14 CProbeRtmp类图48图 15 探测子系统工作流程图50图 16 CTaskManager类图55图 17 CWebbench类图56图 18 实时监测子系统工作流程图57图 19 CSelecterDb类图59图 20 监测任务管理WEB页面64图 21 探测数据WEB页面65表 清 单表 1 边缘缓存节点列表字段表23表 2 监测页面任务列表字段表24表 3 定制任务字段表25表 4 监测任务字段表41表 5 SLA报告字段表52表 6 探测报告字段表53表 6 探测报告字段表(续)54表 7 Hostspeed_table表结构58第一章 绪论本章首先介绍CDN服务质量监测系统的研究意义与国内外研究现状,然后对本文的研究内容进行概述,最后介绍本文的组织结构。1.1 研究背景随着通信技术和计算机技术的飞速发展,网络在金融,商业,交通,制造业,服务业等社会生活的各个领域,发挥着越来越重要的作用,以TCP/IP体系结构和协议标准为基础组建的网络是目前国际上规模最大的计算机网络系统。在这个基础上,互联网得到了日新月异的发展,各种互联网商业模式层出不穷,给人们的工作和学习带来越来越的便利,也极大的提高了社会生产效率。随着互联网越来越多的深入到人类的日常生活中,互联网技术被誉为工业革命以来最伟大的技术革命。随着互联网用户的爆发式增长,日益拥挤的网络成为用户良好体验的瓶颈,在这种情况下,CDN技术应运而生,成为缓解网络拥堵的一项重要解决方案1。众多的互联网网站为了提高自身的用户粘度,提高用户体验,纷纷购买了CDN服务,从而实现了很好的社会和经济效益,CDN行业因此得到了快速发展,市场上涌现出了越来越多的CDN服务商。经过近20年的技术发展,CDN技术越来越成熟,CDN服务商的服务能力也有了长足的进步。但因为CDN服务是依托于互联网的一项增值服务,一直缺乏一个行业公认的服务标准,各CDN服务商的服务质量差异较大,从而给客户的CDN选型带来很多不必要的麻烦,而CDN服务商内部也因为这些标准的缺失而不能对自身的服务质量有量化的评估,从而不能及时发现潜在的故障,预先排除,避免给服务的客户造成无谓的损失。因此,评估CDN服务质量成了CDN服务商和客户需要必须跨越的一道鸿沟,在这一迫切的需求下,市场上出现了中立的第三方网络监测机构。国际上知名的第三方网络监测机构有Compuware2,Keynote3,Ip-label4;国内知名的有基调网络5,博睿科技6,监控宝等7。这些第三方网络监测机构因为监测节点众多,数据翔实,量化和直观的监测报告等多方面原因而受到了客户的认可。怡飞网络是2008年成立的高科技公司,致力于给中国客户提供先进的CDN服务,在CDN市场上凭借优异的客户服务,领先的技术实力,从而在竞争激烈的国内CDN市场上占有了一席之地。怡飞网络秉承先进的CDN理念,创造性的提出了CDN服务质量可视化,CDN流量可调度的概念。CDN服务质量监测系统(后面简称CDN监测系统)就是CDN服务质量可视化的体现,也是CDN流量调度管理(Content Delivery Traffic Management,CDTM)的基础。1.2 研究现状1.2.1 CDN介绍CDN技术是由美国麻省理工大学在1994年提出的概念,CDN是通过在现有的互联网中增加一层新的网络架构,将网站的内容发布到最接近用户的网络“边缘”,使用户可以就近取得所需的内容,解决互联网网络拥塞状况,提高用户访问网站的响应速度。从技术上全面解决由于网络带宽小、用户访问量大、网点分布不均等原因,造成的用户访问网站的响应速度慢的问题。 CDN是一种新型的网络构建方式,它是为能在传统的IP网发布宽带丰富媒体而特别优化的网络覆盖层;而从广义的角度,CDN代表了一种基于质量与秩序的网络服务模式。CDN是一个经策略性部署的整体系统,包括分布式存储、负载均衡、网络请求的重定向和内容管理四个要件,而内容管理和全局的网络流量管理(Traffic Management)是CDN的核心所在8。通过用户就近性和服务器负载的判断,CDN确保内容以一种极为高效的方式为用户的请求提供服务。CDN采用全局负载均衡技术,及时发现能够给访问者提供最快响应的边缘缓存节点,并将访问者的请求导向到该边缘缓存节点,由该边缘缓存节点提供内容服务。利用内容分发与复制机制,CDN客户不需要改动原来的网站结构,只需修改少量的域名系统(Domain Name System,DNS)配置,就可以享受CDN服务。 当用户访问了使用CDN服务的网站时,DNS域名服务器通过规范名(Canonical Name,CNAME)方式将最终域名请求重定向到CDN系统中的全局负载均衡系统。全局负载均衡系统通过一组预先定义好的策略,将当时能够最快响应用户的边缘缓存节点IP地址提供给用户,使用户可以得到快速的服务。 根据CDN的原理,搭建可靠稳定的CDN网络,需要由五部分组成,这五部分分别是源站服务,边缘缓存节点,网络管理系统,内容管理系统,全局负载均衡系统。在CDN网络内部,网络管理系统和内容管理系统合称为运营支撑系统(Operations Support System,OSS)。CDN网络组成部分可以用下图表示:图 1 CDN网络组成图1.2.2 国外相关领域现状随着互联网的蓬勃发展,CDN技术日臻完善,其应用价值得到越来越多的互联网用户认可。目前,美国市场上有大小四十多家CDN服务商,其中以Akamai和Limelight最为知名9,10;Akamai是世界上最大的CDN服务商,其可靠稳定高效的服务得到众多知名互联网企业赢得很高的赞誉,是这些互联网企业成功的助推器。伴随互联网繁荣发展而来的还有第三方网络监测机构,这些第三方网络监测机构根据客户需求,在众多的监测节点中模拟用户行为,获得监测数据,并生成监测报告。监测机构的客户可以根据这些监测报告,评估自身的网络服务水平。CDN作为互联网服务的一个重要分支,也得到了第三方网络监测机构的重视,各知名的第三方网络监测机构均推出了CDN选型服务,即CDN监测服务。这些知名的第三方网络监测机构有Gomez,Keynote,Ip-label等。除此之外,CDN服务商为了提高自身竞争力,在自己运营的CDN网络内部也会部署CDN监测系统。如Akamai的Network Performance Monitoring 系统;LimeLight的LimeLight Control系统。这些CDN监测系统监测的服务类型全面,监测点遍布全球,极大的提升了CDN服务商的竞争力;但这类系统的公开资料很少,也没有公开的论文涉计到这方面的系统设计。1.2.3 国内相关领域现状中国的CDN技术最早由蓝汛科技(ChinaCache)于2000年引入国内11,经过10余年的发展,蓝汛科技成为国内最大的CDN服务商。随着CDN技术在中国的普及,越来越多的互联网企业意识到CDN服务的重要性,纷纷购买这项服务,也因此吸引了很多的企业加入到这一市场的竞争中。在这些竞争中,网宿科技和帝联科技成为了继蓝汛科技之后12,13,市场占有份额排名第二和第三的CDN服务商。与国外的CDN服务商不同,国内的CDN服务商的技术水平相对落后,在CDN服务监测方面更多的注重边缘缓存节点服务器的网络性能;常见的监测手段是在边缘缓存服务器上部署Nagios软件,将监测数据收集到中心节点。这种方式的弊端是从网络内部进行监测,不能反映互联网用户真实的用户体验。另外,第三方网络监测机构作为CDN服务质量监测的主要提供商,国内的网络监测机构在技术实力方面与国外没有太大差距;相反,在本地化,成本和服务方面还具有较大的优势。基调网络是国内领先的第三方网络监测机构,它的CDN选型及监控服务得到了很多的互联网企业的认可,确保了企业投资价值最大化。1.3 论文研究的主要内容论文研究将围绕怡飞CDN网络的需求而展开,首先说明了怡飞网络的SLA内容,然后描述了怡飞网络的业务需求和部门内部需求。在此基础上,论文还研究了CDN网络业务的常用的网络协议,如HTTP协议,HTTPS协议,MMS协议,RTMP协议。通过这些研究分析,结合怡飞网络的CDN网络的特点,设计出了CDN服务质量监测系统方案。在方案中,通过基于评价的服务性能评估来筛选较优的边缘缓存节点,通过探测数据的数学公式运算来模拟超大文件的下载行为。最后根据设计方案,实现了CDN服务质量监测系统。1.4 论文的组织第1章 是绪论,介绍了论文的研究背景、CDN基础知识和国内外研究的现状,,概括了论文期间主要的研究内容。第2章 是CDN服务质量监测系统的需求综述,同时也介绍了CDN的网络组成和怡飞网络的CDN服务SLA内容。第3章 论述了CDN服务质量监测系统的概要设计方案,从网络架构,软件部署,功能模块划分等方面进行了阐述。本章对CDN服务质量监测中存在的一些难点进行了研究并提出了解决方案,最终设计出了符合需求的方案。第4章 讲解了CDN服务质量监测系统的设计与实现过程。通过对系统的关键子系统的主要功能模块的设计与实现来详细描述CDN服务监测的实现过程。第5章 是简要介绍CDN服务质量监测系统的测试和部署情况。文章最后对CDN服务质量监测系统进行了总结,得出了肯定的结论,也对未来的监测系统的发展进行了展望。第二章 CDN监测系统需求分析CDN服务作为互联网的基础服务,正在发挥越来越重要的作用;评估给客户提供的服务质量成为CDN服务提供商的基本需求。本章内容是根据怡飞网络的SLA需求,并结合公司客服部门和运维部门的需求,将这些需求进行抽象归纳,形成规范性需求。2.1 怡飞网络SLA需求SLA是服务提供者和客户之间的一个正式合同,用来保证可计量的网络性能达到所定义的品质。SLA 为服务提供者提供了一种在当今多变而又竞争激烈的市场中超越对手的方法。服务提供者可能是多种类型的服务提供者,比如:一个 IT 组织、一个应用软件服务提供者、一个网络服务提供者、一个互联网接入服务提供者等等14。CDN服务经过多年发展,技术已经成熟,但是一直没有形成一个标准的CDN服务SLA。国内的CDN服务商使用的SLA都是沿用IDC行业的SLA标准,在网络连通性上进行了明确承诺,但对服务质量没有说明。CDN的网络分布式特性决定了CDN服务商和IDC的主机托管有着很大的区别,网络的连通性能并不能反映用户的访问情况,因为中国网络环境复杂,一个区域的网络连通性不能保证在全网区域内所有边缘缓存节点的网络连通性能良好。怡飞网络通过技术研究,市场调研,以为用户提供最优质的服务为理念,提出了独有的CDN服务SLA。怡飞网络向客户承诺保证100%的内容分发服务可用,其服务性能优于源站。怡飞网络的SLA内容如下:(1)SLA衡量方法每间隔6分钟,SLA监测点分别向CDN网络的边缘缓存节点和客户源站,发起一次SLA测试对象的HTTP 协议的Get请求。(2)SLA测试对象 SLA的测试对象为TTL为2小时,大小为200K字节左右的文件。(3)性能测量如果怡飞网络的CDN服务的每小时平均网络速度低于客户源站每小时平均网络速度,则视为一次网络性能事故。(4)可用性测量在任何一个自然60分钟内,如果全网的10%的SLA监测节点连续三次到测试对象的HTTP请求失败,则视为一次网络可用性事故。从上面的内容可以看出,怡飞网络的SLA保证了客户得到优质的CDN服务;同时,也对怡飞网络的CDN服务能力形成了挑战。要满足SLA,必须部署一套稳定可到的CDN监测网络,这个CDN监测网络需要覆盖所有边缘缓存服务节点,能提供大量准确的探测数据,通过这些探测数据的分析来检查CDN服务是否达到SLA的承诺。对怡飞网络的SLA进行提取,可以抽取出这些需求:(1)每6分钟完成一轮探测 监测网络的每个监测节点需要在6分钟内,对所有服务的客户域名完成一次探测。(2) 需要对客户的源站进行探测监测网络的监测节点既需要对CDN网络的边缘缓存节点进行探测,也需要对客户的源服务器进行探测,这样才能形成对比,显现出使用CDN服务和不使用CDN服务的差别。(3) 实时监测在怡飞网络的SLA中,有可用性指标,因此监测网络需要对CDN网络的可用性进行实时不间断的监测。(4) 监测覆盖所有边缘缓存节点在怡飞网络的SLA中,监测网络需要覆盖所有的边缘缓存节点,只有得到了全面的探测数据,才能得到性能不好的边缘缓存节点占CDN网络的百分比,并判断出是否达到了SLA可用性指标。2.2 部门需求在CDN服务商中,运维部门和客服部门是很重要的部门。运维部门作为CDN网络的维护和调优部门,必须能时刻掌握CDN网络的运行情况,发现问题并及早的解决问题。客服部门是CDN服务商的窗口,也是对CDN网络的OSS系统使用最多的部门,他们需要对在OSS系统中进行客户管理,解答客户的咨询。CDN监测系统在需求的收集过程中,和这两个部门经过多次沟通,收集到了很多基本需求,将这两个部门的需求分别进行了整理、归纳和抽象。1. 运维部门需求(1) 监测多项指标监测系统中能得到多项监测数据,监测的数据项有:DNS解析时间,网络连接时间,第一个数据包时间,下载速度,下载的字节数,边缘缓存节点的IP地址,页面动态对象和静态对象的比例。(2) 服务质量可视化CDN监测系统会产生大量的探测数据,运维部门在排查网络故障时,需要首先定位,定位的依据就是探测数据的异常变化。如何能快速明了的查看服务质量的变化就成了关键。这个需求就是服务质量可视化,即能将探测数据在WEB界面上通过设置日期、监测节点、客户域名、区域等信息,就能将和这些信息相关的探测数据展现在WEB界面上。(3) 故障邮件报警运维部门是724工作的部门,在CDN网络发生故障时,CDN监测系统能第一时间将故障反映出来,并发出报警邮件。这就能为运维部门争取了主动,尽快的解决问题,将客户损失降到最小。2. 客服部门需求(1)一站式服务客服部门的职责决定了技术水平相对较低,这就要求CDN监测系统必须和客服人员经常使用的OSS系统进行关联,能让客服人员在管理好客户的域名时,能方便的对CDN监测系统进行管理。(2) 源服务不可用报警客服人员和客户沟通较多,对客户的情况比较了解,如果能帮客户及时发现客户自身的故障,并将这一信息及时通知给客户,将会给客户带来贴心的服务,为以后的服务争取主动。因此,客服部门希望能得到客户源服务不可用的邮件通知。(3) 监测对象列表根据规则自动生成CDN监测系统能根据客服人员设定的监测页面,自动分析HTML页面,并根据规则提取出符合要求的对象,生成监测任务。2.3 怡飞网络CDN特色需求怡飞网络作为中国CDN市场的后来者,如何在激烈竞争的CDN市场发展并壮大成了必需要解决的问题。随着公司规模的扩大,客户数量的增加,满足客户多样化的需求成为首要问题。怡飞网络基于自己的CDN技术积累,对国内客户的深入了解,提出了CDTM方案。方案的思想是通过在CDN网络之外部署监测网络,不间断的探测CDN网络内的边缘缓存节点,通过几次历史数据的分析,评估出服务质量优秀的边缘缓存节点,自动选择服务质量最优的边缘缓存节点为客户提供服务。CDN监测系统作为CDTM的基础,必须能对怡飞网络的CDN客户类型进行识别,对边缘缓存节点进行准确的探测,生成包含各种探测信息的监测报告。根据怡飞网络的CDTM方案,CDN监测系统需要满足下面的需求:(1) 边缘缓存节点的性能评估CDN监测系统的监测节点需要能到多个边缘缓存节点进行探测,评估边缘缓存节点的服务质量,并选择出质量较优的几个边缘缓存节点。 (2) 监测任务的变更快速生效 监测任务可以很方便的生成,变更,并能较快的反映到探测中。可以自定义任务类型,不同的任务使用不同的处理方法。(3)生成探测报告CDN监测系统需要生成监测报告,监测报告作为CDTM的基础。(4)支持多行业客户怡飞网络的客户类型多样化,分布在各个行业。有政府门户类,游戏类,视频网站类等等;因此要求监测系统能提供多元化的探测方式,除了主流的HTTP协议的探测15,16,对流媒体也需要提供探测方法,尤其是游戏类客户,其游戏客户端大多动辄几千兆字节,这种客户需要有专门的处理方式来评估CDN服务质量,减少无谓的带宽消耗。2.4 非功能需求CDN监测系统作为怡飞网络的CDTM系统的基础,必须稳定、可靠、高效,能科学的评估出服务质量优秀的一些缓存服务节点。除此之外,系统还必须满足易扩展,部署方便等需求。因为,随着客户的增加和竞争的需要,需要部署更多的边缘缓存服务节点,这就需要在增加边缘缓存服务节点的运营商区域快速的部署监测节点,因此,可灵活的扩展就成了基本需求,也是最重要的非功能需求。2.5 系统用例模型前面的章节已经对本系统的任务和需求做了详细的说明,接下来,将对系统的流程和各个参与者之间的相互作用进行说明,将以用例图对系统进行描述和构造。通过需求分析,可以确定CDN监测系统有三个角色参与到CDN监测系统的运行中来,分别是客服人员,运维人员,系统自身。客服人员负责对CDN监测系统的管理,运维人员查看系统产生的数据,系统负责处理监测任务。因此,CDN监测系统总的用例图可以用下图表示:图2 CDN监测系统用例图 通过用例图并结合系统需求17,可以得到CDN监测系统的工作流程,这个流程可以描述如下:(1)客服人员在OSS系统中操作,上线一个新的客户,设定监测对象,客户可以使用的边缘缓存节点列表。(2)监测任务中心自动从OSS系统接口中得到监测任务,对这些监测任务进行处理。监测任务中心接收监测节点的请求,生成监测节点专属的监测任务。(3)监测节点解析监测任务,向任务中的边缘缓存节点发起探测请求,生成探测报告。并将探测报告汇总到OSS。(5)OSS系统对汇总的探测报告进行分析,入库。(6)运维人员登录到OSS系统中,查看全网CDN服务质量情况,发现有性能降低的地方,做调优处理。监测流程可以用图示例: 图3 CDN监测系统工作流程图2.6 本章小结本章对CDN的相关知识进行了概述,并详细讲解了怡飞网络的SLA,通过对怡飞网络内部需求的进行了收集,重点对运维部门和客服部门的基本需求进行了归纳和总结,对怡飞网络的CDN解决方案的特色需求、非功能需求进行了详细说明,并给出了系统用例和工作流程。第三章 CDN监测系统概要设计和关键问题通过前面的CDN相关知识的了解和需求分析,可以看出CDN服务质量SLA的重要性对于CDN服务商是不言而喻的,如何判断是否达到SLA的质量标准,就成了必须解决的问题。本章将围绕这一问题进行CDN监测系统的概要设计,本章也是CDN监测系统详细设计和实现的基础。3.1 CDN监测系统总体设计CDN监测系统是怡飞网络的CDTM的基础,也是CDN服务SLA和CDN服务质量可视化的保证,因此,系统的总设计原则是可扩展,灵活性高,松耦合,维护和管理方便。3.1.1 系统总体框架CDN监测系统主要应用于CDN客户的服务质量监测,使用者是内部的客服人员和运维人员,因此系统需要将管理功能集成到OSS系统,通过OSS系统将监测任务下发到任务中心,再由任务中心分发到各监测节点,各监测节点将探测报告和SLA报告汇总到OSS系统,由OSS系统对探测数据进行分析,并呈现到WEB页面;另一方面,监测报告也保存在监测节点,监测报告中的探测数据将做为CDTM的流量调度的数据支撑。为了满足系统的设计目标,将系统设计为两层C/S结构;监测任务中心和OSS系统之间是客户端和服务器关系,监测节点和监测任务中心也是客户端服务器模式。网络拓扑图如下: 图 4 CDN监测系统网络拓扑图通过拓扑图,我们可以看出,监测系统的结构有下面几部分:(1)监测任务中心程序监测任务中心程序从OSS系统中得到监测任务,并生成各监测点的专属监测任务。(2)监测节点部分监测节点程序从监测任务中心得到自己的监测任务,解析监测任务,向边缘缓存节点发起探测请求,生成探测报告,上传到OSS系统。每个监测节点代表一个特定区域的用户。(3)OSS系统接口 OSS系统中提供监测任务,用户可以在OSS中配置监测任务,查看探测报告。3.1.2 CDN监测系统子系统划分CDN监测系统为了保证灵活性和可扩展性,使用组件的开发模型,将系统划分为多个子系统。子系统之间通过通讯协议或文件进行数据交互。在开发中,充分利用面向对象的开发思想,将共用的功能封装到类中,提高代码重用率。面向对象方法是采用对象、多态、继承等多种概念构造系统软件开发的方法18。系统根据功能将分为任务管理中心子系统,探测子系统,选点子系统,实时监测子系统。选点子系统是为了提高监测效率,从批量的可用边缘缓存节点中选择出服务质量较优的几个边缘缓存节点,将这几个边缘缓存节点集中到一个监测周期内;这类似于晋级赛,先海选再晋级,确保能选择出最优的边缘缓存节点提供缓存服务。OSS系统中的监测任务管理,探测数据数据持久化,探测数据呈现等因为是对OSS系统对监测任务和监测数据的处理,和CDN监测系统只是接口关系,在本文将只做粗略说明。在物理部署上,探测子系统,选点子系统,实时监测子系统将会部署到监测节点。这些监测节点会被部署到各宽带运营商的互联网数据中心(Internet Data Center,IDC)内。监测任务中心子系统将被部署到互联互通较好的IDC内。下面对这几个子系统的功能进行概要说明:(1)任务管理中心子系统任务管理中心子系统的功能是从OSS系统中得到监测任务信息;得到CDN网络的边缘缓存节点信息;得到客户的定制化需求,根据这些信息生成监测节点专属的监测任务文件。任务管理中心(后面简称任务中心)子系统解析监测任务,向CDN网络中的一个边缘缓存节点发起HTTP请求,下载页面后进行页面解析,选择出页面中符合SLA要求的对象。任务中心子系统接收监测节点的专属监测任务查询请求,如果专属监测任务发生变更,就重新生成这个监测节点相对应的专属监测任务,发送给监测节点。(2)选点子系统选点子系统的功能是向任务中心子系统发起请求,查询监测节点的专属监测任务信息。得到监测任务信息后,解析监测任务,向任务中设定的边缘缓存节点逐一请求任务中设定的监测对象,得到探测的详细信息,比如,连接时间,下载速度等信息,将探测数据保存到数据库。选点子系统结束一轮探测后,将从数据库提取出最近若干次这个域名可用的边缘缓存节点性能数据,对这些数据进行数学公式运算,得到每个域名的较优的5个边缘缓存节点信息,根据这些信息生成探测子系统使用的探测任务。选点子系统既支持WEB服务探测,也支持流媒体探测;支持的WEB服务有HTTP、HTTPS服务;支持的流媒体服务有MMS、RTMP服务。(3)探测子系统 探测子系统通过读取选点子系统生成的探测任务文件,解析探测任务,并向CDN网络的边缘缓存节点发起探测请求。探测子系统记录探测过程中的多项数据,这些数据有DNS解析时间,连接时间,第一包时间,下载耗时时间,下载速度等。探测子系统将生成两种报告,一种是探测报告,一种是SLA报告;探测报告记录的是探测的详细信息,SLA报告记录的是在监测节点所代表的这个区域,CDN网络的边缘缓存节点的服务性能和客户源站的服务性能的对比。 为了能够保证探测的数据稳定性和可靠性,这些探测任务必须得顺序执行,用单线程来进行探测。(4)实时监测子系统 实时监测子系统从探测任务中得到探测子系统所探测的CDN网络边缘缓存节点信息,每间隔2秒钟就向这些边缘缓存节点发起一个HTTP协议的HEAD请求,请求预先分发到边缘缓存节点上的几个测试文件,这几个测试文件会被预分发到边缘缓存节点所使用的缓存服务器上。当实时监测子系统发现边缘缓存节点中的缓存服务器连续三次不可用时,就发出报警邮件,并向CDN服务调度系统发出调度请求。根据CDN监测系统的功能描述,可以将监测系统的功能划分到三个逻辑层,分别是呈现层,业务层,数据持久层,本文重点讲述业务层的设计和实现。CDN监测系统逻辑分层可以用下图表示: 图 5 CDN监测系统逻辑层图本文重点讲解业务逻辑层的设计和实现,而对呈现层和数据持久层不进行详细说明。根据CDN监测系统的总体架构,将各子系统划分为小的功能模块。每个模块完成一个或几个特定的功能,这些模块使用类进行封装,提高代码利用率和灵活性。根据系统需求,将系统的功能划分到14个模块中,其中,任务管理中心子系统有5个模块,选点子系统有5个模块,探测子系统有3个模块,实时监测子系统有1个模块。CDN监测系统的功能模块图如下:图 6 CDN监测系统功能模块图3.2 CDN监测系统的关键技术和解决方法在怡飞网络的CDN网络中,服务有上百的客户,这些客户的业务种类繁多,大多使用标准的HTTP/HTTPS协议19,还有少数的流媒体网站采用MMS协议或RTMP协议20,21。同时,客户的网站风格迥异,有些客户静态页面多,有些客户动态页面多;有些网站图片比较多,游戏类网站里面则包含了较多游戏客户端的链接,这些链接中的文件往往小则几百兆字节,大则几千兆字节。为了满足系统需求,CDN监测系统需要解决HTML页面分析,边缘缓存节点选优算法,多协议支持,大文件下载模拟等技术难题,。3.2.1 HTML页面分析随着网页功能的丰富,HTML页面也变的越来越大,特别是门户网站的页面,首页基本超过两兆字节。为了提高监测效率,必须对页面中的对象进行针对性选择,选择出符合SLA测量要求的对象,所选择的对象也能体现这个页面的特性。要实现自动分析HTML页面,就需要用到HTML解析器。在开源软件中,HTML解析器较多,但是大都功能比较复杂,体积庞大。本系统选用了htmlcxx解析器,它是使用c+语言开发的跨平台的HTML和CSS解析器;htmlcxx代码短小精悍,能很容易的集成到别的系统中22。通过htmlcxx解析HTML页面后,将得到页面中的对象列表,系统并不需要将这些对象全部下载下来,而是向CDN网络中的边缘缓存节点发起HTTP协议的HEAD请求,请求每个对象,得到每个对象的大小,将200K字节左右的对象挑选出来。系统分析整个页面的动态对象和静态对象的比例,选择页面中的10个对象,在这10个对象中,动态对象和静态对象的比例和整个页面的动静态对象比例一致。3.2.2 边缘缓存节点选优算法随着设备、协议、架构和服务等网络技术的日趋成熟及稳定,曾经是主要问题的网络可用性也不再令人望而生畏。人们关注的目光已转移到由网络基础架构所交付的服务等级上,相应地,管理重点也转移到应用性能管理上。CDN网络边缘缓存节点众多,如何评估边缘缓存节点的应用性能就成为首先要解决的问题。当边缘缓存节点的应用性能出现波动时,这些波动具有不可复制性,时空差异性,因此部署多个监测节点,持续测量就具有了重大意义。CDN监测系统设计了基于评价的评估算法,这个算法的核心思想是通过对多个边缘缓存节点的若干次(缺省6次)历史探测数据排名,选择出综合排名前5的边缘缓存节点。举例来说,客户可以使用的边缘缓存节点有20个,CDN监测系统的选点子系统将对这20个边缘缓存节点发起探测请求,请求过一轮后,对这20个边缘缓存节点的下载速度进行排名,假定第一名20分,第二名19分,这样最后一名就是18分。在历史数据小于等于6个周期时,按照实际的周期计算,当历史数据超过6个周期时,只选最近的6个周期数据。评估时将这6次的排名分进行累加,对总分进行排名,当总分相同时,速度平均值大的排名靠前。通过这种方式,评估出应用性能好的边缘缓存节点。这种评估算法用数学公式表示为:其中:i是第i次探测,i最大为6;n是边缘缓存节点数;,第i次探测中第n个节点的评价得分情况;score_i ,第i次探测的评价情况。经过i次探测后,每个边缘缓存节点的得分和: , 将这n个和进行排序,分值最高的为cache1,分值第二高的为cache2,分值第k高的为cachek,这几个节点列表用表达式表示:,其中,k根据经验取值为5。3.2.3 多协议支持在互联网中,WEB服务是主流应用,WEB服务应用的都是HTTP协议和HTTPS协议,这两个协议是开放协议,可以根据协议编写出HTTP(HTTPS)协议的应用客户端。而流媒体的协议大多由各大国际知名公司自行制定,是私有协议,一般情况下,架设流媒体服务器必须购买商业版软件23。基于运营成本考虑,怡飞网络在边缘缓存节点部署了开源的流媒体服务Red5和评估版Helix Server24,25, 利用Helix Server进行MMS流媒体加速,Red5进行RTMP流媒体加速。因此,CDN监测系统必须得支持MMS协议和RTMP协议的探测。(1)MMS协议探测MMS协议的客户端较多,开源软件也很多,其中以MMSRIP最为知名26。MMSRIP是一个开源的MMS协议客户端,它能将MMS协议的流数据进行接收,保存到文件中,生成一个流媒体文件。CDN监测系统可以通过MMSRIP软件的代码抽取,整理出一个可用于探测MMS协议的类。(2)RTMP协议探测RTMP协议是Adobe System公司为Flash播放器和服务器之间音频、视频和数据传输而开发的私有协议。在公开RTMP协议之前,一般用抓包工具抓取通讯的数据包进行协议分析,开源软件rtmpdump就是依靠抓包的方式分析出了大部分的协议内容27。在2009年,Adobe公司公开了RTMP协议,监测系统可以参考rtmpdump软件,并结合公开的协议文档编写出RTMP协议探测的客户端程序28。3.2.4 大文件下载模拟在怡飞网络的客户中,有少数游戏类网站,这些网站的游戏客户端大都在500兆字节以上,在网络通讯中,大文件的下载和小文件的下载对WEB服务的要求有很大差异。大文件适合网络比较稳定的边缘缓存节点,而小文件对请求的及时响应性要求高,需要调度到服务响应快的边缘缓存节点29。CDN监测系统监测的任务很多,如果把客户网站上的大文件都完整的下载,既浪费带宽,也占用了探测时间,不能保证在探测周期内完成一轮探测。因此,必须得设计一个算法,来进行大文件的下载模拟,使得探测效果能接近于真实的大文件完整下载。CDN监测系统设计了一个数学算法来模拟大文件下载。在设定监测任务的时候,有一个字段largefile来定义任务类型,如果字段的值为N,说明是普通任务;这个字段的值为Y,说明是大文件下载类型,需要对这个任务进行特殊处理。特殊处理的方法是探测这个任务时,最多下载2兆字节就停止;在探测完所有任务时,再评估大文件下载的效果。这个效果通过数学运算得到,将大文件下载得到的实际速度和另一个模拟的速度加权。模拟的速度由在本轮探测中从这个边缘缓存节点流出的字节数累加,除以本轮所有探测这个边缘缓存节点的耗时时间累加。算法用数学公式表示:其中:s是得到的评估速度;s1是模拟速度,bi是第i次到该缓存节点的探测下载字节数,ti是第i次到该边缘缓存节点的探测耗时;s2大文件探测任务的实际速度,b是本次探测从边缘缓存节点下载的字节数,t是本次到边缘缓存节点的耗时;k1是权重,k1定义为0.6。3.3 本章小结本章首先概述了CDN监测系统的需求,对系统的整体框架
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年华中师大一附丘成桐少年班自主招生数学试卷(含答案详解)
- 2025年事业单位工勤技能-湖北-湖北造林管护工三级(高级工)历年参考题库典型考点含答案解析
- 2025年事业单位工勤技能-湖北-湖北管道工四级(中级工)历年参考题库典型考点含答案解析
- 2025年事业单位工勤技能-湖北-湖北园林绿化工三级(高级工)历年参考题库典型考点含答案解析
- 2025年房地产市场区域分化与投资策略的人工智能研究报告
- 化工园区安全环保提升项目2025年社会稳定风险评估与风险评估产业融合报告
- 2025-2030中国窄带钢企业竞争策略与投融资风险预测报告
- 2025年事业单位工勤技能-江西-江西经济岗位工一级(高级技师)历年参考题库含答案解析(5套)
- 2025年事业单位工勤技能-江西-江西堤灌维护工四级(中级工)历年参考题库含答案解析(5套)
- 2025年事业单位工勤技能-江苏-江苏城管监察员二级(技师)历年参考题库含答案解析
- GB/T 18268.1-2025测量、控制和实验室用的电设备电磁兼容性要求第1部分:通用要求
- (高清版)DB11∕T 1455-2025 电动汽车充电基础设施规划设计标准
- 2025年辅警招聘考试真题(含答案)
- 电化学储能电站设计标准
- DB4403T 508-2024《生产经营单位锂离子电池存储使用安全规范》
- 200兆瓦风电项目清单及报价表
- 午托班合伙人合同范本
- ASTM-D3359-(附著力测试标准)-中文版
- 医院学术委员会及工作职责制度的通知
- 比亚迪速锐智能钥匙系统维修手册
- 三节有机磷杀虫剂课件
评论
0/150
提交评论