一种性能监控的方法和系统以及客户端和服务器的制作方法

文档序号:7889136阅读:224来源:国知局
专利名称:一种性能监控的方法和系统以及客户端和服务器的制作方法
技术领域
本发明涉及计算机技术领域,特别涉及一种性能监控的方法和系统以及客户端和服务器。
背景技术
应用程序的性能直接影响用户的体验,通过对应用程序性能进行监控,服务器可以掌握应用程序的各种性能状况,通过对性能状况的分析,可以对应用程序的性能进行优化和提升。现有技术中对应用程序的性能状况的监控和采集,一般采用的是将性能监控方式部署在客户端中的配置文件中或通过硬编码的方式,在后台记录应用程序的运行日志,最终上传给服务器来达到控制性能监控的目的。其中,性能监控方式包括:监控应用程序的启动时间、运行时间以及监控应用程序的数据类型等方式。在实现本发明的过程中,发明人发现现有技术至少存在以下问题:若应用程序的开发者需要调整应用程 序的性能监控方式时,则必须对客户端进行版本更新,以更改客户端中的配置文件或硬编码,才能调整当前的性能监控方式。这种改变性能监控的方式效率不高,同时更新客户端会降低用户的体验。

发明内容
为了解决现有技术中改变监控应用程序的配置信息的方式会降低用户体验的缺陷,本发明实施例提供了一种性能监控的方法和系统以及客户端和服务器。所述技术方案如下:本发明实施例提出了一种性能监控的方法,包括:向服务器发送获取应用程序的监控配置信息的请求,其中所述获取应用程序的监控配置信息的请求中携带所述应用程序的标识,使得服务器根据所述应用程序的标识获取所述应用程序对应的监控配置信息;接收所述服务器返回的所述监控配置信息,并根据所述监控配置信息对所述应用程序的标识对应的应用程序进行监控。本发明实施例还提出了一种性能监控的方法,包括:接收客户端发送的获取应用程序的监控配置信息的请求,其中所述获取应用程序的监控配置信息的请求中携带所述应用程序的标识;根据所述应用程序的标识获取所述应用程序对应的监控配置信息,并返回给所述客户端。本发明实施例还提出了一种性能监控的客户端,包括:第一发送模块,用于向服务器发送获取应用程序的监控配置信息的请求,其中所述获取应用程序的监控配置信息的请求中携带所述应用程序的标识,使得服务器根据所述应用程序的标识获取所述应用程序对应的监控配置信;
监控模块,用于接收所述服务器返回的所述监控配置信息,并根据所述监控配置信息对所述应用程序的标识对应的应用程序进行监控。本发明实施例还提出了一种性能监控的服务器,包括:第二接收模块,用于接收客户端发送的获取应用程序的监控配置信息的请求,其中所述获取应用程序的监控配置信息的请求中携带所述应用程序的标识;处理模块,用于根据所述应用程序的标识获取所述应用程序对应的监控配置信息,并返回给所述客户端。本发明实施例还提出了一种性能监控的系统,包括:客户端和服务器;所述客户端包括:第一发送模块,用于向服务器发送获取应用程序的监控配置信息的请求,其中所述获取应用程序的监控配置信息的请求中携带所述应用程序的标识,使得服务器根据所述应用程序的标识获取所述应用程序对应的监控配置信;监控模块,用于接收所述服务器返回的所述监控配置信息,并根据所述监控配置信息对所述应用程序的标识对应的应用程序进行监控;所述服务器包括:第二接收模块,用于接收客户端发送的获取应用程序的监控配置信息的请求,其中所述获取应用程序的监控配置信息的请求中携带所述应用程序的标识;处理模块,用于根据所述应用程序的标识获取所述应用程序对应的监控配置信息,并返回给所述客户端。本发明实施例提供的技术方案带来的有益效果是:将监控客户端的配置信息保存在服务器,客户端每次启动请求的监控配置信息由服务器根据当前监控的需求进行分配,达到了灵活控制监控内容的目的,且避免了更改监控配置信息的缺陷。


