基于指标体系的CDN业务质量监控系统和方法与流程

文档序号:16544390发布日期:2019-01-08 20:45阅读:433来源:国知局
基于指标体系的CDN业务质量监控系统和方法与流程

本申请涉及通信技术领域,尤其涉及一种基于指标体系的cdn业务质量监控系统和方法。



背景技术:

随着互联网的快速发展及网络用户数量的激增,网络带宽资源越发紧张,在业务和应用需求不断增加的情况下,计算资源、网络带宽和日常维护成本不断攀升,给企业和单位的可持续发展带来了严峻考验。目前,解决上述矛盾常用的方案就是通过内容分发网络(contentdeliverynetwork,cdn)服务。而随着cdn的不断发展,在对网络资源配比和拓扑逻辑不断完善后,对其本身质量监控的量化设计和预警系统的需求越来越引起企业重视。

相关技术中,虽然业务质量监控系统能够通过收集、统计资源设备产生的海量数据,将统计数据落地于磁盘存储,再通过计算获取实时状态从而服务于运维人员,进而为客户提供cdn服务。但是,磁盘存储具有性能瓶颈,不适合大范围的数据统计写入,不能支持频繁读取数据,从而影响业务服务效果。



技术实现要素:

为至少在一定程度上克服相关技术中存在的问题,本申请提供一种基于指标体系的cdn业务质量监控系统和方法。

根据本申请实施例的第一方面,提供一种基于指标体系的cdn业务质量监控系统,包括:

边缘设备,用于为网民提供cdn服务,收集cdn服务状态指标数据,并将所述服务状态指标数据存储到共享内存中,以及上报所述服务状态指标数据;

中央服务器集群,用于接收和存储所述边缘设备上报的所述服务状态指标数据,并提供应用程序(applicationprogramminginterface,api)接口供运维人员使用所述服务状态指标数据进行质量监控。

可选地,所述边缘设备包括:

服务单元、上报单元和共享内存单元;

所述服务单元用于为网民提供cdn服务,收集cdn服务状态指标数据;

所述服务单元还与所述共享内存单元交互,将所述服务状态指标数据存储到所述共享内存单元中;

所述上报单元用于将所述服务状态指标数据上报给中央服务器集群。

可选地,所述上报单元具体用于:在达到上报周期时,从共享内存中读取所述服务状态指标数据并上报给中央服务器集群;且,上报单元具有周期时序打乱功能,以使不同的边缘设备的上报单元具有不同的上报周期。

可选地,所述服务状态指标数据包括:请求时间、请求大小以及请求来源。

可选地,所述中央服务器集群包括:

调度服务器、存储服务器、统计服务器和部署服务器;

所述存储服务器和所述统计服务器以集群形式存在。

可选地,所述调度服务器用于:

接收所述服务状态指标数据,并选择最优的存储服务器进行数据落地。

可选地,所述存储服务器用于数据备份和数据迁移。

可选地,所述统计服务器对所述服务状态指标数据进行并行化操作。

可选地,所述部署服务器用于检测所述调度服务器、所述存储服务器和所述统计服务器的运行状况。

根据本申请实施例的第二方面,提供一种基于指标体系的cdn业务质量监控方法,包括:

提供cdn服务,收集cdn服务状态指标数据,并将所述服务状态指标数据存储到共享内存中,以及上报所述服务状态指标数据;

接收和存储所述服务状态指标数据,并提供api接口供运维人员使用所述服务状态指标数据进行质量监控。

根据本申请实施例的第三方面,提供一种基于指标体系的cdn业务质量监控系统,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为:

提供cdn服务,收集cdn服务状态指标数据,并将所述服务状态指标数据存储到共享内存中,以及上报所述服务状态指标数据;

接收和存储所述服务状态指标数据,并提供api接口供运维人员使用所述服务状态指标数据进行质量监控。

根据本申请实施例的第四方面,提供一种非临时性计算机可读存储介质,当所述存储介质中的指令由控制器的处理器执行时,使得控制器侧能够执行一种基于指标体系的cdn业务质量监控方法,包括:

