CN110677312B - Sdk包的时延监测方法及***、计算机设备与可读介质 - Google Patents
Sdk包的时延监测方法及***、计算机设备与可读介质 Download PDFInfo
- Publication number
- CN110677312B CN110677312B CN201910754354.8A CN201910754354A CN110677312B CN 110677312 B CN110677312 B CN 110677312B CN 201910754354 A CN201910754354 A CN 201910754354A CN 110677312 B CN110677312 B CN 110677312B
- Authority
- CN
- China
- Prior art keywords
- sdk
- speed measurement
- client
- speed
- speed measuring
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/50—Testing arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0852—Delays
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/30—Profiles
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种SDK包的时延监测方法及***、计算机设备与可读介质,涉及云计算领域。其包括:基于测速节点的请求,向测速节点发送与测速节点适配的客户端控制器的信息,以供测速节点加载并运行客户端控制器的信息,实现部署对应的SDK测速客户端;基于SDK测速客户端的请求,向SDK测速客户端发送测速任务的配置文件、运行环境信息以及测速任务的SDK主程序,以供SDK测速客户端基于配置文件和运行环境信息,运行SDK主程序以执行测速任务;接收SDK测速客户端返回的、在执行测速任务过程中根据配置文件采集到的监测结果;基于监测结果获取SDK主程序的时延。本发明采用非侵入式的埋点方案,克服现有技术的不足,提供一种SDK包的时延监测方案。
Description
【技术领域】
本发明涉及计算机应用技术领域,尤其涉及一种SDK包的时延监测方法及***、计算机设备与可读介质。
【背景技术】
随着近年来人工智能(Artificial Intelligence;AI)技术的快速发展,各种基于AI的应用不断落地,使得AI正走在从技术攻坚到嵌入大众生活的历史进程中。
在AI的落地实现中,AI的能力基本都是通过应用程序编程接口(ApplicationProgramming Interface;API)或者软件开发工具包(Software Development Kit;SDK)的方式提供出去。在具体地AI的落地场景中,大部分的AI实现中要求降低人工成本,提升工作效率,这便对时延有着更高的要求。例如,若人们需要3秒才能通过人脸闸机,语音识别一句话需要3秒甚至以上才能有结果,这样的时延和效率显然不能被接受,所以AI的时延性能监测以及优化,一直是AI落地实现中的一项非常重要的工作。针对于API的场景下,业界已经有成熟的方案去进行监测与数据回捞。但是SDK场景,相比API场景更加复杂,涉及到多版本、多语言、多环境等情况,显然API场景的时延监测无法应用在SDK场景下,因此,亟需提供一种有效的SDK场景下的时延监测方案。
【发明内容】
本发明提供了一种SDK包的时延监测方法及***、计算机设备与可读介质,用于提供一种有效的SDK场景下的时延监测方案。
本发明提供一种SDK包的时延监测方法,所述方法包括:
基于测速节点的请求,向所述测速节点发送与所述测速节点适配的客户端控制器的信息,以供所述测速节点加载并运行所述客户端控制器的信息,实现部署对应的SDK测速客户端;
基于所述SDK测速客户端的请求,向所述SDK测速客户端发送测速任务的配置文件、运行环境信息以及所述测速任务的SDK主程序,以供所述SDK测速客户端基于所述配置文件和所述运行环境信息,运行所述SDK主程序,以执行所述测速任务;
接收所述SDK测速客户端返回的、在执行所述测速任务过程中根据所述配置文件采集到的监测结果;
并基于所述监测结果,获取所述SDK主程序的时延。
进一步可选地,如上所述的方法中,基于所述SDK测速客户端的请求,向所述SDK测速客户端发送测速任务的配置文件、运行环境信息以及所述测速任务的SDK主程序,以供所述SDK测速客户端基于所述配置文件和所述运行环境信息,运行所述SDK主程序,以执行所述测速任务,包括:
接收所述SDK测速客户端发送的携带所述测速节点的参数的注册请求;所述测速节点的参数包括IP地址和所述测速节点的标识;
将所述测速节点的参数存储在云端数据库中,以实现所述测速节点的注册;
向所述SDK测速客户端发送测速任务的配置文件,以供所述SDK测速客户端根据所述配置文件,分析所述测速任务包含的编程语言;
接收所述SDK测速客户端发送的携带所述编程语言的运行环境和测速任务的SDK主程序的下载请求;
向所述SDK测速客户端提供对应的运行环境信息以及所述测速任务的SDK主程序,以供所述SDK测速客户端基于所述SDK主程序检测所述运行环境信息是否正常,并在正常时,基于所述配置文件,运行所述SDK主程序,执行所述测速任务;并根据所述配置文件,收集所述测速任务的测速结果。
进一步可选地,如上所述的方法中,接收所述SDK测速客户端返回的、在执行所述测速任务过程中根据所述配置文件采集到的监测结果之后,所述方法还包括:
接收所述测速节点发送的携带所述测速节点的参数的客户端注销请求;
从所述云端数据库中释放所述测速节点。
进一步可选地,如上所述的方法中,基于测速节点的请求,向所述测速节点发送与所述测速节点适配的客户端控制器的信息,包括:
接收所述测速节点发送的携带操作***类型的初始化客户端的请求;
获取所述操作***类型对应的版本的所述客户端控制器的信息;
向所述测速节点发送所述客户端控制器的信息。
本发明还提供一种SDK包的时延监测方法,其特征在于,所述方法包括:
加载并运行从SDK测速服务器获取的、适配本地的客户端控制器的信息,以部署对应的SDK测速客户端;
通过所述SDK测速客户端从所述SDK测速服务器获取测速任务的配置文件、运行环境信息以及所述测速任务的SDK主程序;
由所述SDK测速客户端基于所述配置文件和所述运行环境信息,运行所述SDK主程序,以执行所述测速任务;并在执行所述测速任务过程中,根据所述配置文件采集监测结果;
通过所述SDK测速客户端向所述SDK测速服务器发送所述监测结果,以供所述SDK测速服务器基于所述监测结果,获取所述SDK主程序的时延。
进一步可选地,如上所述的方法中,加载并运行从SDK测速服务器获取的、适配本地的客户端控制器的信息,实现部署对应的SDK测速客户端之前,所述方法还包括:
向所述SDK测速服务器发送携带操作***类型的初始化客户端的请求,以供所述SDK测速服务器获取所述操作***类型对应的版本的所述客户端控制器的信息;
接收所述SDK测速服务器发送的、所述操作***类型对应的版本的所述客户端控制器的信息。
进一步可选地,如上所述的方法中,通过所述SDK测速客户端从所述SDK测速服务器获取测速任务的配置文件、运行环境信息以及所述测速任务的SDK主程序,包括:
通过所述SDK测速客户端向所述SDK测速服务器发送携带所述测速节点的参数的注册请求,以供所述SDK测速服务器将所述测速节点的参数存储在云端数据库中,以实现所述测速节点的注册;所述测速节点的参数包括IP地址和所述测速节点的标识;
通过所述SDK测速客户端接收所述SDK测速服务器发送的配置文件;
由所述SDK测速客户端根据所述配置文件,分析所述测速任务包含的编程语言;
通过所述SDK测速客户端向所述SDK测速服务器发送携带所述编程语言的运行环境和测速任务的主程序的下载请求,以供所述SDK测速服务器获取所述编程语言对应的所述运行环境信息和所述测速任务的SDK主程序;
通过所述SDK测速客户端接收所述SDK测速服务器发送的所述运行环境信息和所述测速任务的SDK主程序。
进一步可选地,如上所述的方法中,通过所述SDK测速客户端向所述SDK测速服务器发送所述监测结果之后,所述方法还包括:
通过所述SDK测速客户端向所述SDK测速服务器发送携带所述测速节点的参数的客户端注销请求,以供所述SDK测速服务器从所述云端数据库中释放所述测速节点。
进一步可选地,如上所述的方法中,由所述SDK测速客户端基于所述配置文件和所述运行环境信息,运行所述SDK主程序,以执行所述测速任务,包括:
由所述SDK测速客户端基于所述SDK主程序检测所述运行环境信息是否正常;并在正常时,基于所述配置文件,运行所述SDK主程序,以执行所述测速任务。
本发明提供一种SDK测速服务器,所述服务器包括:
发送模块,用于基于测速节点的请求,向所述测速节点发送与所述测速节点适配的客户端控制器的信息,以供所述测速节点加载并运行所述客户端控制器的信息,实现部署对应的SDK测速客户端;
所述发送模块,还用于基于所述SDK测速客户端的请求,向所述SDK测速客户端发送测速任务的配置文件、运行环境信息以及所述测速任务的SDK主程序,以供所述SDK测速客户端基于所述配置文件和所述运行环境信息,运行所述SDK主程序,以执行所述测速任务;
接收模块,用于接收所述SDK测速客户端返回的、在执行所述测速任务过程中根据所述配置文件采集到的监测结果;
获取模块,用于并基于所述监测结果,获取所述SDK主程序的时延。
本发明提供一种测速节点,所述测速节点中包括:
部署模块,用于加载并运行从SDK测速服务器获取的、适配本地的客户端控制器的信息,以部署对应的SDK测速客户端;
所述SDK测速客户端,用于从所述SDK测速服务器获取测速任务的配置文件、运行环境信息以及所述测速任务的SDK主程序;
所述SDK测速客户端,用于基于所述配置文件和所述运行环境信息,运行所述SDK主程序,以执行所述测速任务;并在执行所述测速任务过程中,根据所述配置文件采集监测结果;
所述SDK测速客户端,用于向所述SDK测速服务器发送所述监测结果,以供所述SDK测速服务器基于所述监测结果,获取所述SDK主程序的时延。
本发明还提供一种SDK包的时延监测***,包括如上所述的SDK测速服务器以及如上所述的测速节点;所述SDK测速服务器和所述测速节点之间通信连接。
本发明还提供一种计算机设备,所述设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上所述的SDK包的时延监测方法。
本发明还提供一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时实现如上所述的SDK包的时延监测方法。
本发明的SDK包的时延监测方法及***、计算机设备与可读介质,通过采用上述方案,弥补了现有技术的不足,采用非侵入式的埋点方案,能够对多种语言SDK的SDK测速客户端自动快速地部署,得到多种SDK的网络请求性能数据,满足时延监测的需求。因此,本实施例的技术方案,提供了产品以SDK方式接入时的时延测试能力,可以作为标准化地速度测试框架,而且能够有效保证测试效率。
【附图说明】
图1为本发明的SDK包的时延监测方法实施例一的流程图。
图2为本发明提供一种SDK包的时延监测场景。
图3为本发明的SDK包的时延监测方法实施例二的流程图。
图4为本发明提供的SDK测速客户端和SDK测速服务器的一种架构图。
图5为图4所示的SDK测速客户端的一种架构图。
图6为本发明提供的SDK测速客户端和SDK测速服务器的一种应用场景图。
图7为本发明的SDK包的时延监测方法实施例三的信令图。
图8为本发明的SDK测速服务器实施例的结构图。
图9为本发明的测速节点实施例的结构图。
图10为本发明的SDK包的时延监测***的结构图。
图11为本发明的计算机设备实施例的结构图。
图12为本发明提供的一种计算机设备的示例图。
【具体实施方式】
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
图1为本发明的SDK包的时延监测方法实施例一的流程图。如图1所示,本实施例的SDK包的时延监测方法,具体可以包括如下步骤:
100、基于测速节点的请求,向测速节点发送与测速节点适配的客户端控制器的信息,以供测速节点加载并运行客户端控制器的信息,实现部署对应的SDK测速客户端;
本实施例的SDK包的时延监测方法,在SDK测速服务器一端描述本发明的技术方案。
本实施例的SDK包的时延监测方法,应用在图2所示的SDK包的时延监测场景中。如图2所示,其中的测速节点可以为需要进行SDK包测速的计算机设备如服务器或者虚拟机等。具体监测时,本实施例中,需要先在测速节点上部署相应的SDK测速客户端,然后通过该SDK测速客户端在测速节点上执行SDK包的时延监测任务。
本实施例的场景中,测速节点中没有任何SDK包相关的信息,而要在测速节点中完成SDK包的时延监测,需要先在测速节点中部署对应的SDK测速客户端。当然,实际应用中,SDK测速服务器并不知道哪个测速节点需要执行SDK包的时延监测,还需要测速节点向SDK测速服务器请求相应的客户端控制器的信息,以部署相应的SDK测速客户端。
例如,具体实现时,SDK测速服务器可以先接收测速节点发送的携带操作***类型的初始化客户端的请求;然后获取该操作***类型对应的版本的客户端控制器的信息;最后向测速节点发送客户端控制器的信息。
本实施例的操作***类型可以为IOS、Windows、DOS、Linux等各种类型的操作***。在SDK测速服务器中,预先配置有各种类型的操作***对应的客户端控制器信息。测速节点在向SDK测速服务器发送初始化客户端的请求时,需要携带其操作***类型。这样,SDK测速服务器基于测速节点的操作***的类型,获取相应的客户端控制器信息,并返回给相应的测速节点。测速节点接收到客户端控制器的信息后,加载并运行客户端控制器信息,便在测速节点上部署了对应的SDK测速客户端。
101、基于SDK测速客户端的请求,向SDK测速客户端发送测速任务的配置文件、运行环境信息以及测速任务的SDK主程序,以供SDK测速客户端基于配置文件和运行环境信息,运行SDK主程序,以执行测速任务;
本实施例中,SDK测速客户端执行测试任务时,需要向SDK测速服务器请求测速任务的配置文件,运行环境信息以及SDK主程序,才能在SDK测速客户端执行测速任务。
例如,具体实现时,可以包括如下步骤:
(a1)接收SDK测速客户端发送的携带测速节点的参数的注册请求;
(b1)将测速节点的参数存储在云端数据库中,以实现测速节点的注册;
(c1)向SDK测速客户端发送测速任务的配置文件,以供SDK测速客户端根据配置文件,分析测速任务包含的编程语言;
(d1)接收SDK测速客户端发送的携带编程语言的运行环境和测速任务的主程序的下载请求;
(e1)向SDK测速客户端提供对应的运行环境信息以及测速任务的SDK主程序,以供SDK测速客户端基于SDK主程序检测运行环境信息是否正常,并在正常时,基于配置文件,运行SDK主程序,执行测速任务;并根据配置文件,收集测速任务的测速结果。
本实施例中,SDK测速客户端部署好以后,可以向SDK测速服务器发送携带测速节点的参数的注册请求,该测速节点的参数可以包括IP地址和测速节点的标识,其中测速节点的标识可以为测速节点对应的机器的名称或者虚拟机的名称。SDK测速服务器收到注册请求之后,将测速节点的参数如IP地址和测速节点的标识存储在云端数据库中,以表示测速节点在该SDK测速服务器中注册了。此时,SDK测速服务器向SDK测速客户端发送配置文件,以告知SDK测速客户端已注册成功,后续可以基于该配置文件执行测速任务。SDK测速客户端首先分析该配置文件,从中获取测速任务包含的编程语言,即先了解测速任务的SDK主程序所采用的编程语言是java、C++或者其他语言。因为对于不同的编程语言,需要不同的运行环境。然后SDK测速客户端可以基于编程语言,向SDK测速服务器请求相应的运行环境和测速任务中的SDK主程序的下载请求。SDK测速服务器基于接收到的下载请求,获取到相应的运行环境信息以及SDK主程序,并向SDK测速客户端下发。而SDK测速客户端接收到运行环境信息和SDK主程序后,先基于SDK主程序检测运行环境信息是否正常。本实施例中,运行环境不仅包含基础环境,还包括构建在基础环境上的高级lib库以及环境变量等等。基于SDK主程序检测运行环境信息是否正常时,主要是通过SDK主程序上的测试接口来检测构建在基础环境上的所有lib库文件在当前的基础环境及相应的环境变量下、是否都可以被正确加载,若能够,则表示运行环境信息正常。接下来,可以基于文件,运行SDK主程序,执行测速任务。并且,SDK测速客户端在执行测速任务的过程中,还需要根据配置文件,收集测速任务的测速结果。
本实施例中,SDK测速客户端在运行SDK主程序,执行测速任务时,可以通过该SDK主程序向第三方的业务Server端发送正常的业务请求,并接收第三方的业务Server端发送的正常的业务返回,从而基于如此的业务请求和业务返回,根据配置文件,收集到相应的测速结果,并最终由SDK测速客户端回传给SDK测速服务器。
102、接收SDK测速客户端返回的、在执行测速任务过程中根据配置文件采集到的监测结果;
103、并基于监测结果,获取SDK主程序的时延。
SDK测速服务器接收到SDK测速客户端返回的监测结果后,便可以基于监测结果,进行SDK包的时延的计算,详细可以参考相关时延计算方案,在此不再赘述。
进一步可选地,在上述图1所示实施例的步骤102接收SDK测速客户端返回的、在执行测速任务过程中根据配置文件采集到的监测结果之后,还可以包括:接收测速节点发送的携带测速节点的参数的客户端注销请求;从云端数据库中释放测速节点的参数对应的测速节点。
也就是说,本实施例中,测速节点完成测速之后,可以向SDK测速服务器请求注销该测速节点,注销请求中可以携带测速节点的参数,如测速节点的IP地址或者名称等注册时采用的参数之一或者全部,然后SDK测速服务器从云端数据库中删除该测速节点,从而释放该测速节点。这样,在测速节点侧,也可以删除该SDK测速客户端,以节省空间。
本实施例的SDK包的时延监测方法,弥补了现有技术的不足,采用非侵入式的埋点方案,能够对多种语言SDK的SDK测速客户端自动快速地部署,得到多种SDK的网络请求性能数据,满足时延监测的需求。因此,本实施例的技术方案,提供了产品以SDK方式接入时的时延测试能力,可以作为标准化地速度测试框架,而且能够有效保证测试效率。
图3为本发明的SDK包的时延监测方法实施例二的流程图。如图3所示,本实施例的SDK包的时延监测方法,具体可以包括如下步骤:
200、加载并运行从SDK测速服务器获取的、适配本地的客户端控制器的信息,实现部署对应的SDK测速客户端;
本实施例的SDK包的时延监测方法,在测速节点侧描述本发明的技术方案。
本实施例的测速节点可以为需要进行SDK包测速的计算机设备如服务器或者虚拟机等。本实施例的测速节点上本身没有SDK测速客户端,因此,为了实现SDK包的时延监测,本实施例中首先需要在测速节点上加载并运行从SDK测速服务器获取的、适合该测速节点本地的客户端控制器,从而实现在测速节点上部署SDK测速客户端。
具体地,在该步骤200之前,还可以包括:测速节点向SDK测速服务器发送携带操作***类型的初始化客户端的请求,以供SDK测速服务器获取操作***类型对应的版本的客户端控制器的信息;然后接收SDK测速服务器发送的、操作***类型对应的版本的客户端控制器的信息。
本实施例的操作***的类型可以包括IOS、Windows、DOS、Linux等各种类型。由于在SDK测速服务器中,预先配置有各种类型的操作***对应的客户端控制器信息。测速节点通过SDK测速客户端向SDK测速服务器发送携带操作***类型的初始化客户端的请求后,SDK测速服务器可以基于该操作***类型,获取相应的客户端控制器信息,返回给SDK测速客户端,由SDK测速客户端加载并运行,实现安装部署,后续便可以通过该测试客户端进行测速任务的执行。
201、通过SDK测速客户端从SDK测速服务器获取测速任务的配置文件、运行环境信息以及测速任务的SDK主程序;
测速节点上的SDK测速客户端执行测速任务,还需要从从SDK测速服务器获取测速任务的配置文件、运行环境信息以及测速任务的SDK主程序。
例如,具体实现时,该步骤201,具体可以包括:
(a2)通过SDK测速客户端向SDK测速服务器发送携带测速节点的参数的注册请求,以供SDK测速服务器将测速节点的参数存储在云端数据库中,以实现测速节点的注册;本实施例的测速节点的参数可以包括测速节点的IP地址和测速节点的标识。
(b2)通过SDK测速客户端接收SDK测速服务器发送测速任务的配置文件;
(c2)由SDK测速客户端根据配置文件,分析测速任务包含的编程语言;
(d2)通过SDK测速客户端向SDK测速服务器发送携带编程语言的运行环境和测速任务的主程序的下载请求,以供SDK测速服务器获取编程语言对应的运行环境信息和测速任务的SDK主程序;
(e2)通过SDK测速客户端接收SDK测速服务器发送的运行环境信息和测速任务的SDK主程序。
202、由SDK测速客户端基于配置文件和运行环境信息,运行SDK主程序,以执行测速任务;并在执行测速任务过程中,根据配置文件采集监测结果;
具体实现时,可以先由SDK测速客户端基于SDK主程序检测运行环境信息是否正常;并在正常时,再基于配置文件,运行SDK主程序,以执行测速任务;并在执行测速任务过程中,根据配置文件采集监测结果。
203、通过SDK测速客户端向SDK测速服务器发送监测结果,以供SDK测速服务器基于监测结果,获取SDK主程序的时延。
进一步可选地,在步骤203之后,还包括:向SDK测速服务器发送携带测速节点的参数的客户端注销请求,以供SDK测速服务器从云端数据库中释放测速节点。
本实施例的SDK包的时延监测方法,与上述图1所述实施例的区别仅在于:上述图1所示实施例在SDK测速服务器侧描述本发明的技术方案,而本实施例在测速节点侧描述本发明的技术方案,其实现机制相同,详细可以参考上述图1所示实施例的记载,在此不再赘述。
本实施例的SDK包的时延监测方法,弥补了现有技术的不足,采用非侵入式的埋点方案,能够对多种语言SDK的SDK测速客户端自动快速地部署,得到多种SDK的网络请求性能数据,满足时延监测的需求。因此,本实施例的技术方案,提供了产品以SDK方式接入时的时延测试能力,可以作为标准化地速度测试框架,而且能够有效保证测试效率。
图4为本发明提供的SDK测速客户端和SDK测速服务器的一种架构图。如图4所示,本实施例的SDK测速客户端包括控制器模块以及测速任务模块。其中控制器模块中可以包括测试任务的SDK主程序、运行环境以及资源检查及下载接口,以及客户端状态和客户端状态接口。测速任务执行模块可以包括任务执行模块、测速结果处理、测速数据的收集功能以及测试数据的回传接口,负责SDK测速客户端执行SDK测速服务器下发的测速任务,收集监测结果并回传至SDK测速服务器。在SDK测速服务器中包括客户端自动部署模块和数据接收模块。其中客户端自动部署模块中包括SDK主程序下载接口、依赖环境下载接口、客户端变更/部署模块、客户端下载接口、客户端状态更新接口以及客户端状态管理模块。数据接收模块中包括数据接收接口和数据存储模块。
图5为图4所示的SDK测速客户端的一种架构图。如图5所示,SDK测速客户端的控制器模块负责节点生命周期管理、节点测速主体管理以及节点运行环境管理。如图5的生命周期状态机所示,包括客户端注册、向客户端下发测试任务、向SDK测速服务器提交监测数据、以及测试完成后客户端注销的处理。在节点测速主体管理中,从服务端即SDK测速服务器获取客户端的控制器信息,生成SDK测速客户端的主体框架,且从服务端获取配置文件、客户端的主体程序,包括开发语言1-SDK-1及其测试程序、开发语言1-SDK-2及其测试程序等,以执行测试任务。在节点运行环境管理中,从服务端获取的运行环境,如本实施例中采用的是开发语言1,对应下载开发语言1对应的运行环境。
图6为本发明提供的SDK测速客户端和SDK测速服务器的一种应用场景图。如图6所示,以云主机1、2、3和X86云虚拟机上任一作为测速节点为例,在公有云/客户机房中的测速节点上部署SDK测速客户端。其中SDK测速客户端按照上述实施例完成测速任务,获取到监测结果后,推送给SDK测速服务器,由其中的数据接收及处理模块接收,并将数据入库,存入数据库(DataBase;DB),后续需要时,将数据按需求聚合,并向用户进行数据展示,从而可以实现测速结果的展示。本实施例中,用户通过控制台,可以对SDK测速服务器中客户端管理模块进行配置和管理,例如,可以对云服务器进行管理,对客户端的运行环境进行配置,还可以部署测速主体即测速任务中的SDK主程序;同时还可以对客户端(Client)的CI/CD流程以及部署流程进行配置;还可以对测试任务进行调度和对测试任务进行配置管理等等。
图12为本发明的SDK包的时延监测方法实施例三的信令图。如图12所示,本实施例的SDK包的时延监测方法,具体可以包括如下步骤:
300、测速节点向SDK测速服务器发送携带操作***类型的初始化客户端的请求;
301、SDK测速服务器基于初始化客户端的请求,获取操作***类型对应的版本的客户端控制器的信息;
302、SDK测速服务器返回给SDK测速客户端获取到的客户端控制器的信息;
303、测速节点加载并运行从SDK测速服务器获取的、适配本地的客户端控制器的信息,实现部署对应的SDK测速客户端;
304、SDK测速客户端向SDK测速服务器发送携带测速节点的参数的注册请求;
305、SDK测速服务器将测速节点的参数存储在云端数据库中,以实现测速节点的注册;
306、SDK测速服务器向SDK测速客户端发送测速任务的配置文件;
307、SDK测速客户端根据配置文件,分析测速任务包含的编程语言;
308、SDK测速客户端向SDK测速服务器发送携带编程语言的运行环境和测速任务的主程序的下载请求;
309、SDK测速服务器获取并向SDK测速客户端发送编程语言对应的运行环境信息和测速任务的SDK主程序;
310、SDK测速客户端基于SDK主程序检测运行环境信息是否正常,并在正常时,再基于配置文件,运行SDK主程序,以执行测速任务;
311、在执行测速任务过程中,SDK测速客户端会根据预先的配置向第三方业务Server端发送正常的业务请求;
312、第三方业务Server端向SDK测速客户端发送的正常的业务返回;
实际应用中,测速任务执行过程中,步骤311和步骤312可能会执行多轮,实现按照配置文件执行测速任务。其中步骤311和312为步骤310中执行测速任务的一个流程。
313、SDK测速客户端基于上述测速任务的执行,根据配置文件采集监测结果;
314、SDK测速客户端向SDK测速服务器返回采集的监测结果;
315、SDK测速服务器基于监测结果,获取SDK主程序的时延;
316、测试节点向SDK测速服务器发送携带测速节点的参数的注销请求;
317、SDK测速服务器从云端数据库中删除该测速节点,从而释放该测速节点。
本实施例的各步骤可以采用图4所示的架构来实现,例如,步骤302中SDK测速服务器可以通过客户端下载接口与SDK测速客户端的客户端状态接口返回给SDK测速客户端获取到的客户端控制器的信息,SDK测速客户端在本地部署SDK测试客户端后,需要及时更新客户端状态处于已安装运行。同理,步骤304中SDK测速客户端可以通过SDK测速客户端的客户端状态接口向SDK测速服务器侧的客户端下载接口发送携带测速节点的参数的注册请求;对应在步骤305中SDK测速服务器将测速节点的参数存储在云端数据库中,以实现测速节点的注册;SDK测速客户端还在接收到注册成功响应后并更新客户端状态为注册状态。对应地,SDK测速服务器也需要及时更新客户端状态管理模块中的相应信息。在306中SDK测速服务器通过依赖环境下载接口向SDK测速客户端侧的资源检查及下载接口发送测速任务的配置文件。对应地,在步骤308中,SDK测速客户端,通过资源检查及下载接口向SDK测速服务器侧的依赖环境下载接口发送携带编程语言的运行环境和测速任务的主程序的下载请求;对应地,步骤309中,SDK测速服务器通过依赖环境下载接口向SDK测速客户端侧的资源检查及下载接口发送编程语言对应的运行环境信息,并通过SDK主程序下载接口向SDK测速客户端侧的资源检查及下载接口发送测速任务的SDK主程序。在步骤313中,SDK测速客户端可以基于上述测速任务的执行,通过测试数据的收集功能模块根据配置文件采集监测结果,并可以进一步基于测速结果处理模块对监测结果进行处理,如融合或者消除噪声等处理。在步骤314中,SDK测速客户端通过测试数据的回传接口向SDK测速服务器的数据接收接口返回采集的监测结果;并由数据存储模块对数据进行存储,以便于后续对时延进行计算。另外,步骤316、317可以在图4所示的客户端状态、客户端状态接口、客户端状态更新接口、客户端状态管理模块中来实现,具体可以通过客户端状态接口在客户端状态处于测速任务完成的状态时,可以向客户端状态更新接口发送注销请求,客户端状态管理模块根据客户端状态更新接口接收到的注销请求,从云端数据库中删除该测速节点。其余未详细描述的步骤也可以在图4所示架构中来实现,详细可以结合上述相关实施例的记载,在此不再一一举例赘述。
本实施例的SDK包的时延监测方法,弥补了现有技术的不足,采用非侵入式的埋点方案,能够对多种语言SDK的SDK测速客户端自动快速地部署,得到多种SDK的网络请求性能数据,满足时延监测的需求。因此,本实施例的技术方案,提供了产品以SDK方式接入时的时延测试能力,可以作为标准化地速度测试框架,而且能够有效保证测试效率。
图8为本发明的SDK测速服务器实施例的结构图。如图8所示,本实施例的SDK测速服务器,具体可以包括:
发送模块10用于基于测速节点的请求,向测速节点发送与测速节点适配的客户端控制器的信息,以供测速节点加载并运行客户端控制器的信息,实现部署对应的SDK测速客户端;
发送模块10还用于基于SDK测速客户端的请求,向SDK测速客户端发送测速任务的配置文件、运行环境信息以及测速任务的SDK主程序,以供SDK测速客户端基于配置文件和运行环境信息,运行SDK主程序,以执行测速任务;
接收模块11用于接收SDK测速客户端返回的、在执行测速任务过程中根据配置文件采集到的监测结果;
获取模块12用于基于接收模块11接收的监测结果,获取SDK主程序的时延。
进一步可选地,发送模块10用于:
接收SDK测速客户端发送的携带测速节点的参数的注册请求;测速节点的参数包括IP地址和测速节点的标识;
将测速节点的参数存储在云端数据库中,以实现测速节点的注册;
向SDK测速客户端发送测速任务的配置文件,以供SDK测速客户端根据配置文件,分析测速任务包含的编程语言;
接收SDK测速客户端发送的携带编程语言的运行环境和测速任务的SDK主程序的下载请求;
向SDK测速客户端提供对应的运行环境信息以及测速任务的SDK主程序,以供SDK测速客户端基于SDK主程序检测运行环境信息是否正常,并在正常时,基于配置文件,运行SDK主程序,执行测速任务;并根据配置文件,收集测速任务的测速结果。
进一步可选地,如图8所示,本实施例的SDK测速服务器,还包括释放模块13;
接收模块11还用于接收测速节点发送的携带测速节点的参数的客户端注销请求;
释放模块13用于从云端数据库中释放接收模块11接收到的客户端注销请求中测速节点的参数对应的测速节点。
进一步可选地,本实施例的SDK测速服务器中,发送模块10用于:
接收测速节点发送的携带操作***类型的初始化客户端的请求;
获取操作***类型对应的版本的客户端控制器的信息;
向测速节点发送客户端控制器的信息。
本实施例的SDK测速服务器,通过采用上述模块实现SDK包的时延监测的实现原理以及技术效果与上述相关方法实施例的实现相同,详细可以参考上述相关方法实施例的记载,在此不再赘述。
图9为本发明的测速节点实施例的结构图。如图9所示,本实施例的测速节点,具体可以包括:
部署模块20用于加载并运行从SDK测速服务器获取的、适配本地的客户端控制器的信息,以部署对应的SDK测速客户端21;
SDK测速客户端21用于从SDK测速服务器获取测速任务的配置文件、运行环境信息以及测速任务的SDK主程序;
SDK测速客户端21用于基于配置文件和运行环境信息,运行SDK主程序,以执行测速任务;并在执行测速任务过程中,根据配置文件采集监测结果;
SDK测速客户端21用于向SDK测速服务器发送监测结果,以供SDK测速服务器基于监测结果,获取SDK主程序的时延。
进一步可选地,本实施例的测速节点中,还包括:
发送模块22用于向SDK测速服务器发送携带操作***类型的初始化客户端的请求,以供SDK测速服务器获取操作***类型对应的版本的客户端控制器的信息;
接收模块23用于接收SDK测速服务器发送的、操作***类型对应的版本的客户端控制器的信息。
对应地,部署模块20用于加载并运行接收模块23接收的客户端控制器的信息,以部署对应的SDK测速客户端21。
进一步可选地,本实施例的测速节点中,SDK测速客户端21具体用于:
向SDK测速服务器发送携带测速节点的参数的注册请求,以供SDK测速服务器将测速节点的参数存储在云端数据库中,以实现测速节点的注册;测速节点的参数包括IP地址和测速节点的标识;
接收SDK测速服务器发送的配置文件;
根据配置文件,分析测速任务包含的编程语言;
向SDK测速服务器发送携带编程语言的运行环境和测速任务的主程序的下载请求,以供SDK测速服务器获取编程语言对应的运行环境信息和测速任务的SDK主程序;
接收SDK测速服务器发送的运行环境信息和测速任务的SDK主程序。
进一步可选地,本实施例的测速节点中,SDK测速客户端21还用于:
向SDK测速服务器发送携带测速节点的参数的客户端注销请求,以供SDK测速服务器从云端数据库中释放测速节点。
进一步可选地,本实施例的测速节点中,SDK测速客户端21具体用于:
基于SDK主程序检测运行环境信息是否正常;并在正常时,基于配置文件,运行SDK主程序,以执行测速任务。
本实施例的测速节点,通过采用上述模块实现SDK包的时延监测的实现原理以及技术效果与上述相关方法实施例的实现相同,详细可以参考上述相关方法实施例的记载,在此不再赘述。
图10为本发明的SDK包的时延监测***的结构图。如图10所示,本实施例的SDK包的时延监测***,包括SDK测速服务器A以及测速节点B;SDK测速服务器A和测速节点B之间通信连接。且SDK测速服务器A可以采用上述图8所示的SDK测速服务器,测速节点B可以上述图9所示的测速节点,其中在测速节点B中部署有SDK测速客户端,并具体可以采用上述图1、图3和图12所示的SDK包的时延监测方法实现SDK包的时延监测,详细可以参考上述相关实施例的记载,在此不再赘述。
图11为本发明的计算机设备实施例的结构图。如图11所示,本实施例的计算机设备,包括:一个或多个处理器30,以及存储器40,存储器40用于存储一个或多个程序,当存储器40中存储的一个或多个程序被一个或多个处理器30执行,使得一个或多个处理器30实现如上图1、图3和图12所示的SDK包的时延监测方法。图11所示实施例中以包括多个处理器30为例。
例如,图12为本发明提供的一种计算机设备的示例图。图12示出了适于用来实现本发明实施方式的示例性计算机设备12a的框图。图12显示的计算机设备12a仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图12所示,计算机设备12a以通用计算设备的形式表现。计算机设备12a的组件可以包括但不限于:一个或者多个处理器16a,***存储器28a,连接不同***组件(包括***存储器28a和处理器16a)的总线18a。
总线18a表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,***总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及***组件互连(PCI)总线。
计算机设备12a典型地包括多种计算机***可读介质。这些介质可以是任何能够被计算机设备12a访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
***存储器28a可以包括易失性存储器形式的计算机***可读介质,例如随机存取存储器(RAM)30a和/或高速缓存存储器32a。计算机设备12a可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机***存储介质。仅作为举例,存储***34a可以用于读写不可移动的、非易失性磁介质(图12未显示,通常称为“硬盘驱动器”)。尽管图12中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18a相连。***存储器28a可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明上述图1-图10各实施例的功能。
具有一组(至少一个)程序模块42a的程序/实用工具40a,可以存储在例如***存储器28a中,这样的程序模块42a包括——但不限于——操作***、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42a通常执行本发明所描述的上述图1-图10各实施例中的功能和/或方法。
计算机设备12a也可以与一个或多个外部设备14a(例如键盘、指向设备、显示器24a等)通信,还可与一个或者多个使得用户能与该计算机设备12a交互的设备通信,和/或与使得该计算机设备12a能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22a进行。并且,计算机设备12a还可以通过网络适配器20a与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20a通过总线18a与计算机设备12a的其它模块通信。应当明白,尽管图中未示出,可以结合计算机设备12a使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、RAID***、磁带驱动器以及数据备份存储***等。
处理器16a通过运行存储在***存储器28a中的程序,从而执行各种功能应用以及数据处理,例如实现上述实施例所示的SDK包的时延监测方法。
本发明还提供一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时实现如上述实施例所示的SDK包的时延监测方法。
本实施例的计算机可读介质可以包括上述图12所示实施例中的***存储器28a中的RAM30a、和/或高速缓存存储器32a、和/或存储***34a。
随着科技的发展,计算机程序的传播途径不再受限于有形介质,还可以直接从网络下载,或者采用其他方式获取。因此,本实施例中的计算机可读介质不仅可以包括有形的介质,还可以包括无形的介质。
本实施例的计算机可读介质可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如”C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或SDK测速服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
在本发明所提供的几个实施例中,应该理解到,所揭露的***,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,SDK测速服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (21)
1.一种SDK包的时延监测方法,其特征在于,所述方法包括:
基于测速节点的请求,向所述测速节点发送与所述测速节点适配的客户端控制器的信息,以供所述测速节点加载并运行所述客户端控制器的信息,实现部署对应的SDK测速客户端;
基于所述SDK测速客户端的请求,向所述SDK测速客户端发送测速任务的配置文件、运行环境信息以及所述测速任务的SDK主程序,以供所述SDK测速客户端基于所述配置文件和所述运行环境信息,运行所述SDK主程序,以执行所述测速任务;
接收所述SDK测速客户端返回的、在执行所述测速任务过程中根据所述配置文件采集到的监测结果;
并基于所述监测结果,获取所述SDK主程序的时延。
2.根据权利要求1所述的方法,其特征在于,基于所述SDK测速客户端的请求,向所述SDK测速客户端发送测速任务的配置文件、运行环境信息以及所述测速任务的SDK主程序,以供所述SDK测速客户端基于所述配置文件和所述运行环境信息,运行所述SDK主程序,以执行所述测速任务,包括:
接收所述SDK测速客户端发送的携带所述测速节点的参数的注册请求;所述测速节点的参数包括IP地址和所述测速节点的标识;
将所述测速节点的参数存储在云端数据库中,以实现所述测速节点的注册;
向所述SDK测速客户端发送测速任务的配置文件,以供所述SDK测速客户端根据所述配置文件,分析所述测速任务包含的编程语言;
接收所述SDK测速客户端发送的携带所述编程语言的运行环境和测速任务的SDK主程序的下载请求;
向所述SDK测速客户端提供对应的运行环境信息以及所述测速任务的SDK主程序,以供所述SDK测速客户端基于所述SDK主程序检测所述运行环境信息是否正常,并在正常时,基于所述配置文件,运行所述SDK主程序,执行所述测速任务;并根据所述配置文件,收集所述测速任务的测速结果。
3.根据权利要求2所述的方法,其特征在于,接收所述SDK测速客户端返回的、在执行所述测速任务过程中根据所述配置文件采集到的监测结果之后,所述方法还包括:
接收所述测速节点发送的携带所述测速节点的参数的客户端注销请求;
从所述云端数据库中释放所述测速节点的参数对应的所述测速节点。
4.根据权利要求1所述的方法,其特征在于,基于测速节点的请求,向所述测速节点发送与所述测速节点适配的客户端控制器的信息,包括:
接收所述测速节点发送的携带操作***类型的初始化客户端的请求;
获取所述操作***类型对应的版本的所述客户端控制器的信息;
向所述测速节点发送所述客户端控制器的信息。
5.一种SDK包的时延监测方法,其特征在于,所述方法包括:
加载并运行从SDK测速服务器获取的、适配本地的客户端控制器的信息,以部署对应的SDK测速客户端;
通过所述SDK测速客户端从所述SDK测速服务器获取测速任务的配置文件、运行环境信息以及所述测速任务的SDK主程序;
由所述SDK测速客户端基于所述配置文件和所述运行环境信息,运行所述SDK主程序,以执行所述测速任务;并在执行所述测速任务过程中,根据所述配置文件采集监测结果;
通过所述SDK测速客户端向所述SDK测速服务器发送所述监测结果,以供所述SDK测速服务器基于所述监测结果,获取所述SDK主程序的时延。
6.根据权利要求5所述的方法,其特征在于,加载并运行从SDK测速服务器获取的、适配本地的客户端控制器的信息,实现部署对应的SDK测速客户端之前,所述方法还包括:
向所述SDK测速服务器发送携带操作***类型的初始化客户端的请求,以供所述SDK测速服务器获取所述操作***类型对应的版本的所述客户端控制器的信息;
接收所述SDK测速服务器发送的、所述操作***类型对应的版本的所述客户端控制器的信息。
7.根据权利要求5所述的方法,其特征在于,通过所述SDK测速客户端从所述SDK测速服务器获取测速任务的配置文件、运行环境信息以及所述测速任务的SDK主程序,包括:
通过所述SDK测速客户端向所述SDK测速服务器发送携带测速节点的参数的注册请求,以供所述SDK测速服务器将所述测速节点的参数存储在云端数据库中,以实现所述测速节点的注册;所述测速节点的参数包括IP地址和所述测速节点的标识;
通过所述SDK测速客户端接收所述SDK测速服务器发送的配置文件;
由所述SDK测速客户端根据所述配置文件,分析所述测速任务包含的编程语言;
通过所述SDK测速客户端向所述SDK测速服务器发送携带所述编程语言的运行环境和测速任务的主程序的下载请求,以供所述SDK测速服务器获取所述编程语言对应的所述运行环境信息和所述测速任务的SDK主程序;
通过所述SDK测速客户端接收所述SDK测速服务器发送的所述运行环境信息和所述测速任务的SDK主程序。
8.根据权利要求7所述的方法,其特征在于,通过所述SDK测速客户端向所述SDK测速服务器发送所述监测结果之后,所述方法还包括:
通过所述SDK测速客户端向所述SDK测速服务器发送携带所述测速节点的参数的客户端注销请求,以供所述SDK测速服务器从所述云端数据库中释放所述测速节点。
9.根据权利要求5所述的方法,其特征在于,由所述SDK测速客户端基于所述配置文件和所述运行环境信息,运行所述SDK主程序,以执行所述测速任务,包括:
由所述SDK测速客户端基于所述SDK主程序检测所述运行环境信息是否正常;并在正常时,基于所述配置文件,运行所述SDK主程序,以执行所述测速任务。
10.一种SDK测速服务器,其特征在于,所述服务器包括:
发送模块,用于基于测速节点的请求,向所述测速节点发送与所述测速节点适配的客户端控制器的信息,以供所述测速节点加载并运行所述客户端控制器的信息,实现部署对应的SDK测速客户端;
所述发送模块,还用于基于所述SDK测速客户端的请求,向所述SDK测速客户端发送测速任务的配置文件、运行环境信息以及所述测速任务的SDK主程序,以供所述SDK测速客户端基于所述配置文件和所述运行环境信息,运行所述SDK主程序,以执行所述测速任务;
接收模块,用于接收所述SDK测速客户端返回的、在执行所述测速任务过程中根据所述配置文件采集到的监测结果;
获取模块,用于基于所述监测结果,获取所述SDK主程序的时延。
11.根据权利要求10所述的服务器,其特征在于,所述发送模块,用于:
接收所述SDK测速客户端发送的携带所述测速节点的参数的注册请求;所述测速节点的参数包括IP地址和所述测速节点的标识;
将所述测速节点的参数存储在云端数据库中,以实现所述测速节点的注册;
向所述SDK测速客户端发送测速任务的配置文件,以供所述SDK测速客户端根据所述配置文件,分析所述测速任务包含的编程语言;
接收所述SDK测速客户端发送的携带所述编程语言的运行环境和测速任务的SDK主程序的下载请求;
向所述SDK测速客户端提供对应的运行环境信息以及所述测速任务的SDK主程序,以供所述SDK测速客户端基于所述SDK主程序检测所述运行环境信息是否正常,并在正常时,基于所述配置文件,运行所述SDK主程序,执行所述测速任务;并根据所述配置文件,收集所述测速任务的测速结果。
12.根据权利要求11所述的服务器,其特征在于,所述服务器还包括释放模块;
所述接收模块,还用于接收所述测速节点发送的携带所述测速节点的参数的客户端注销请求;
所述释放模块,用于从所述云端数据库中释放所述测速节点的参数对应的所述测速节点。
13.根据权利要求10所述的服务器,其特征在于,所述发送模块,用于:
接收所述测速节点发送的携带操作***类型的初始化客户端的请求;
获取所述操作***类型对应的版本的所述客户端控制器的信息;
向所述测速节点发送所述客户端控制器的信息。
14.一种测速节点,其特征在于,所述测速节点中包括:
部署模块,用于加载并运行从SDK测速服务器获取的、适配本地的客户端控制器的信息,以部署对应的SDK测速客户端;
所述SDK测速客户端,用于从所述SDK测速服务器获取测速任务的配置文件、运行环境信息以及所述测速任务的SDK主程序;
所述SDK测速客户端,用于基于所述配置文件和所述运行环境信息,运行所述SDK主程序,以执行所述测速任务;并在执行所述测速任务过程中,根据所述配置文件采集监测结果;
所述SDK测速客户端,用于向所述SDK测速服务器发送所述监测结果,以供所述SDK测速服务器基于所述监测结果,获取所述SDK主程序的时延。
15.根据权利要求14所述的测速节点,其特征在于,所述测速节点还包括:
发送模块,用于向所述SDK测速服务器发送携带操作***类型的初始化客户端的请求,以供所述SDK测速服务器获取所述操作***类型对应的版本的所述客户端控制器的信息;
接收模块,用于接收所述SDK测速服务器发送的、所述操作***类型对应的版本的所述客户端控制器的信息。
16.根据权利要求14所述的测速节点,其特征在于,所述SDK测速客户端,具体用于:
向所述SDK测速服务器发送携带所述测速节点的参数的注册请求,以供所述SDK测速服务器将所述测速节点的参数存储在云端数据库中,以实现所述测速节点的注册;所述测速节点的参数包括IP地址和所述测速节点的标识;
接收所述SDK测速服务器发送的配置文件;
根据所述配置文件,分析所述测速任务包含的编程语言;
向所述SDK测速服务器发送携带所述编程语言的运行环境和测速任务的主程序的下载请求,以供所述SDK测速服务器获取所述编程语言对应的所述运行环境信息和所述测速任务的SDK主程序;
接收所述SDK测速服务器发送的所述运行环境信息和所述测速任务的SDK主程序。
17.根据权利要求16所述的测速节点,其特征在于,所述SDK测速客户端,还用于:
向所述SDK测速服务器发送携带所述测速节点的参数的客户端注销请求,以供所述SDK测速服务器从所述云端数据库中释放所述测速节点。
18.根据权利要求14所述的测速节点,其特征在于,所述SDK测速客户端,具体用于:
基于所述SDK主程序检测所述运行环境信息是否正常;并在正常时,基于所述配置文件,运行所述SDK主程序,以执行所述测速任务。
19.一种SDK包的时延监测***,其特征在于,包括如上权利要求10-13任一所述的SDK测速服务器以及如上权利要求14-18任一所述的测速节点;所述SDK测速服务器和所述测速节点之间通信连接。
20.一种计算机设备,其特征在于,所述设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-4中任一所述的方法,或者5-9任一所述的方法。
21.一种计算机可读介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-4中任一所述的方法,或者5-9任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910754354.8A CN110677312B (zh) | 2019-08-15 | 2019-08-15 | Sdk包的时延监测方法及***、计算机设备与可读介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910754354.8A CN110677312B (zh) | 2019-08-15 | 2019-08-15 | Sdk包的时延监测方法及***、计算机设备与可读介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110677312A CN110677312A (zh) | 2020-01-10 |
CN110677312B true CN110677312B (zh) | 2023-07-25 |
Family
ID=69075368
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910754354.8A Active CN110677312B (zh) | 2019-08-15 | 2019-08-15 | Sdk包的时延监测方法及***、计算机设备与可读介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110677312B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114629883B (zh) * | 2022-03-01 | 2023-12-29 | 北京奇艺世纪科技有限公司 | 服务请求的处理方法、装置、电子设备及存储介质 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20080091408A (ko) * | 2006-12-27 | 2008-10-13 | 주식회사 케이티 | 인터넷 품질 관리를 위한 자동 속도 측정 시스템 및 방법 |
WO2013029819A1 (en) * | 2011-08-30 | 2013-03-07 | Qatar Foundation | System and method for latency monitoring |
CN103685355A (zh) * | 2012-09-05 | 2014-03-26 | 云联(北京)信息技术有限公司 | 一种基于云计算的网络游戏运行实现方法 |
CN104580305A (zh) * | 2013-10-18 | 2015-04-29 | 腾讯科技(深圳)有限公司 | 网络上传调度和带宽检测方法、***、客户端和服务器 |
CN107040434A (zh) * | 2017-05-31 | 2017-08-11 | 广西电网有限责任公司桂林供电局 | 终端电脑实际带宽远程集中采集***及方法 |
CN108092837A (zh) * | 2016-11-21 | 2018-05-29 | 腾讯科技(深圳)有限公司 | 网络通信质量检测方法、测速服务器及网络测速插件 |
CN109039819A (zh) * | 2018-08-16 | 2018-12-18 | 深圳华锐金融技术股份有限公司 | 时延统计方法、装置、***及存储介质 |
CN109347918A (zh) * | 2018-09-17 | 2019-02-15 | 五八有限公司 | 调用方法、调用装置、服务器、终端及计算机可读存储介质 |
CN109379247A (zh) * | 2018-09-27 | 2019-02-22 | 腾讯科技(深圳)有限公司 | 一种对应用程序的网络延时进行检测的方法及装置 |
CN109688594A (zh) * | 2017-10-18 | 2019-04-26 | 中国电信股份有限公司 | 时延监测方法、基站和终端及计算机存储介质 |
CN110119350A (zh) * | 2019-04-02 | 2019-08-13 | 深圳市腾讯信息技术有限公司 | 软件开发工具包测试方法、装置和设备及计算机存储介质 |
-
2019
- 2019-08-15 CN CN201910754354.8A patent/CN110677312B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20080091408A (ko) * | 2006-12-27 | 2008-10-13 | 주식회사 케이티 | 인터넷 품질 관리를 위한 자동 속도 측정 시스템 및 방법 |
WO2013029819A1 (en) * | 2011-08-30 | 2013-03-07 | Qatar Foundation | System and method for latency monitoring |
CN103685355A (zh) * | 2012-09-05 | 2014-03-26 | 云联(北京)信息技术有限公司 | 一种基于云计算的网络游戏运行实现方法 |
CN104580305A (zh) * | 2013-10-18 | 2015-04-29 | 腾讯科技(深圳)有限公司 | 网络上传调度和带宽检测方法、***、客户端和服务器 |
CN108092837A (zh) * | 2016-11-21 | 2018-05-29 | 腾讯科技(深圳)有限公司 | 网络通信质量检测方法、测速服务器及网络测速插件 |
CN107040434A (zh) * | 2017-05-31 | 2017-08-11 | 广西电网有限责任公司桂林供电局 | 终端电脑实际带宽远程集中采集***及方法 |
CN109688594A (zh) * | 2017-10-18 | 2019-04-26 | 中国电信股份有限公司 | 时延监测方法、基站和终端及计算机存储介质 |
CN109039819A (zh) * | 2018-08-16 | 2018-12-18 | 深圳华锐金融技术股份有限公司 | 时延统计方法、装置、***及存储介质 |
CN109347918A (zh) * | 2018-09-17 | 2019-02-15 | 五八有限公司 | 调用方法、调用装置、服务器、终端及计算机可读存储介质 |
CN109379247A (zh) * | 2018-09-27 | 2019-02-22 | 腾讯科技(深圳)有限公司 | 一种对应用程序的网络延时进行检测的方法及装置 |
CN110119350A (zh) * | 2019-04-02 | 2019-08-13 | 深圳市腾讯信息技术有限公司 | 软件开发工具包测试方法、装置和设备及计算机存储介质 |
Non-Patent Citations (2)
Title |
---|
I. Phillips ; M. Sandford ; D. Parish.Processing network delay measurements into network events.《 NOMS 2000. 2000 IEEE/IFIP Network Operations and Management Symposium 'The Networked Planet: Management Beyond 2000' (Cat. No.00CB37074)》.2002,全文. * |
无线区间测速***的设计与实现;刘效典;丛健宇;郑琳;;***与宽带多媒体(05);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN110677312A (zh) | 2020-01-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108768730B (zh) | 用于操作智能网卡的方法和装置 | |
CN111124850A (zh) | Mqtt服务器性能测试方法、***、计算机设备及存储介质 | |
CN109194606B (zh) | 攻击检测***、方法、计算机设备及存储介质 | |
US9311070B2 (en) | Dynamically recommending configuration changes to an operating system image | |
US11636016B2 (en) | Cloud simulation and validation system | |
JP2022504030A (ja) | ソフトウェア・コンポーネントに関連するセキュリティ・リスクを検出する方法、システム、およびプログラム | |
US20180039548A1 (en) | Smart virtual machine snapshotting | |
CN109672722B (zh) | 数据部署方法及装置、计算机存储介质和电子设备 | |
US11880458B2 (en) | Malware detection based on user interactions | |
US20190163599A1 (en) | Tape library integrated failure indication based on cognitive sound and vibration analysis | |
WO2023065749A1 (zh) | 分布式数据库的内嵌方法、装置、设备及存储介质 | |
CN111654495B (zh) | 用于确定流量产生来源的方法、装置、设备及存储介质 | |
CN107229497A (zh) | 服务器测试方法和服务器测试装置 | |
CN113382056A (zh) | 数据上报方法、装置、设备、存储介质及*** | |
CN109783284A (zh) | 信息获取方法、***及服务器、计算机可读存储介质 | |
US10552282B2 (en) | On demand monitoring mechanism to identify root cause of operation problems | |
CN110677312B (zh) | Sdk包的时延监测方法及***、计算机设备与可读介质 | |
CN114253864A (zh) | 一种业务测试方法、装置、电子设备及存储介质 | |
CN114356521A (zh) | 任务调度方法、装置、电子设备及存储介质 | |
KR102354058B1 (ko) | 서버 모니터링 방법과 이를 수행하기 위한 장치 및 시스템 | |
CN113448730A (zh) | 服务的处理方法、装置、计算机设备及存储介质 | |
CN110995538B (zh) | 网络数据采集方法、装置、***、设备及存储介质 | |
CN109189652A (zh) | 一种封闭网络终端行为数据的采集方法及*** | |
US10970152B2 (en) | Notification of network connection errors between connected software systems | |
CN113392002B (zh) | 一种测试***构建方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |