一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

监测CDN质量的方法、电子设备、服务器及存储介质与流程

2021-11-24 21:30:00 来源:中国专利 TAG:

监测cdn质量的方法、电子设备、服务器及存储介质
技术领域
1.本公开涉及性能监测领域,尤其涉及一种监测cdn(content delivery network,内容分发网络)质量的方法、电子设备、服务器及存储介质。


背景技术:

2.相关技术中使用cdn提供网络服务。衡量cdn质量的能力,有助于识别性能模式以及cdn产品的优势和弱点,让cdn提供商对商定的sla(service level agreement,服务等级协议)负责。现阶段cdn的性能对于绝大多数应用来说都尚属黑盒。cdn提供商多更关注的是整个cdn产品的质量,颗粒比较粗,加上没有监控客户端做数据支撑,往往比cdn使用方更后知后觉。


技术实现要素:

3.为了解决上述技术问题或者至少部分地解决上述技术问题,本公开提供了一种监测cdn质量的方法、电子设备、服务器及存储介质。
4.第一方面,本公开提供了一种监测cdn质量的方法,应用于客户端,包括:监听客户端使用过程中的网络请求,采集网络请求的性能数据,并获取响应网络请求的cdn服务器的ip地址;向监测服务器发送监测数据,其中,监测数据包括:性能数据和cdn服务器的ip地址。
5.在一些实施例中,上述方法,还包括:获取响应网络请求的cdn提供商的信息;其中,监测数据还包括cdn提供商的信息。
6.在一些实施例中,获取响应网络请求的cdn提供商的信息,包括:从响应网络请求的网络消息中获取cname记录,得到cdn提供商的信息;和/或,从响应网络请求的网络消息的预设字段获取cdn提供商的信息,其中,cdn提供商的信息预先设置在预设字段。
7.第二方面,本公开提供了一种监测cdn质量的方法,应用于客户端,包括:接收监测服务器发送的第一网络探测任务执行策略,其中,第一网络探测任务执行策略设置有一个或多个域名;监测客户端使用过程中,与该一个或多个域名对应的网络请求是否满足第一网络探测任务执行策略设置的探测场景;在满足探测场景的情况下,对网络请求对应的域名执行第一网络探测任务执行策略设置的探测任务,采集探测任务的性能数据,并获取响应探测任务的cdn服务器的ip地址;向监测服务器发送监测数据,其中,监测数据包括:性能数据和cdn服务器的ip地址。
8.在一些实施例中,探测场景,包括:立即执行、网络请求结束后执行或网络请求发生错误后执行中至少之一。
9.在一些实施例中,探测任务,包括:网络连通性测试和/或路由追踪。
10.在一些实施例中,上述方法,还包括:接收监测服务器发送的第二网络探测任务执行策略,其中,第二网络探测任务执行策略设置有文件下载url;使用文件下载url发起探测任务,采集探测任务的性能数据,获取响应探测任务的cdn服务器的ip地址;向监测服务器
监测数据,其中,监测数据包括:性能数据和cdn服务的ip地址。
11.在一些实施例中,上述方法还包括:获取响应网络请求的cdn提供商的信息,其中,监测数据还包括:cdn提供商的信息。
12.在一些实施例中,获取响应网络请求的cdn提供商的信息,包括:从响应网络请求的网络消息中获取cname记录,得到cdn提供商的信息;和/或从响应网络请求的网络消息的预设字段获取cdn提供商的信息,其中,cdn提供商的信息预先设置在预设字段。
13.第三方面,本公开提供了一种监测cdn质量的方法,应用于客户端,包括:监听客户端使用过程中的网络请求,并记录网络请求对应的域名;按照预设周期,对每个周期内记录的域名执行至少一次探测任务,采集探测任务的性能数据,并获取响应探测任务的cdn服务器的ip地址;向监测服务器发送监测数据,其中,监测数据包括性能数据和cdn服务器的ip地址。
14.在一些实施例中,上述方法,还包括:获取响应网络请求的cdn提供商的信息;其中,监测数据还包括cdn提供商的信息。
15.在一些实施例中,获取响应网络请求的cdn提供商的信息,包括:从响应网络请求的网络消息中获取cname记录,得到cdn提供商的信息;和/或,从响应网络请求的网络消息的预设字段获取cdn提供商的信息,其中,cdn提供商的信息预先设置在预设字段。
16.在一些实施例中,上述探测任务包括:网络连通性测试。
17.第四方面,本公开提供了一种监测cdn质量的方法,应用于监测服务器,包括:接收客户端发送的监测数据,其中,监测数据包括:cdn服务器的ip地址和与cdn服务器的地址关联的性能数据;根据多个客户端发送的监测数据确定各个cdn服务器的质量指标。
18.在一些实施例中,上述方法还包括:对于每个监测数据,根据发送监测数据的客户端的公网ip地址,确定客户端的地理位置;根据监测数据中的cdn服务器的ip地址确定cdn服务器的地理位置;根据cdn服务器的地理位置与客户端的地理位置确定cdn提供商的调度策略。
19.在一些实施例中,监测数据还包括:cdn提供商的信息。
20.在一些实施例中,上述方法还包括:向客户端发送第一网络探测任务执行策略,其中,第一网络探测任务执行策略设置有:一个或多个域名,与一个或多个域名关联的探测场景和探测任务;和/或向客户端发送第二网络探测任务执行策略,其中,第一网络探测任务执行策略设置有文件下载url,以使客户端使用文件下载url发起探测任务。
21.第五方面,本公开提供了一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序;计算机程序被处理器执行时实现本公开的任意方法的步骤。
22.第六方面,本公开提供了一种监测服务器,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序;计算机程序被处理器执行时实现本公开的任意方法的步骤。
23.第七方面,本公开提供了一种计算机可读存储介质,计算机可读存储介质上存储有监测cdn质量的程序,监测cdn质量的程序被处理器执行时实现本公开的任意监测cdn质量的方法的步骤。
24.本公开实施例提供的上述技术方案与相关技术相比具有如下优点:本公开实施例
提供的该技术方案,实现了对cdn质量的监测。
附图说明
25.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
26.为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
27.图1为本公开实施例提供的网络系统一种实施方式的示意图;图2为本公开实施例一提供的监测cdn质量的方法的流程图;图3为本公开实施例二提供的监测cdn质量的方法的流程图;图4为本公开实施例二提供的另一监测cdn质量的方法的流程图;图5为本公开实施例三提供的监测cdn质量的方法的流程图;图6为本公开实施例四提供的监测cdn质量的方法的流程图;以及图7为本公开实施例五提供的监测系统的结构框图。
具体实施方式
28.应当理解,此处所描述的具体实施例仅仅用以解释本公开,并不用于限定本公开。
29.在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本公开的说明,其本身没有特定的意义。因此,“模块”、“部件”或“单元”可以混合地使用。
30.图1为本公开实施例提供的网络系统一种实施方式的示意图,如图1所示,该网络系统1包括:电子设备100、cdn 200和监测服务器300。电子设备100包括客户端110,cdn 200包括多个cdn服务器210。cdn 200可按照其策略使用多个cdn服务器210中的cdn服务器210向客户端110提供网络服务。电子设备100还可包括监测装置120,监测装置120可用于监测cdn 200向客户端110提供网络服务的质量。
31.本公开实施例中提供的电子设备100包括智能手环、智能手表、智能手机(例如,iphone、android等)以及平板电脑等移动终端,还可包括个人计算机(例如,pc、mac等)等,但不限于此。本公开实施例中提供的电子设备100可以包括: rf(radio frequency,射频)单元、wifi模块、音频输出单元、a/v(音频/视频)输入单元、传感器、显示单元、用户输入单元、接口单元、存储器、处理器、以及电源等部件。
32.本公开实施例提供的客户端110可包括各种应用程序,例如,用于网络视频播放的应用程序(例如腾讯视频、爱奇艺、优酷等)、用于电子商务的应用程序(例如京东、淘宝、亚马逊等)、用于网络直播的应用程序等等。这些应用程序可使用cdn 200提供网络服务,以浏览网页、播放视频或音频、上传文件等。应当理解,本公开实施例并不限于此,客户端110也可以包括由软件和硬件构成的其他装置,例如数字电视机顶盒等,本公开实施例以客户端110为运行于电子设备100的应用程序为例进行说明。
33.在本公开实施例中,客户端110发起网络请对服务器(使用cdn 200提供网络服务时,为cdn 200分配的cdn服务器210)进行操作。网络请求可包括http请求或https请求,在
一些示例中,http请求可被自动重定向(redirect)到https请求。本公开实施例对此不做限定。
34.在本公开实施例中,客户端110可通过网络请求对服务器进行操作。以http请求为例,http的请求方法代表了客户端想对服务器进行的操作,http的请求方法包括但不限于:get、post、put、delete等。
35.get用于向服务器请求数据,获取资源。在大部分网络请求中,get方法非常常见,get请求没有请求体,对于get请求的请求参数在url后面加上一个问号的后面。参数以key=value的形式,参数与参数之间使用"&"进行连接。
36.post用于向表单提交数据,传送的数据放在请求体中。在post请求中,请求参数放在请求体中,服务器(使用cdn时,为cdn服务器)会根据post请求体中的参数创建一个页面,然后返回给客户端。
37.put用来向服务器上传文件。与post区别在于:post用于向服务器发送数据,而put用于向服务器储存数据。当使用put进行请求时,服务器会使用put的请求体的数据创建一个由它请求的url命名的新文件。如果请求的url在服务器中不存在,则根据该请求的主体部分创建一个由该请求url命名的新文档;如果该url在服务器中已经存在,则用该主体替代它。
38.delete用于删除服务器上的文件。但是服务器并不是真正的删除文件,而是给需要删除的文件做一个标记,与put功能相反。
39.在本公开实施例中,以http请求为例,对网络请求的过程进行描述。示例性的,http请求的过程可包括:域名解析、tcp连接、发送请求、响应请求等。网络请求中包含主机名(host name)或主机ip地址,在网络请求中为主机名时,进行域名解析以获得服务器的ip地址,然后使用该ip地址进行tcp连接,通过该tcp连接发送请求以及响应请求。在网络请求中为主机ip地址时,使用该ip地址进行tcp连接,通过该tcp连接发送请求以及响应请求。
40.在本公开实施例中,客户端110使用cdn 200提供网络服务。使用cdn 200提供网络服务时,作为一个示例,使用域名http://www.example.com向客户端110提供访问,在使用cdn 200时,对该域名做cname指向cdn 200的提供商的域名(例如, http://www.supplier1