提供cdn服务,收集cdn服务状态指标数据,并将所述服务状态指标数据存储到共享内存中,以及上报所述服务状态指标数据;

接收和存储所述服务状态指标数据,并提供api接口供运维人员使用所述服务状态指标数据进行质量监控。

本申请的实施例提供的技术方案可以包括以下有益效果:

由于边缘设备为网民提供cdn服务,即接收网民的各种服务请求,以及收集cdn服务状态指标数据,并将服务状态指标数据存储在共享内存中,并将服务状态指标数据上报给中央服务器集群,中央服务器集群接收到这些服务状态指标数据后对这些数据进行落地存储,并提供api接口供运维人员使用所述服务状态指标数据进行质量监控。如此,采用共享内存存储服务状态指标数据扩大了数据统计写入范围,缩短了数据采集周期,使得服务状态指标数据更全面,运维人员对服务设备业务状态的感知更敏感,根据更全面的服务状态指标数据可以更好的监控cdn系统中的服务设备业务状态,从而提高服务效果。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。

图1是根据一示例性实施例示出的一种cdn业务质量监控系统的结构示意图。

图2是根据另一示例性实施例示出的一种cdn业务质量监控系统的结构示意图。

图3是根据另一示例性实施例示出的一种cdn业务质量监控系统中共享内存单元存储数据的实现机制逻辑图。

图4是根据另一示例性实施例示出的一种cdn业务质量监控方法的流程示意图。

图5是根据另一示例性实施例示出的一种cdn业务质量监控系统的结构示意图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的系统和方法的例子。

图1是根据一示例性实施例示出的一种cdn业务质量监控系统的结构示意图。

如图1所示,本实施例提供系统的包括:

边缘设备11,用于为网民提供cdn服务,收集cdn服务状态指标数据,并将所述服务状态指标数据存储到共享内存中,以及上报所述服务状态指标数据;

中央服务器集群12,用于接收和存储所述边缘设备上报的所述服务状态指标数据,并提供api接口供运维人员使用所述服务状态指标数据进行质量监控。

比如,运维人员通过使用api接口获得服务状态指标数据后,前端根据服务状态指标数据绘制表格或者折线图等,运维人员通过看表格或者折线图可以更直观的监控服务质量。

特别地,共享内存是一种多个进程共享同一块内存区域的技术,通过指定的系统调用在内存中创建一块连续的线性地址空间,并且通过系统调用也可以释放这块内存。一般,一个边缘设备可以接收多个并行的请求任务进程,将多个进程传来的数据存储到共享内存当中,比落地到磁盘存储更快更敏捷,扩大了数据统计写入范围,缩短了数据采集周期,比如,原来使用磁盘存储数据采集间隔为一小时,采集项百级别,采用新的方法后,数据采集间隔为一分钟,减少了整体计算资源负担。

本实施例中,由于边缘设备为网民提供cdn服务,即接收网民的各种服务请求,以及收集cdn服务状态指标数据,并将服务状态指标数据存储在共享内存中,并将服务状态指标数据上报给中央服务器集群,中央服务器集群接收到这些服务状态指标数据后对这些数据进行落地存储,并提供api接口供运维人员使用所述服务状态指标数据进行质量监控。如此,采用共享内存存储服务状态指标数据扩大了数据统计写入范围,缩短了数据采集周期,使得服务状态指标数据更全面,运维人员对服务设备业务状态的感知更敏感,根据更全面的服务状态指标数据可以更好的监控cdn系统中的服务设备业务状态,从而提高服务效果。

图2是根据另一示例性实施例示出的一种cdn业务质量监控系统的结构示意图。

如图2所示,本实施例提供的系统包括:

边缘设备11,用于为网民提供cdn服务,收集cdn服务状态指标数据,并将所述服务状态指标数据存储到共享内存中,以及上报所述服务状态指标数据;

中央服务器集群12,用于接收和存储所述边缘设备上报的所述服务状态指标数据,并提供api接口供运维人员使用所述服务状态指标数据进行质量监控。

