一种PHP代码数据监控收集的方法及装置与流程

文档序号:15271378发布日期:2018-08-28 22:28阅读:744来源:国知局

本发明涉及一种计算机技术领域,尤其涉及一种php代码数据监控收集的方法及装置。



背景技术:

目前,为了监控web服务器上的php代码执行情况,已有一些性能监控工具,使用这些监控工具,能获得php代码执行过程的性能数据以及执行逻辑。这种工具是被动形式激活启动监控工具,独立部署等特性。

上述这类工具,主要存在以下几个缺点:1、启动监控,只能在用户代码里植入监控代码;2、监控请求数量难控,收集数据量少,数据不可靠,收集数据量多,服务器额外压力大;3、收集的数据只能保存在当前服务器,没有集中管理。



技术实现要素:

为了克服现有技术的不足,本发明的目的之一在于提供一种php代码数据监控收集的方法,其能解决php代码监控的技术问题。

本发明的目的之二在于提供一种php代码数据监控收集的装置,其能解决php代码监控的技术问题。

本发明的目的之三在于提供一种电子设备,其能解决php代码监控的技术问题。

本发明的目的之四在于提供一种计算机可读存储介质,其能解决php代码监控的技术问题。

本发明的目的之一采用如下技术方案实现:

一种php代码数据监控收集的方法,包括以下步骤:

接收步骤:接收控制信息,所述控制信息包括随机采样,所述随机采样包括是否开启随机采样以及随机采样几率;

监控数据获取步骤:根据控制信息对php逻辑代码运行进行监控以得到监控数据。

进一步地,所述控制信息还包括特定参数采样,所述特定参数采样包括是否开启特定参数采样以及特定参数。

进一步地,在监控数据获取步骤之后还包括数据发送步骤:将收集到的监控数据发送至相应的存储装置。

进一步地,所述数据发送步骤中所述的存储装置为数据库、网络接口或者高速缓存队列。

进一步地,该数据收集的方法通过c语言来编写程序代码。

本发明的目的之二采用如下技术方案实现:

一种php代码数据监控收集的装置,包括以下模块:

接收模块:用于接收控制信息,所述控制信息包括随机采样,所述随机采样包括是否开启随机采样以及随机采样几率;

监控数据获取模块:用于根据控制信息对php逻辑代码运行进行监控以得到监控数据。

进一步地,所述控制信息还包括特定参数采样,所述特定参数采样包括是否开启特定参数采样以及特定参数。

.进一步地,在监控数据获取模块之后还包括数据发送模块:用于将收集到的监控数据发送至相应的存储装置。

本发明的目的之三采用如下技术方案实现:

一种电子设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现本发明目的之一中任意一项所述的php代码数据监控收集的方法。

本发明的目的之四采用如下技术方案实现:

一种计算机可读存储介质,其上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现本发明目的之一中任意一项所述的php代码数据监控收集的方法。

相比现有技术,本发明的有益效果在于:

本发明的php代码数据监控收集的方法,其通过引入控制信息,通过该控制信息来控制监控工具的启动以完成对php逻辑代码运行的数据收集;通过引入控制信息从而使得不需要在原有的代码中植入监控代码,并且收集的数据量可以根据实际进行调整,更方便用户使用。

附图说明

图1为实施例一中的php代码数据监控收集的方法的流程图;

图2为实施例二中php代码数据监控收集的装置的结构图。

具体实施方式

下面,结合附图以及具体实施方式,对本发明做进一步描述,需要说明的是,在不相冲突的前提下,以下描述的各实施例之间或各技术特征之间可以任意组合形成新的实施例。

实施例一:

如图1所示,本实施例提供了一种php代码数据监控收集的方法,包括以下步骤:

s1:接收控制信息,所述控制信息包括随机采样、特定参数采样和存储装置信息,所述随机采样包括是否开启随机采样以及随机采样几率,所述特定参数采样包括是否开启特定参数采样以及特定参数;该监控工具需要根据控制信息来确认是否启动;控制信息的读取,其作用主要是用来控制本监控系统介入运行以及确定数据保存方案的装置。

在进行实施的过程中,其可以通过随机采样的方式php逻辑代码进行监控,比如可以监控该逻辑代码运行过程中的响应速度,也可以监测该逻辑代码在运行的过程中是否有出现异常等问题,通过随机采样的方式能够对整个php代码的运行起到很好的监控的作用,其不受主观影响,能够更客观的反应整个代码执行过程。或者在整个过程中还可以采用特定参数采样的方式,使用者可以设定采样参数,通过监测该参数来测定整个代码运行过程中出现的问题,通过特定参数的设定能够使得监控人员能够更有针对性的对相应的数据进行监测。

s2:根据控制信息对php逻辑代码运行进行监控以得到监控数据。在确定需要该监控装置进行介入收集监控数据时,将启动数据收集程序,使得php逻辑代码在运行时候所产生的数据会被获取并记录。在逻辑代码运行的过程中,本实施例的监控收集方法也同步进行,在php逻辑代码运行完成以后,本装置的数据收集功能也随之完成;数据收集完成的时候,则会将执行权限移交会原本的php逻辑代码,这样在整个使用过程中也不会对其php逻辑代码并不会产生任何的影响,也可以进一步保障服务器的高效性能。

获得的数据可以有两种形式来进行展现,一种是可以直接对其进行获取的信息进行显示,然后不对其内容进行存储,这样来达到实时查看的目的,但是这种形式不利于后期进行数据的分析,其只能够当时进行观测,如果下次需要调取近似的数据内容的时候,还需要重新进行运行程序去监测;另外一种则是如本实施例步骤s3:将收集到的监控数据发送至相应的存储装置。所述数据发送步骤中所述的存储装置为数据库、网络接口或者高速缓存队列。对获得的监控数据进行存储,通过控制信息中的指示,将数据提交到数据存储装置。这一步的执行主要是为了对获取到的监控数据进行存储,以便于后续需要这方面的数据的时候,研发人员可以直接调取相应数据对其进行查看以及分析。这种方式能够使得研发人员更清晰的观测到历史监控数据,从而根据相应的历史数据来分析改进相应的逻辑代码。

本实施例的工作原理:

在整个使用的过程中,首先需要开启该监控收集装置,并确定控制信息的内容;互联网用户会发送相应的网络请求(也即是http请求),当其到达进入相应的php后,会先进入本装置来读取相应的控制信息,该控制信息是需要监控人员进行输入,然后开始进入下一步流程。只在有需要收集信息的情况下,才启动本装置的收集逻辑来对相应的监控数据进行收集;而正常无需收集监控数据的情况下,本装置会将执行权限交还至原本的php逻辑代码。保障服务器的高效性能。比如在需要根据互联网用户发送的网络请求与控制信息的中需要采样的内容相关的时候,则对php逻辑代码进行数据监控,如果没有在采样的范围内,则不运行相应的数据监控程序。

本实施例的方法其可以支持最新的php7,并且相对于现有技术中的植入整个逻辑流程中的监控程序,其具有不可比拟的优势,不会造成资源的浪费,也不会增加服务器的负担,并且在监控装置出现问题的时候,本实施例的方案当其自身运行出现问题的时候,其可以比较容易的从请求中识别并脱离出来。

还有本实施例的方案是采用c语言写的,通过c语言来实现php的扩展,其在本身运行效率方面会高很多;相对于采用php代码实现的方案,具有更为优良的性能,因为当其注入php代码的时候,很有可能会对原有的php业务逻辑造成污染,而本实施例的方式是不需要在php代码中植入任何监控代码,其在php底层系统级别实现,不会污染原有的业务逻辑。

本实施例的方案,首先在监控工具上引入一个实时的控制信息,该控制信息是控制该监控工具启动方式。在监控工具完成收集运行数据后,将数据主动提交到指定的存储装置,可以是数据库,网络接口或者是高速缓存队列保存。再使用特定工具查看php的运行情况。

实施例二:

如图2所示,本实施例提供了一种php代码数据监控收集的装置,包括以下模块:

接收模块:用于接收控制信息,所述控制信息包括随机采样和特定参数采样,所述随机采样包括是否开启随机采样以及随机采样几率,所述特定参数采样包括是否开启特定参数采样以及特定参数;

监控数据获取模块:用于根据控制信息对php逻辑代码运行进行监控以得到监控数据。

数据发送模块:用于将收集到的监控数据发送至相应的存储装置。所述数据发送步骤中所述的存储装置为数据库、网络接口或者高速缓存队列。

实施例三:

实施例三公开了一种电子设备,该电子设备包括处理器、存储器以及程序,其中处理器和存储器均可采用一个或多个,程序被存储在存储器中,并且被配置成由处理器执行,处理器执行该程序时,实现实施例一的php代码数据监控收集的方法。该电子设备可以是手机、电脑、平板电脑等等一系列的电子设备。

实施例四:

实施例四公开了一种可读的计算机存储介质,该存储介质用于存储程序,并且该程序被处理器执行时,实现实施例一的php代码数据监控收集的方法。

上述实施方式仅为本发明的优选实施方式,不能以此来限定本发明保护的范围,本领域的技术人员在本发明的基础上所做的任何非实质性的变化及替换均属于本发明所要求保护的范围。

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