example.com)。当客户端110请求访问http://www. example.com时,本地dns可获得cdn提供的cname域名:http://www.supplier1

example.com,然后再次向dns调度系统发出请求,通过dns调度系统的分析,把这个http://www. supplier1

example.com指向一个(例如,离用户地理位置最近的)cdn服务器210的ip地址,让客户端110就近取到想要的资源(如访问网站),降低延迟。
41.在一些示例中,监测装置120可以sdk(software development kit,软件开发工具包)形式与客户端110结合,例如,客户端110运营者使用第三方提供的sdk进行性能监测。但本公开实施例并不限于此。
42.本公开实施例提供的监测装置120和监测服务器300可设置为监测客户端110的性能,包括但不限于cdn质量。在一些实施例中,可基于真实用户自动获取并识别cdn提供商的信息,为cdn选型提供性能数据及可用性数据支撑。在一些实施例中,了解真实用户的客户端网络质量情况,为定位网络故障定位提供数据支撑。在一些实施例中,依托于真实用户的使用场景实时分析并监控cdn调度策略,为cdn厂商调整调度策略提供数据支撑。在一些实
施例中,任意维度灵活组合,能够通过地域、运营商和接入方式收集重点用户的网络环境信息,为解决客户投诉问题提供数据支撑。
43.下面结合图1所示的系统对本公开实施例的cdn质量监测进行说明。
44.实施例一本公开实施例一提供了一种监测cdn质量的方法,应用于客户端,该客户端使用cdn提供网络服务,该方法实现对客户端的网络性能进行监测。
45.图2为本公开实施例一提供的监测cdn质量的方法的流程图,如图2所示,该监测cdn质量的方法包括步骤s202至步骤s204。
46.步骤s202,监听客户端使用过程中的网络请求,采集网络请求的性能数据,并获取响应网络请求的cdn服务器的ip地址。
47.在一些示例中,可对客户端使用过程中的所有网络请求进行监测,采集网络请求的性能数据。在另一些示例中,可配置进行性能数据采集的网络请求,例如设置进行性能数据采集的域名,对这些域名的网络请求进行性能数据采集,例如,域名包括:news.example.com、music.example.com、video.example.com,客户端可访问这些域名进行新闻查看、下载音乐、播放音乐流媒体、下载视频、播放在线视频,根据需要可对视频相关业务的网络请求进行性能数据采集,设置域名为video.example.com。
48.在一些示例中,可设置采样策略,按照采样策略对网络请求进行采样,采集相应网络请求的性能数据,例如,可设置采样率为70%,对70%的网络请求采集性能数据。在另一些示例中,采样策略可与本公开其他示例结合使用,例如,对部分域名对应的网络请求按照80%的采样率进行性能数据采集。
49.步骤s204,向监测服务器发送监测数据,其中,监测数据包括:性能数据和cdn服务器的ip地址。
50.在本公开实施例中,性能数据可包括网络请求关联的时间戳、时延、错误等,本公开实施例对此不做限定。在本公开实施例中,性能数据可为采集的原始数据(例如,一个或多个时间戳),也可为对原始数据进行预处理的到数据(例如,根据开始时间戳和结束时间戳确定得到的时间信息,例如延时、响应时间等),本公开实施例对此不做限定。
51.在本公开实施例中,获取响应网络请求的cdn服务器的ip地址(一般地,在dns后获得响应网络请求的cdn服务器的ip地址),通过cdn服务器的ip地址,可确定向客户端提供网络服务的cdn服务器,进而对cdn服务器的性能进行评估。在一些示例中,根据cdn服务器的ip地址可确定cdn服务器的地理位置,进一步的,可以根据cdn服务器的地理位置以及客户端的地理位置,确定cdn的调度策略。
52.在一些示例中,还可获取响应网络请求的cdn提供商的信息。将cdn提供商的信息作为监测数据的一部分,发送给监测服务器。由此,实现性能数据与cdn提供商的关联,尤其是对于通过多个cdn提供商提供网络服务的客户端,实现性能数据与cdn提供商的自动关联。降低了数据处理成本。
53.在一些示例中,从响应网络请求的网络消息中获取cname记录,得到cdn提供商的信息,例如,当客户端访问http://www. example.com时,本地dns会获得cdn提供的cname域名:http://www.supplier1

example.com,此时cname记录即可指示cdn提供商。在另一些示例中,cdn提供商的信息可预先设置在网络消息的预设字段,例如,http请求头的预设字段,
因此,可从响应网络请求的网络消息的预设字段获取cdn提供商的信息。
54.在一些示例中,实施例一应用于cdn选型,也就是从多个cdn提供商选择提供服务的cdn提供商。在选型过程中,同时通过多个cdn提供商的cdn提供网络服务。监测客户端使用过程中的网络请求,示例性的,可选择部分客户端由cdn提供网络服务,监测选择的客户端使用过程中的网络请求。采集网路请求的性能数据、获取相应网络请求的cdn提供商的信息,从而自动将性能数据与cdn提供商关联,便于分析各个cdn提供商的cdn质量。
55.实施例二本公开实施例二提供了一种监测cdn质量的方法,应用于客户端,该客户端使用cdn提供网络服务,该方法实现对cdn质量的拨测。
56.图3为本公开实施例二提供的监测cdn质量的方法的流程图,如图3所示,该监测cdn质量的方法包括步骤s302至步骤s308。
57.步骤s302,接收监测服务器发送的第一网络探测任务执行策略,其中,第一网络探测任务执行策略设置有一个或多个域名。
58.在本公开实施例中,第一网络探测任务执行策略设置有一个或多个域名,指示对该一个或多个域名对应的网络请求进行探测。
59.在本公开实施例中,第一网络探测任务执行策略还设置有探测场景,探测场景指示探测任务的执行时机。在一些示例中,探测场景,包括:立即执行、网络请求结束后执行或网络请求发生错误后执行中至少之一。
60.在本公开实施例中,第一网络探测任务执行策略可包括一个或多个探测场景,每个探测场景关联一个或多个探测任务。每个域名可包括一个或多个探测场景。
61.步骤s304,监测客户端使用过程中,与该一个或多个域名对应的网络请求是否满足第一网络探测任务执行策略设置的探测场景。
62.在本公开实施例中,网络请求中包含主机名(即域名),从网络请求中获取主机名,判断主机名与第一网络探测任务执行策略中设置的域名一致,在一致的情况下,进一步判断网络请求是否满足第一网络探测任务执行策略设置的探测场景。
63.步骤s306,在满足探测场景的情况下,对网络请求对应的域名执行第一网络探测任务执行策略设置的探测任务,采集探测任务的性能数据,并获取响应探测任务的cdn服务器的ip地址。
64.在一些示例中,第一网络探测任务执行策略设置的域名包括“www.example.com”,设置的探测场景为“立即执行”,则在监测到“www.example.com”对应的网络请求时,立即执行对该域名的探测任务。
65.在一些示例中,第一网络探测任务执行策略设置的域名包括“www.example.com”,设置的探测场景为“网络请求结束后执行”,则在监测到“www.example.com”对应的网络请求后,对网络请求的结束时间点进行监测,在监测到网络请求执行结束后,执行对该域名的探测任务。
66.在一些示例中,第一网络探测任务执行策略设置的域名包括“www.example.com”,设置的探测场景为“网络请求发生错误后执行”,则在监测到“www.example.com”对应的网络请求后,对网络请求是否发生错误进行监测,在监测到网络请求发生错误后,执行对该域名的探测任务。
67.在一些示例中,探测任务包括:网络连通性测试(例如,tcpping、icmpping等)和/或路由追踪(例如,通过mtr进行路由追踪)。
68.步骤s308,向监测服务器发送监测数据,其中,监测数据包括:性能数据和cdn服务器的ip地址。
69.在一些示例中,性能数据包括:网络延时、丢包率、路由跳数等。
70.在本公开实施例中,监测数据包括cdn服务器的ip地址,通过cdn服务器的ip地址,可确定向客户端提供网络服务的cdn服务器,进而对cdn服务器的性能进行评估。在一些示例中,根据cdn服务器的ip地址可确定cdn服务器的地理位置,进一步的,可以根据cdn服务器的地理位置以及客户端的地理位置,确定cdn的调度策略。
71.在一些示例中,上述方法还包括:获取响应网络请求的cdn提供商的信息,发送的监测数据还包括:cdn提供商的信息。
72.在一些示例中,从响应网络请求的网络消息中获取cname记录,得到cdn提供商的信息。在另一些示例中,从响应网络请求的网络消息的预设字段获取cdn提供商的信息,其中,cdn提供商的信息预先设置在预设字段。
73.图4为本公开实施例二提供的另一监测cdn质量的方法的流程图,如图4所示,该监测cdn质量的方法包括步骤s402至步骤s406。
74.步骤s402,接收监测服务器发送的第二网络探测任务执行策略,其中,第二网络探测任务执行策略设置有文件下载url。
75.步骤s404,使用文件下载url发起探测任务,采集探测任务的性能数据,获取响应探测任务的cdn服务器的ip地址。
76.步骤s406,向监测服务器监测数据,其中,监测数据包括:性能数据和cdn服务的ip地址。
77.在本公开实施例中,性能数据包括文件下载响应时间、错误率等,本公开实施例对此不做限定。在本公开实施例中,文件下载包括单文件下载,例如,下载一张图片(例如,jpg、png等格式的图片)、一份文档(例如,word文档、pdf文档等)等。
78.在一些示例中,上述方法还包括:获取响应文件下载对应的网络请求的cdn提供商的信息,发送的监测数据还包括:cdn提供商的信息。在一些示例中,从响应该网络请求的网络消息中获取cname记录,得到cdn提供商的信息。在另一些示例中,从响应该网络请求的网络消息的预设字段获取cdn提供商的信息,其中,cdn提供商的信息预先设置在预设字段。
79.实施例三本公开实施例三提供了一种监测cdn质量的方法,应用于客户端,该客户端使用cdn提供网络服务,该方法实现对cdn质量的监测。
80.图5为本公开实施例三提供的监测cdn质量的方法的流程图,如图5所示,该方法包括步骤s502至步骤s506。
81.步骤s502,监听客户端使用过程中的网络请求,并记录网络请求对应的域名。
82.在一些示例中,可对客户端使用过程中的所有网络请求进行监测,采集网络请求的性能数据。在另一些示例中,可配置进行性能数据采集的网络请求,例如设置进行性能数据采集的域名,对这些域名的网络请求进行性能数据采集,例如,域名包括:news.example.com、music.example.com、video.example.com,客户端可访问这些域名进行
新闻查看、下载音乐、播放音乐流媒体、下载视频、播放在线视频,根据需要可对视频相关业务的网络请求进行性能数据采集,设置域名为video.example.com。
83.在一些示例中,可设置采样策略,按照采样策略对网络请求进行采样,采集相应网络请求的性能数据,例如,可设置采样率为70%,对70%的网络请求采集性能数据。在另一些示例中,采样策略可与本公开其他示例结合使用,例如,对部分域名对应的网络请求按照80%的采样率进行性能数据采集。
84.步骤s504,按照预设周期,对每个周期内记录的域名执行至少一次探测任务,采集探测任务的性能数据,并获取响应探测任务的cdn服务器的ip地址。
85.在一些示例中,可设置对一分钟内记录的域名执行至少一次探测任务。在一些示例中,上述探测任务包括:网络连通性测试(例如,tcpping、icmpping等)。在一些示例中,上述性能数据包括响应时间、丢包率等。
86.步骤s506,向监测服务器发送监测数据,其中,监测数据包括性能数据和cdn服务器的ip地址。
87.在一些示例中,上述方法,还包括:获取响应网络请求的cdn提供商的信息;其中,监测数据还包括cdn提供商的信息。
88.在一些示例中,获取响应网络请求的cdn提供商的信息,包括:从响应网络请求的网络消息中获取cname记录,得到cdn提供商的信息;和/或,从响应网络请求的网络消息的预设字段获取cdn提供商的信息,其中,cdn提供商的信息预先设置在预设字段。
89.在一些示例中,在上述步骤s502之前,还包括:获取监测指示,在监测指示配置为开启监测的情况下,进入步骤s502;在监测指示配置为关闭监测的情况下,不进行监测。在一些示例中,监测指示可设置在客户端的配置文件中。在另一些示例中,监测指示可由监测服务器发送至客户端,实现由监测服务器控制监测的开启与关闭。但本公开实施例并不限于此。
90.在一些示例中,在监测指示在客户端默认配置为开启监测,在客户端使用过程中,对客户端的cdn质量进行监测。监测过程中,当接收到监测服务器发送的监测指示时,如果监测指示配置为关闭监测,那么停止监测客户端的cdn质量。但本公开实施例并不限于此。
91.实施例四本公开实施例四提供了一种监测cdn质量的方法,应用于监测服务器,实现对cdn质量的监测。
92.图6为本公开实施例四提供的监测cdn质量的方法的流程图,如图6所示,该监测cdn质量的方法包括步骤s602至步骤s604。
93.步骤s602,接收客户端发送的监测数据,其中,监测数据包括:cdn服务器的ip地址和与cdn服务器的地址关联的性能数据。
94.步骤s604,根据多个客户端发送的监测数据确定各个cdn服务器的质量指标。
95.通过cdn提供商的某个节点可能有多台服务器支撑,那么这些服务器的性能如何,上述方法中提供对每台服务器访问的质量指标的分析,通过这些数据,运营者可以分析某些地区访问性能差,是否是由于被分配到了性能差的服务器上。对cdn提供商的服务器性能进行监测,通过数据可以要求cdn服务商适当的调整策略,以保证用户访问性能。
96.在本公开实施例中,质量指标可包括但不限于:性能指标(例如,网络延时、单文件
下载的响应时间)、可用性指标(例如,丢包率、单文件下载任务的错误率)。
97.在一些实施例中,上述方法还包括:对于每个监测数据,根据发送监测数据的客户端的公网ip地址,确定客户端的地理位置;根据监测数据中的cdn服务器的ip地址确定cdn服务器的地理位置;根据cdn服务器的地理位置与客户端的地理位置确定cdn提供商的调度策略。
98.cdn解析策略是指通过正确的时间,访问正确的地点、获得正确的内容,是对cdn的服务的要求。也就是说cdn服务商在高峰时间段,将用户的访问指向到最近的节点、性能最优的服务器上,获取正确的访问内容。根据调度策略可以对cdn策略的合理性能进行监测,结合cdn调度策略,可以判断cdn对用户的指向区域的合理性。此外,还可结合运营商判断区域及运营商指向的匹配度。
99.在一些示例中,监测数据还包括:cdn提供商的信息。在另一些示例中,可根据cdn服务器的ip地址与cdn提供商的对应关系,将监测数据与cdn提供商关联。
100.在一些示例中,监测服务器可向客户端发送第一网络探测任务执行策略,其中,第一网络探测任务执行策略设置有:一个或多个域名,与一个或多个域名关联的探测场景和探测任务。探测场景与探测任务参见本公开前述说明,在此不再赘述。
101.在另一些示例中,监测服务器可向客户端发送第二网络探测任务执行策略,其中,第一网络探测任务执行策略设置有文件下载url,以使客户端使用文件下载url发起探测任务。
102.在一些示例中,监测服务器根据配置发送上述第一、第二网络探测任务执行策略,该配置包括时间范围和设备范围,但不限于此。
103.在一些示例中,监测服务器可获取客户端的其他信息,例如地理位置、运营商、接入方式,将这些信息与客户端发送的监测数据关联。从而实现从多个维度对cdn进行评估。
104.实施例五本公开实施例五提供一种监测系统,该系统应用于如图1所示的电子设备100和监测服务器300。如图1所示,电子设备100包括客户端110,电子设备100还包括监测装置120,监测装置120用于监测向客户端110提供网络服务的cdn的性能。监测装置120和监测服务器300实现本公开前述任意实施例的监测方法。
105.如图7所示,监测装置120包括:监测模块121,被配置为监听客户端110使用过程中的网络请求。
106.数据采集模块122,被配置为采集性能数据。
107.获取模块123,被配置为获取响应网络请求或探测任务的cdn服务器的ip地址。获取模块123,还被配置为获取响应网络请求的cdn提供商的信息;其中,监测数据还包括cdn提供商的信息。
108.发送模块124,被配置为向监测服务器300发送监测数据,其中,监测数据包括:性能数据和cdn服务器的ip地址。监测数据还可包括cdn提供商的信息。
109.在一些示例中,获取模块123,被配置为从响应网络请求的网络消息中获取cname记录,得到cdn提供商的信息;和/或,从响应网络请求的网络消息的预设字段获取cdn提供商的信息,其中,cdn提供商的信息预先设置在预设字段。
110.在一些示例中,监测装置120还包括:接收模块125,被配置为接收监测服务器发送
的第一网络探测任务执行策略,其中,第一网络探测任务执行策略设置有一个或多个域名;场景监测模块126,被配置为监测客户端使用过程中,与该一个或多个域名对应的网络请求是否满足第一网络探测任务执行策略设置的探测场景;执行模块127,被配置为在满足探测场景的情况下,对网络请求对应的域名执行第一网络探测任务执行策略设置的探测任务。数据采集模块122,被配置为采集探测任务的性能数据。发送模块124,被配置为向监测服务器发送监测数据,其中,监测数据包括:性能数据和cdn服务器的ip地址。
111.在一些示例中,探测场景,包括:立即执行、网络请求结束后执行或网络请求发生错误后执行中至少之一。
112.在一些示例中,探测任务,包括:网络连通性测试和/或路由追踪。
113.在一些示例中,接收模块125,被配置为接收监测服务器发送的第二网络探测任务执行策略,其中,第二网络探测任务执行策略设置有文件下载url;执行模块127,被配置为使用文件下载url发起探测任务。数据采集模块122,被配置为采集探测任务的性能数据。发送模块124,被配置为向监测服务器监测数据,其中,监测数据包括:性能数据和cdn服务的ip地址。
114.在一些示例中,监测模块121,被配置为监听客户端使用过程中的网络请求。监测装置120还包括:记录模块128,被配置为记录网络请求对应的域名。执行模块127,被配置为按照预设周期,对每个周期内记录的域名执行至少一次探测任务。数据采集模块122,被配置为采集探测任务的性能数据。在一些示例中,上述探测任务包括:网络连通性测试。
115.如图7所示,监测服务器300,包括:接收模块310,被配置为接收客户端110(其监测装置120)发送的监测数据,其中,监测数据包括:cdn服务器的ip地址和与cdn服务器的地址关联的性能数据。分析模块320,被配置为根据多个客户端110发送的监测数据确定各个cdn服务器的质量指标。
116.在一些示例中,分析模块320,还被配置为对于每个监测数据,根据发送监测数据的客户端的公网ip地址,确定客户端的地理位置;根据监测数据中的cdn服务器的ip地址确定cdn服务器的地理位置;根据cdn服务器的地理位置与客户端的地理位置确定cdn提供商的调度策略。
117.监测服务器300,还包括:发送模块330,被配置为向客户端110发送第一网络探测任务执行策略,其中,第一网络探测任务执行策略设置有:一个或多个域名,与一个或多个域名关联的探测场景和探测任务;和/或向客户端110(其监测装置120)发送第二网络探测任务执行策略,其中,第一网络探测任务执行策略设置有文件下载url,以使客户端110(其监测装置120)使用文件下载url发起探测任务。
118.在本公开实施例中,监测模块121获取当前请求的hostname,然后判断其是否为ip地址,如果不是ip地址,就需要对 hostname进行 dns 解析以获取ip地址(如果是ip地址,则直接封装成udp的数据包),最终根据 ip地址进行建连,随后获取返回结果中的cname记录,并填充到真实的网络请求中。
119.在本公开实施例中,首先通过开启“拨测功能”后通过定义策略,由监测服务器300根据“设备范围”和“时间范围”,决定是否向某设备下发任务,在进行下发配置给某设备后,监测装置120将按照策略规定,在某场景下做规定的工作,将收集的数据进行上传至监测服务器300进行存储数据,并可由报表展示数据。
120.在本公开实施例中,任务下发策略分为两种,一种是被动任务下发,通过监测装置120自动针对一分钟内(或者其他设置的周期)请求过的所有域名(或者配置的一个或多个域名)执行一次tcpping任务。另一种是主动任务下发,在根据不同执行条件主动针对特定维度下发任务。
121.在本公开实施例中,监测装置120根据不同执行条件(立即执行、请求结束后执行、错误后执执行)设置观察者(场景监测模块126)用以保证在不同执行条件下正常执行任务。观察者在上述策略执行过程中,其主要职责为监听消息、获取消息的参数并进行重新组装。
122.每一个消息可以有多个观察者。根据不同的探测场景id来进行判断,例如请求结束后执行场景。需要观察者针对指定请求进行监控,当其结束后立即出发一条 ping 任务。
123.每当消息到来,观察者首先取传入的参数,然后构建对象,并保存场景的特征数据,例如请求错误后执行,需要判断执行任务的条件(host)、请求是否发生错误。然后,观察者按顺序、同步的、依次调用指定插件,并把执行结果保存。
124.在本公开实施例中,监测装置120与监测服务端300之间的额交互策略逻辑可为:在监测装置120启动后拉取一次任务,若 token 失效导致监测装置120重启时,再拉取一次任务。
125.在此说明的是,执行任务总数是指客户端执行任务的个数。
126.在此说明的是,ping 执行次数是指客户端执行ping 任务的个数。
127.在此说明的是,单文件下载执行次数是指客户端执行单文件下载任务的个数。
128.在此说明的是,任务开始时间为当前任务开始下发的时间。
129.在此说明的是,任务名称为在新建任务是,添加的任务名称。
130.在此说明的是,任务状态可分为4种,分别是:(1)执行中:当前任务正处于执行状态;(2)未完成:当前任务执行点次大于剩余任务点次;(3)已完成:当前任务已经全部执行完毕;(4)已暂停:任务详情页中可暂停当前任务。
131.在此说明的是,完成情况为展示当前执行任务数和当前配置任务数。
132.在此说明的是,执行条件可分为3种,分别是:(1)立即执行:监测装置120收到下发任务后,立即针对任务域名执行一次拨测任务(单文件下载任务仅支持立即执行场景);(2)网络请求结束后执行:监测装置120收到下发任务后,在应用访问域名请求结束后,执行一次拨测任务;(3)网络请求发生错误后执行:监测装置120收到下发任务后,在应用访问域名发生错误后,执行一次拨测任务。
133.在此说明的是,执行域名/url是指,ping 任务为执行域名/单文件下载任务为 url。
134.在此说明的是,性能指标评判标准分2种,一种是根据执行任务(tcpping、icmpping、ping和traceroute)的网络延时进行评判;另一种是通过单文件下载任务的响应时间的指标进行评判。
135.在此说明的是,可用性指标的评判标准分2种,一种是根据ping任务的丢包率进行评判;另一种是通过单文件下载任务的错误率进行评判。
136.为了让客户了解cdn厂商真实节点的分布情况,基于真实用户视角自动分析cdn厂商性能及可用性并协助运维人员了解cdn厂商的访问质量情况。
137.相关技术中的探测方式为节点拨测,节点均为自建节点,无法了解到真实用户使
用过程中的感受,并且,受制于会员节点的地域限制,特别是海外节点的覆盖较少,存在成本较高的问题;受制于任务策略的限制,调度服务会每隔一段时间下发一次任务,存在灵敏度较低的问题;受制于会员节点的网络影响,只能执行wifi或4g任务,存在维度不全的问题。本公开至少部分实施例使用真实客户端,可免去自建节点,并具有低成本、高效率的特点。
138.需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
139.上述本公开实施例序号仅仅为了描述,不代表实施例的优劣。
140.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本公开各个实施例的方法。
141.上面结合附图对本公开的实施例进行了描述,但是本公开并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本公开的启示下,在不脱离本公开宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本公开的保护之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献