进一步地,所述边缘设备包括:

服务单元111、上报单元113和共享内存单元112;

所述服务单元用于为网民提供cdn服务,收集cdn服务状态指标数据;

所述服务单元还与所述共享内存单元交互,将所述服务状态指标数据存储到所述共享内存单元中;

所述上报单元用于将所述服务状态指标数据上报给中央服务器集群。

需要说明的是,一个cdn节点中可以包含多个边缘设备。

进一步地,所述上报单元具体用于:在达到上报周期时,从共享内存中读取所述服务状态指标数据并上报给中央服务器集群;且,上报单元具有周期时序打乱功能,以使不同的边缘设备的上报单元具有不同的上报周期。

进一步地,所述服务状态指标数据包括:请求时间、请求大小以及请求来源。

进一步地,所述中央服务器集群12包括:

调度服务器121、存储服务器122、统计服务器123和部署服务器124;

所述存储服务器和所述统计服务器以集群形式存在。

进一步地,所述调度服务器用于:

接收所述服务状态指标数据,并选择最优的存储服务器进行数据落地。

进一步地,所述存储服务器用于数据备份和数据迁移。

进一步地,所述统计服务器对所述服务状态指标数据进行并行化操作。

进一步地,所述部署服务器用于检测所述调度服务器、所述存储服务器和所述统计服务器的运行状况。

其中,服务单元中的逻辑处理过程中有负责收集cdn服务状态指标数据的逻辑代码,当服务单元接收到网民的请求后为网民提供资源服务,然后将每个请求的相关业务数据(即cdn服务状态指标数据)收集起来。服务单元通过相关接口与共享内存单元交互,将相关业务数据存储到共享内存单元中。

需要说明的是,服务单元为异步非堵塞的多进程结构,即服务单元为多个,可以接收多个独立进程,多个独立进程的数据存储于共享内存中以供上报单元读取后向服务器集群汇报。

可以理解的是,服务单元的数据处理流程中可以加入统计模块,该统计模块可配置所需采集的数据项,数据采集项可以但不限于包括请求时间、累计流量、瞬时带宽、cpu负载以及io负载等。

上报单元根据上报周期,定期从共享内存中读取服务状态指标数据并上报给中央服务器集群,上报周期可由相关人员自行设置,比如,每隔10小时读取并上报一次。另外,上报单元具有周期时序打乱功能,时序打乱指不同设备虽有相同的数据上报周期,但在周期内的数据上报时间点各不相同,这样避免了同一时间点数据并发上报造成中央服务器集群的周期性高负载的现象。

调度服务器包括调度单元,在接收到的服务状态指标数据后,根据部署服务器对存储服务器集群的运行状态的监控结果,主动选择最优的存储服务器进行数据存储,以确保后续设备对数据的可持续化操作。

存储服务器包括存储单元和备份单元,其中的存储单元用于存储服务状态指标数据;备份单元用于数据备份。且存储服务器以集群的模式存在,具备自动的数据备份和数据迁移功能,最大程度保障数据的可靠性。

统计服务器包括api单元和运算单元,api单元用于提供api接口,规范化请求格式和对请求来源进行验证;运算单元用于满足统计、计算所有上传数据的运维管理需求。比如,统计服务器中的各运算单元形成集群,采取mapreduce的编程计算模式,大幅提高计算资源富裕状态下的设备利用率,提高来自运维人员对数据请求时单请求的响应速率。其中,mapreduce是一种用于大规模数据集的并行运算的编程计算模式,通过从函数式编程语言和矢量编程语言中借来的特性,提供了抽象的操作和并行编程的接口,极大地方便了编程人员在不会分布式并行编程的情况下,将自己的程序运行在分布系统上,提高大规模数据运算的运算速度,降低运维人员等待时间,从而提高整体系统对cdn服务状况数据感知的敏感度。

具体实施时,在数据存储落地准备好后,由统计服务器根据业务运维人员日常配置或主动请求,被动或主动地响应各类请求需求返回预制格式数据,为业务运维人员提供生产网操作行为的数据支持。