为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。 图1是本发明实施例1中提供的性能监控的方法的流程示意图;图2是本发明实施例2中提供的性能监控的方法的流程示意图;图3是本发明实施例3中提供的性能监控的方法的流程示意图;图4是本发明实施例4中提供的性能监控的客户端的结构示意图;图5是本发明实施例5中提供的性能监控的服务器的结构示意图;图6是本发明实施例6中提供的性能监控的系统的结构示意图。
具体实施例方式为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。实施例1
参见图1,本发明实施例提供了一种性能监控的方法,包括:需要说明的是,本发明实施例的执行主体是客户端。客户端向服务器获取监控配置信息,以获得服务器对应用程序的监控配置。其中在本发明实施例中所介绍的客户端的形式可以包括:PC(Personal Computer,个人电脑)以及移动终端等设备,优选的客户端还可以为第三方应用平台;所述应用程序可以包括客户端软件、web网页应用以及移动终端中的应用;所述服务器可以为单一运行的服务器,可以为多个服务器组成的集群服务器,还可以为云端服务器。步骤101:向服务器发送获取应用程序的监控配置信息的请求,其中所述获取应用程序的监控配置信息的请求中携带所述应用程序的标识,使得服务器根据所述应用程序的标识获取所述应用程序对应的监控配置信息;步骤102:接收所述服务器返回的所述监控配置信息,并根据所述监控配置信息对所述应用程序的标识对应的应用程序进行监控。本发明实施例通过将监控客户端的配置信息保存在服务器,客户端每次启动请求的监控配置信息由服务器根据当前监控的需求进行分配,达到了灵活控制监控内容的目的,且避免了更改监·控配置信息的缺陷。实施例2参见图2,本发明实施例提供了一种性能监控的方法,包括:需要说明的是,本发明实施例的执行主体是服务器。服务器向客户端发送监控客户端应用程序的监控配置。其中在本发明实施例中所介绍的客户端的形式可以包括:PC (Personal Computer,个人电脑)以及移动终端等设备,优选的客户端还可以为第三方应用平台;所述应用程序可以包括客户端软件、web网页应用以及移动终端中的应用;所述服务器可以为单一运行的服务器,可以为多个服务器组成的集群服务器,还可以为云端服务器。步骤201:接收客户端发送的获取应用程序的监控配置信息的请求,其中所述获取应用程序的监控配置信息的请求中携带所述应用程序的标识;步骤202:根据所述应用程序的标识获取所述应用程序对应的监控配置信息,并返回给所述客户端。本发明实施例通过将监控客户端的配置信息保存在服务器,客户端每次启动请求的监控配置信息由服务器根据当前监控的需求进行分配,达到了灵活控制监控内容的目的,且避免了更改监控配置信息的缺陷。实施例3参见图3,本发明实施例提供了一种性能监控的方法,是根据实施例1和/或实施例2的基础上改进而来的,包括:步骤301:客户端向服务器发送获取应用程序的监控配置信息的请求,其中所述获取应用程序的监控配置信息的请求中携带所述应用程序的标识,使得服务器根据所述应用程序的标识获取所述应用程序对应的监控配置信息。在客户端启动时,与服务器进行连接,发送获取监控配置信息的请求。在客户端的应用程序中,需要与服务器进行通信,因此需要为客户端与服务器之间建立一个连接的方式。每个应用程序都对应有一个标识,服务器可以通过该标识获取到软件设计人员或性能测试人员为该标识对应的应用程序所设置的监控配置信息。在本发明实施例中是通过在应用程序中嵌入浏览器内核的方式,通过该浏览器内核完成客户端与服务器之间的通信,但不仅限于这种通信方式,任何可用于客户端与服务器进行通信的方式,都在本发明的保护范围之内,在此不再赘述。具体为,嵌入一个类型为WebBrowser的ActiveX控件,该控件是微软提供的可视化组件对象模型(COM),通过这个WebBiOwser为应用程序创建浏览器内核,应用程序就可以连接服务器和解析从服务器下载下来的html文本和javascript脚本。优选的,因此,步骤301可以具体为:步骤3011:在所述应用程序中内嵌浏览器内核;步骤3012:通过所述浏览器内核向所述服务器发送获取应用程序的监控配置信息的请求。步骤302:服务器接收客户端发送的获取应用程序的监控配置信息的请求,其中所述获取应用程序的监控配置信息的请求中携带所述应用程序的标识。步骤303:根据所述应用程序的标识获取所述应用程序对应的监控配置信息,并返回给所述客户端。服务器对客户端性能的监控进行控制,需要预先制定对被监控对象的监控方案。监控方案可以根据开发者的需求,并针对不同的用户,采用不同的监控策略。针对不同的监控时段、不同的监控数据类型、不同的监控区域做出的,已达到精确的控制客户端的性能抓取。
具体实施方式
为传入不同参数,启动不同监控,获取对应监控的数据。具体的,在客户端发送获取监控配置信息的请求时,服务器获取到该客户端的IP地址,并根据客户端的IP地·址和/或预先配置的监控方案获取客户端对应的监控配置信息,其中所述预先配置的监控方案包括监控启动时间和/或监控数据类型和/或监控区域。将监控配置信息写入javascript脚本中,并置于html文本中以网页形式返回给客户端。针对不同监控时段可以为:选择在不同的时间开启性能监控,可以选择在应用程序接收到监控配置文件后马上启动性能监控,还可以选择在应用接收到监控配置文件后,应用程序运行一段时间,再开启性能监控,以便分别监控启动时间,运行时间等不同的监控时间段。
具体实施方式
为将需要启动监控的时间作为参数写入监控配置信息的脚本语言代码中。针对不同的监控数据类型可以为:监控应用程序的启动数据或监控应用程序运行时长数据或监控应用程序自身在运行过程中产生或者调用的数据。
具体实施方式
将需要监控的不同的内容作为参数写入监控配置信息的脚本语言代码中。例如:enableMonitor (" startup"),其中startup代表开启性能监控,并采集启动数据;启动数据的返回结果会是这样:逻辑I,开始时间:xxx,结束时间:xxx ;逻辑2,开始时间:xxx,结束时间:xxx ;因此,可根据采集的监控结果得知每块逻辑的性能。
enableMonitor (" duration"),其中duration代表开启时长监控,并采集运行时长数据。针对不同的监控区域可以为:根据客户端IP地址可以区别出不同用户使用同一应用程序的所在地区,因此可以根据该IP地址对不同区域的用户的应用程序进行不同的监控方案。可以对A区域进行性能监控,B区域不监控;或监控A区域的程序启动时间,监控B区域的程序运行时间。
具体实施方式
为,预先将对不同IP对应的不同区域的用户的应用程序设置不同的监控配置信息的脚本语言代码,将根据不同区域需要的不同监控内容作为参数分别保存在不同区域对应的监控配置信息中。服务器会根据不同IP对应的区域选取其对应的监控配置信息,并返回给客户端。步骤304:客户端接收所述服务器返回的所述监控配置信息,并根据所述监控配置信息对所述应用程序的标识对应的应用程序进行监控。客户端接收到服务器下载的html文本和javascript脚本后,通过浏览器内核对其进行解析,并从 javascript脚本中提取出监控配置信息。客户端更新本地的监控配置信息,并根据更新后的监控配置信息在规定的启动时间启动监控的命令,在后台记录当前需要收集的性能数据,并把数据缓存在内存里。优选的,因此步骤304可以具体为:步骤3041:根据所述浏览器内核解析所述监控配置信息;步骤3042:根据解析后的所述监控配置信息更新所述应用程序的标识对应的应用程序的监控配置信息,并根据更新后的监控配置信息对所述应用程序的标识对应的应用程序进行监控。步骤305:客户端上传监控数据至服务器。可以通过两种指示方式,使得客户端启动上传监控数据的流程。第一种方式:根据服务器发送的指令上传监控数据。其步骤可以为:步骤3051:服务器向客户端发送上传监控数据的命令信息,使得所述客户端根据该命令信息上传监控数据;步骤3052:客户端接收所述服务器发送的上传监控数据的命令信息;步骤3053:根据所述上报监控数据的命令信息,将监控数据上传至所述服务器。第二种方式:根据获取到的监控配置信息中预置的上传时间,上传监控数据。其步骤可以为:步骤3054:根据所述监控配置信息中预置的上传时间,将监控数据上传至所述服务器。服务器在设置该客户端的监控策略时,可以根据不同监控内容,设置不同的上传时间。例如监控应用程序的运行时间,那么在监控配置信息中的上传时间则设置为监控的运行时间过后的时间进行上传。进一步的,客户端上传监控数据后,关闭性能监控,并清空缓存,不再记录监控数据。步骤306:接收所述客户端上传的所述监控数据,并根据所述监控数据对所述客户端的应用程序进行性能监控分析。
本发明实施例通过将监控客户端的配置信息保存在服务器,客户端每次启动请求的监控配置信息由服务器根据当前监控的需求进行分配,达到了灵活控制监控内容的目的,且避免了更改监控配置信息的缺陷。实施例4参见图4,本发明实施例提供了一种性能监控的客户端,包括:第一发送模块401,用于向服务器发送获取应用程序的监控配置信息的请求,其中所述获取应用程序的监控配置信息的请求中携带所述应用程序的标识,使得服务器根据所述应用程序的标识获取所述应用程序对应的监控配置信;监控模块402,用于接收所述服务器返回的所述监控配置信息,并根据所述监控配置信息对所述应用程序的标识对应的应用程序进行监控。在具体实施方式
中,所述第一发送模块401,具体包括:浏览器内核创建单元4011,用于在所述应用程序中内嵌浏览器内核;发送单元4012,用于通过所述浏览器内核向所述服务器发送获取应用程序的监控配置信息的请求。所述监控模块402,具体包括:解析单元4021,用于根据所述浏览器内核解析所述监控配置信息;监控单元4022,用于根据解析后的所述监控配置信息更新所述应用程序的标识对应的应用程序的监控配 置信息,并根据更新后的监控配置信息对所述应用程序的标识对应的应用程序进行监控。所述客户端还包括:第一上传模块403,用于接收所述服务器发送的上传监控数据的命令信息,并根据所述上报监控数据的命令信息,将监控数据上传至所述服务器;或者,第二上传模块404,用于根据所述监控配置信息中预置的上传时间,将监控数据上传至所述服务器。本发明实施例通过将监控客户端的配置信息保存在服务器,客户端每次启动请求的监控配置信息由服务器根据当前监控的需求进行分配,达到了灵活控制监控内容的目的,且避免了更改监控配置信息的缺陷。实施例5参见图5,本发明实施例提供了一种性能监控的服务器,包括:第一接收模块501,用于接收客户端发送的获取应用程序的监控配置信息的请求,其中所述获取应用程序的监控配置信息的请求中携带所述应用程序的标识;处理模块502,用于根据所述应用程序的标识获取所述应用程序对应的监控配置信息,并返回给所述客户端。在具体实施方式
中,所述处理模块502具体用于:根据所述客户端的网络之间互连的协议IP地址和/或预先配置的监控方案获取所述应用程序的标识对应的监控配置信息;其中所述预先配置的监控方案包括监控启动时间和/或监控数据类型和/或监控区域。
所述服务器还包括:第二发送模块503,用于向所述客户端发送上传监控数据的命令信息,使得所述客户端根据该命令信息上传监控数据;第二接收模块504,用于接收所述客户端上传的所述监控数据,并根据所述监控数据对所述客户端的应用程序进行性能监控分析。本发明实施例通过将监控客户端的配置信息保存在服务器,客户端每次启动请求的监控配置信息由服务器根据当前监控的需求进行分配,达到了灵活控制监控内容的目的,且避免了更改监控配置信息的缺陷。实施例6参见图6,本发明实施例提供了一种性能监控的系统,包括:客户端601和服务器602 ;所述客户端601包括:第一发送模块6011,用于向服务器发送获取应用程序的监控配置信息的请求,其中所述获取应用程序的监控配置信息的请求中携带所述应用程序的标识,使得服务器根据所述应用程序的标识获取所述应用程序对应的监控配置信;监控模块6012,用于接收所述服务器返回的所述监控配置信息,并根据所述监控配置信息对所述应用程序的标识对应的应用程序进行监控;所述服务器602包括:第一接收模块6 021,用于接收客户端发送的获取应用程序的监控配置信息的请求,其中所述获取应用程序的监控配置信息的请求中携带所述应用程序的标识;处理模块6022,用于根据所述应用程序的标识获取所述应用程序对应的监控配置信息,并返回给所述客户端。本发明实施例通过将监控客户端的配置信息保存在服务器,客户端每次启动请求的监控配置信息由服务器根据当前监控的需求进行分配,达到了灵活控制监控内容的目的,且避免了更改监控配置信息的缺陷。本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种性能监控的方法,其特征在于,所述方法包括: 向服务器发送获取应用程序的监控配置信息的请求,其中所述获取应用程序的监控配置信息的请求中携带所述应用程序的标识,使得服务器根据所述应用程序的标识获取所述应用程序对应的监控配置信息; 接收所述服务器返回的所述监控配置信息,并根据所述监控配置信息对所述应用程序的标识对应的应用程序进行监控。
2.如权利要求1所述的方法,其特征在于,所述向服务器发送获取应用程序的监控配置信息的请求,具体包括: 在所述应用程序中内嵌浏览器内核; 通过所述浏览器内核向所述服务器发送获取应用程序的监控配置信息的请求。
3.如权利要求 2所述的方法,其特征在于,所述接收所述服务器返回的所述监控配置信息,并根据所述监控配置信息对所述应用程序的标识对应的应用程序进行监控,具体包括: 根据所述浏览器内核解析所述监控配置信息; 根据解析后的所述监控配置信息更新所述应用程序的标识对应的应用程序的监控配置信息,并根据更新后的监控配置信息对所述应用程序的标识对应的应用程序进行监控。
4.如权利要求1所述的方法,其特征在于,所述根据所述监控配置信息对自身进行监控之后,所述方法还包括: 接收所述服务器发送的上传监控数据的命令信息,并根据所述上报监控数据的命令信息将监控数据上传至所述服务器; 或者, 根据所述监控配置信息中预置的上传时间,将监控数据上传至所述服务器。
5.一种性能监控的方法,其特征在于,所述方法包括: 接收客户端发送的获取应用程序的监控配置信息的请求,其中所述获取应用程序的监控配置信息的请求中携带所述应用程序的标识; 根据所述应用程序的标识获取所述应用程序对应的监控配置信息,并返回给所述客户端。
6.如权利要求5所述的方法,其特征在于,所述根据所述应用程序的标识获取所述应用程序对应的监控配置信息,具体包括: 根据所述客户端的网络之间互连的协议IP地址和/或预先配置的监控方案获取所述应用程序的标识对应的监控配置信息; 其中所述预先配置的监控方案包括监控启动时间和/或监控数据类型和/或监控区域。
7.如权利要求5所述的方法,其特征在于,所述根据所述应用程序的标识获取所述应用程序对应的监控配置信息,并返回给所述客户端之后,所述方法还包括: 向所述客户端发送上传监控数据的命令信息,使得所述客户端根据该命令信息上传监控数据; 接收所述客户端上传的所述监控数据,并根据所述监控数据对所述客户端的应用程序进行性能监控分析。
8.一种性能监控的客户端,其特征在于,所述客户端包括: 第一发送模块,用于向服务器发送获取应用程序的监控配置信息的请求,其中所述获取应用程序的监控配置信息的请求中携带所述应用程序的标识,使得服务器根据所述应用程序的标识获取所述应用程序对应的监控配置信; 监控模块,用于接收所述服务器返回的所述监控配置信息,并根据所述监控配置信息对所述应用程序的标识对应的应用程序进行监控。
9.如权利要求8所述的客户端,其特征在于,所述第一发送模块,具体包括: 浏览器内核创建单元,用于在所述应用程序中内嵌浏览器内核; 发送单元,用于通过所述浏览器内核向所述服务器发送获取应用程序的监控配置信息的请求。
10.如权利要求9所述的客户端,其特征在于,所述监控模块,具体包括: 解析单元,用于根据所述浏览器内核解析所述监控配置信息; 监控单元,用于根据解析后的所述监控配置信息更新所述应用程序的标识对应的应用程序的监控配置信息,并根据更新后的监控配置信息对所述应用程序的标识对应的应用程序进行监控。
11.如权利要求8所述的客户端,其特征在于,所述客户端还包括: 第一上传模块,用于接收所述服务器发送的上传监控数据的命令信息,并根据所述上报监控数据的命令信息,将监控数据上传至所述服务器; 或者, 第二上传模块,用于根据所述监控配置信息中预置的上传时间,将监控数据上传至所述服务器。
12.—种性能监控的服务器,其特征在于,所述服务器包括: 第一接收模块,用于接收客户端发送的获取应用程序的监控配置信息的请求,其中所述获取应用程序的监控配置信息的请求中携带所述应用程序的标识; 处理模块,用于根据所述应用程序的标识获取所述应用程序对应的监控配置信息,并返回给所述客户端。
13.如权利要求12所述的服务器,其特征在于,所述处理模块具体用于: 根据所述客户端的网络之间互连的协议IP地址和/或预先配置的监控方案获取所述应用程序的标识对应的监控配置信息; 其中所述预先配置的监控方案包括监控启动时间和/或监控数据类型和/或监控区域。
14.如权利要求12所述的服务器,其特征在于,所述服务器还包括: 第二发送模块,用于向所述客户端发送上传监控数据的命令信息,使得所述客户端根据该命令信息上传监控数据; 第二接收模块,用于接收所述客户端上传的所述监控数据,并根据所述监控数据对所述客户端的应用程序进行性能监控分析。
15.一种性能监控的系统,包括:客户端和服务器;其特征在于,所述客户端包括: 第一发送模块,用于向服务器发送获取应用程序的监控配置信息的请求,其中所述获取应用程序的监控配置信息的请求中携带所述应用程序的标识,使得服务器根据所述应用程序的标识获取所述应用程序对应的监控配置信; 监控模块,用于接收所述服务器返回的所述监控配置信息,并根据所述监控配置信息对所述应用程序的标识对应的应用程序进行监控; 所述服务器包括: 第一接收模块,用于接收客户端发送的获取应用程序的监控配置信息的请求,其中所述获取应用程序的监控配置信息的请求中携带所述应用程序的标识; 处理模块,用于根据所述应用程序的标识获取所述应用程序对应的监控配置信息,并返回给所述客户 端。
全文摘要
本发明公开了一种性能监控的方法和系统以及客户端和服务器,属于计算机技术领域。所述方法包括向服务器发送获取应用程序的监控配置信息的请求,其中所述获取应用程序的监控配置信息的请求中携带所述应用程序的标识,使得服务器根据所述应用程序的标识获取所述应用程序对应的监控配置信息;接收所述服务器返回的所述监控配置信息,并根据所述监控配置信息对所述应用程序的标识对应的应用程序进行监控。本发明将监控客户端的配置信息保存在服务器,客户端每次启动请求的监控配置信息由服务器根据当前监控的需求进行分配,达到了灵活控制监控内容的目的,且避免了更改监控配置信息的缺陷。
文档编号H04L29/12GK103248651SQ20121002874
公开日2013年8月14日 申请日期2012年2月9日 优先权日2012年2月9日
发明者李临, 郭学亨, 谢启明, 黄奎 申请人:腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1