部署服务器包括部署单元和检测单元,部署单元用于部署计算服务器集群;检测单元用于对调度服务器、存储服务器和统计服务器进行周期性心跳检测,感知服务器集群目前运行状况。其中心跳检测是指检测者定时向被检测者发送一个自定义的结构体(心跳包),以确保连接的有效性机制。另外,根据自定义的结构体中设计的有关对服务器性能负载检测的数据,对存储服务器和统计服务器进行弹性调整,在确保服务稳定运行的情况下降低成本。

本实施例中,不仅通过采用共享内存存储服务状态指标数据扩大了数据统计写入范围,缩短了数据采集周期,使得服务状态指标数据更全面,运维人员对服务设备业务状态的感知更敏感,根据更全面的服务状态指标数据可以更好的监控cdn系统中的服务设备业务状态,进而实现了了提高服务质量的效果。更进一步的,还通过设计调度服务器、存储服务器、统计服务器以及部署服务器,提高了系统可靠性,确保了监控体系的完善,保证了业务服务质量的即时反馈,从而提升了客户感知度,降低了业务故障反馈不及时带来的风险。

为了更好地理解本申请,下面对共享内存单元存储数据的实现机制进行解释。

共享内存是linux下提供的最基本的进程间通信方法,它通过指定的系统调用在内存中创建了一块连续的线性地址空间,并且通过系统调用也可以释放这块内存。使用共享内存的好处是当多个进程使用同一块共享内存时,在任何一个进程修改了共享内存中的内容后,其他进程通过访问这段共享内存都能够得到修改后的内容。

比如,如图3所示,进程1、进程1和进程3这三个独立进程接收三个并行进程的业务数据,这些并行的业务数据存储到内存模块中创建的共享内存中。当进程1修改了共享内存中的内容后,进程2和进程3通过访问这段共享内存也可以得到修改后的内容。并且,多个独立进程采用自旋锁对共享内存单元进行操作,实现了共享内存中的服务状态指标数据的一致性。

在本实施例中,来自网民的资源请求被划分为多个阶段,每个阶段都有各自所需统计的重要指标,而同一时间内多个并发进程的不同请求的统计指标需往同一个共享内存中存写数据,通过完成原子操作的自旋锁解决了共享内存中数据一致性的问题。

图4是根据另一示例性实施例示出的一种cdn业务质量监控方法的流程示意图。

如图4所示,本实施例提供的方法包括以下步骤:

步骤s41,提供cdn服务;

步骤s42,收集cdn服务状态指标数据;

步骤s43,将所述服务状态指标数据存储到共享内存中;

步骤s44,上报所述服务状态指标数据;

步骤s45,接收和存储所述服务状态指标数据,并提供api接口供运维人员使用所述服务状态指标数据进行质量监控。

本实施例的具体实现方案可以参见上述有关该系统实施例中的相关说明,此处不再赘述。

图5是根据另一示例性实施例示出的一种cdn业务质量监控系统的结构示意图。

如图5所示,本实施例提供的系统包括:处理器51;用于存储处理器可执行指令的存储器52;其中,所述处理器被配置为:

提供cdn服务;

收集cdn服务状态指标数据;

将所述服务状态指标数据存储到共享内存中;

上报所述服务状态指标数据;

接收和存储所述服务状态指标数据,并提供api接口供运维人员使用所述服务状态指标数据进行质量监控。

关于上述实施例中的系统,其中各个模块执行操作的具体方式已经在其他实施例中进行了详细描述,此处将不做详细阐述说明。

可以理解的是,上述各实施例中相同或相似部分可以相互参考,在一些实施例中未详细说明的内容可以参见其他实施例中相同或相似的内容。

需要说明的是,在本申请的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本申请的描述中,除非另有说明,“多个”的含义是指至少两个。

流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。

应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对资源信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。

本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。

此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。

上述提到的存储介质可以是只读存储器,磁盘或光盘等。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。

尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1