CN105337791A - 数据监控方法及装置 - Google Patents
数据监控方法及装置 Download PDFInfo
- Publication number
- CN105337791A CN105337791A CN201410401370.6A CN201410401370A CN105337791A CN 105337791 A CN105337791 A CN 105337791A CN 201410401370 A CN201410401370 A CN 201410401370A CN 105337791 A CN105337791 A CN 105337791A
- Authority
- CN
- China
- Prior art keywords
- cgi script
- operation requests
- duration
- system capacity
- power system
- 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.)
- Pending
Links
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Power Sources (AREA)
- Remote Monitoring And Control Of Power-Distribution Networks (AREA)
Abstract
本发明公开一种数据监控方法及装置,本发明实施例服务器统计CGI程序接收到的操作请求数量;获取所述CGI程序处理所述操作请求所需的处理时长;根据获取的所述请求数量和处理时长,计算并获取所述CGI程序处理所述操作请求所使用的系统容量占用率;判断所述系统容量占用率是否超出预设阈值,并在所述系统容量占用率超出预设阈值时,扩充系统容量;具有有效监控CGI程序运行时服务器对应的系统容量的有益效果。
Description
技术领域
本发明涉及互联网领域,尤其涉及一种对公共网关接口CGI程序运行系统的系统容量进行监控的数据监控方法及装置。
背景技术
CGI(CommonGatewayInterface,公共网关接口)是运行在Web服务器上的程序,由浏览器的输入触发,用于处理客户端的操作请求,并根据客户端的操作请求向客户端返回处理结果。当出现多个客户端同时发起大量的操作请求时,CGI程序需同步执行上述客户端发起的大量操作请求;这可能导致CGI程序运行时占用大量的系统资源,严重时甚至会导致CGI程序运行的物理机出现死机情况或者CGI运行系统出现系统崩溃;当出现上述情况后,对系统的维护操作将变得十分麻烦。因此,在CGI程序运行时,对CGI系统容量的监控显得十分重要。
发明内容
鉴于以上内容,有必要提供一种数据监控方法及装置,旨在监控CGI程序运行时所占用的服务器的系统容量。
本发明实施例提供一种数据监控方法,包括以下步骤:
统计公共网关接口CGI程序接收到的操作请求数量;
获取所述CGI程序处理所述操作请求所需的处理时长;
根据获取的所述请求数量和处理时长,计算并获取所述CGI程序处理所述操作请求所使用的系统容量占用率;
判断所述系统容量占用率是否超出预设阈值,并在所述系统容量占用率超出预设阈值时,扩充系统容量。
本发明实施例还提供一种数据监控装置,包括:
运行监控模块,用于统计公共网关接口CGI程序接收到的操作请求数量;
参数获取模块,用于获取所述CGI程序处理所述操作请求所需的处理时长;
容量计算模块,用于根据获取的所述请求数量和处理时长,计算并获取所述CGI程序处理所述操作请求所使用的系统容量占用率;
容量扩充模块,用于判断所述系统容量占用率是否超出预设阈值,并在所述系统容量占用率超出预设阈值时,扩充系统容量。
本发明实施例服务器统计CGI程序接收到的操作请求数量;获取所述CGI程序处理所述操作请求所需的处理时长;根据获取的所述请求数量和处理时长,计算并获取所述CGI程序处理所述操作请求所使用的系统容量占用率;
判断所述系统容量占用率是否超出预设阈值,并在所述系统容量占用率超出预设阈值时,扩充系统容量;具有有效监控CGI程序运行时服务器对应的系统容量的有益效果。
附图说明
图1是本发明数据监控方法第一实施例流程示意图;
图2是本发明数据监控方法第二实施例流程示意图;
图3是本发明数据监控方法第三实施例流程示意图;
图4是本发明数据监控装置一实施例功能模块示意图;
图5是本发明数据监控装置一实施例硬件架构示意图。
本发明实施例目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
以下结合说明书附图及具体实施例进一步说明本发明的技术方案。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例数据监控方法及装置中,所描述的CGI程序可以理解为HTTP(HyperTextTransferProtocol,超文本传输协议)服务器与其他物理机上的程序进行数据交互的一种工具,该CGI程序运行在网络服务器上;其中,所述CGI程序可以使用任何一种编程语言进行编写,只要这种编程语言具备标准输入、输出和环境变量即可,比如可以使用PHP(HypertextPreprocessor,超文本预处理器,PHP是一种通用开源脚本语言)、Perl(内部集成了正则表达式功能的一种通用语言)等。在该CGI程序中,存在一种称为FastCGI的程序,该FastCGI类似一个long-live(常驻)型的CGI,该FastCGI程序在激活后可以一直执行;且该FastCGI程序还支持分布式运算,即FastCGI程序可以在网站服务器以外的其他物理主机上执行并接收来自其他网站服务器的操作请求。
本发明实施例提供了一种数据监控方法第一实施例;如图1所示,本发明数据监控方法包括以下步骤:
步骤S01、统计CGI程序接收到的操作请求数量;
本发明实施例中,服务器统计CGI程序接收到的操作请求的请求数量时,可以采用多种统计方式;本发明实施例仅列举其中的两种方式:一种方式是,服务器实时监控CGI程序的运行状态,统计CGI程序所接收到的操作请求的请求数量达到预设个数时,对CGI程序处理所述预设个数的操作请求所占用的系统容量占用率进行监控计算。另一种方式是,服务器统计预设周期内所述CGI程序接收到的操作请求数量;比如,服务器预先设置一预设周期,离线统计在该预设周期内所述CGI程序接收到的操作请求数量。
针对上述两种统计方式,服务器在统计CGI程序接收到的操作请求对应的请求数量时,可以任选一种方式进行统计;或者,根据具体应用环境选择其中一种统计方式,或者选择其他与具体应用环境适配的统计方式。当然,服务器也可以同时使用多种统计方式统计CGI程序接收到的操作请求的请求数量,比如,服务器同时采用上述两种统计方式进行统计。本发明实施例对服务器统计CGI程序接收到的操作请求对应的请求数量不进行具体限制。
步骤S02、获取所述CGI程序处理所述操作请求所需的处理时长;
步骤S03、根据获取的所述请求数量和处理时长,计算并获取所述CGI程序处理所述操作请求所使用的系统容量占用率。
服务器统计出CGI程序接收到的操作请求数量后,服务器获取所述CGI程序处理上述操作请求所需要的处理时长。
对于服务器按照预设周期统计所述CGI程序处理的所述操作请求的请求数量时,服务器获取所述CGI程序处理所述操作请求所需要的总处理时长即为所述预设周期。在这种情况下,服务器同时获取所述CGI程序处理每个操作请求的处理时长,从而得出在一个预设周期中,CGI程序处理各操作请求对应的平均时长。服务器根据获取的每个操作请求对应的平均时长、操作请求的请求数量以及预设周期,服务器获取所述平均时长与所述请求数量的乘积,计算得到的乘积值与预设周期的百分比,所述乘积值与预设周期的百分比即为所述CGI程序处理所述操作请求所使用的系统容量占用率。
对于服务器统计预设个数的所述CGI程序接收到的操作请求时,服务器获取CGI程序处理所述预设个数的操作请求所需的总处理时长,以及所述CGI程序处理所述预设个数的操作请求所需的总有效时长,计算所述总有效时长和总处理时长的百分比,所述总有效时长和总处理时长的百分比即为所述CGI程序处理所述操作请求所使用的系统容量占用率。
当获取到所述CGI程序处理所述操作请求所使用的系统容量占用率后,减去所述系统容量占用率即为所述CGI程序处理所述操作请求时服务器对应的空闲容量率。
进一步地,本发明实施例中,服务器获取到所述CGI程序处理所述操作请求所使用的系统容量占用率或者服务器对应的空闲容量率时,服务器将获取的所述系统容量占用率和/或空闲容量率推送至监控客户端,供监控人员根据具体的系统容量占用率和/或空闲容量率执行对应操作;比如,服务器直接将获取的所述系统容量占用率和/或空闲容量率显示至用户操作界面,供用户查看,便于用户直接根据服务器显示的具体系统容量占用率和/或空闲容量率采取相应措施。比如,系统容量占用率比较低且接收到的操作请求并发量较大时,直接增加所述CGI程序对应的操作进程;或者,利用服务器的空闲资源执行其他操作等。
步骤S04、判断所述系统容量占用率是否超出预设阈值,并在所述系统容量占用率超出预设阈值时,扩充系统容量。
服务器得到所述CGI程序处理对应操作请求所使用的系统容量占用率的具体数值后,服务器判断获取的所述系统容量占用率是否超出了预设阈值;若超出了所述预设阈值,则服务器执行相应的扩容操作,扩充系统的容量。比如,服务器增加所述CGI程序对应的执行进程的数量,从而提升服务器的并发处理能力。或者,当服务器对应的单机CPU达到高负载而无法再添加该服务器对应的处理进程的数量时,可以增加所述CGI程序对应的物理主机,从而提升系统的处理能力;其中,增加的物理主机上装载有所述CGI程序的运行系统,使得所述CGI程序能够继续处理接收到的操作请求。
本发明实施例服务器统计CGI程序接收到的操作请求数量;获取所述CGI程序处理所述操作请求所需的处理时长;根据获取的所述请求数量和处理时长,计算并获取所述CGI程序处理所述操作请求所使用的系统容量占用率;具有有效监控CGI程序运行时服务器对应的系统容量的有益效果,进而有利于根据占用的系统容量及时采取相应措施,从而避免因占用过多的系统资源而导致服务器死机或者系统崩溃的问题;且当服务器根据获取的系统容量占用率,判断出该系统容量占用率超于预设阈值时,执行对应地扩容操作,提高了系统的处理能力。
本发明还提供了一种数据监控方法第二实施例;本实施例与图1所述实施例的区别是,服务器对所述CGI程序处理接收到的操作请求进行实时监控,获取所述CGI程序处理所述操作请求时所占用的服务器的系统容量占用率。本实施例仅描述与图1所述实施例的区别之处。
如图2所示,本发明数据监控方法包括以下步骤:
步骤S11、实时监控所述CGI程序的运行状态,采用环形队列统计的方式统计所述CGI程序接收预设个数的操作请求。
本发明实施例中,服务器实时监控CGI程序的运行状态,统计CGI程序所接收到的操作请求的请求数量达到预设个数时,对CGI程序处理所述预设个数的操作请求所占用的系统容量占用率进行监控计算。比如,服务器采用环形队列的方式,统计所述CGI程序接收到n个操作请求后,便计算所述CGI程序处理接收到的这n个操作请求所占用的系统容量。
步骤S12、获取所述CGI程序处理所有所述操作请求所需的总时长,同时,获取所述CGI程序处理每个操作请求分别对应的开始时间点和结束时间点;
步骤S13、根据获取的所述CGI程序处理每个操作请求分别对应的开始时间点和结束时间点,获取所述CGI程序处理所述操作请求数量对应的所有操作请求所需的有效时长。
服务器获取所述CGI程序处理上述n个操作请求所需的总时长Ta,同时,服务器获取所述CGI程序处理上述n个操作请求中的每一个操作请求所分别对应的开始时间点Tsn和结束时间点Ton。服务器根据获取的所述CGI程序处理每个操作请求对应的开始时间点Tsn和结束时间点Ton,计算所述CGI程序处理每个操作请求对应的一个有效处理时长Tn。得到所述CGI程序处理n个操作请求分别对应的一个有效处理时长T1、T2……Tn后,将得到的上述n个有效处理时长T1、T2……Tn相加,得到所述CGI程序处理这个n操作请求所需的总的有效时长(T1+T2+…+Tn)。
服务器获取的所述CGI程序处理上述n个操作请求对应的时间片段如下表所示,下表中,斜线部分为CGI程序处理的进程空闲时间,该空闲时间根据触发的操作请求的并发量不同而有所不同。下表中,空白部分即T1、T2、T3……Tn部分即为所述CGI程序处理对应的操作请求所使用的有效时长。
步骤S14、根据获取的所述有效时长和总时长,计算所述有效时长和总时长的百分比,得到所述CGI程序处理所述操作请求所使用的系统容量占用率。
服务器根据获取的所述CGI程序处理n操作请求所需的总的有效时长(T1+T2+…+Tn),以及所述CGI程序处理n操作请求所需的总时长T,计算所述有效时长(T1+T2+…+Tn)和总时长T的百分比(T1+T2+…+Tn)/T*100%,从而得到所述CGI程序处理所述操作请求所使用的系统容量占用率为(T1+T2+…+Tn)/T*100%。
步骤S04、判断所述系统容量占用率是否超出预设阈值,并在所述系统容量占用率超出预设阈值时,扩充系统容量。
本发明实施例服务器实时监控所述CGI程序的运行状态,采用环形队列统计的方式统计所述CGI程序接收预设个数的操作请求;获取所述CGI程序处理所有所述操作请求所需的总时长,同时,获取所述CGI程序处理每个操作请求分别对应的开始时间点和结束时间点;根据获取的所述CGI程序处理每个操作请求分别对应的开始时间点和结束时间点,获取所述CGI程序处理所述操作请求数量对应的所有操作请求所需的有效时长;根据获取的所述有效时长和总时长,计算所述有效时长和总时长的百分比,将所述有效时长和总时长的百分比作为所述CGI程序处理所述操作请求所使用的系统容量占用率,并在所述系统容量占用率超出预设阈值时,扩充系统容量;具有有效监控CGI程序运行时服务器对应的系统容量的有益效果;同时,在服务器判断出该系统容量占用率超于预设阈值时,执行对应地扩容操作,提高了系统的处理能力。
本发明还提供了一种数据监控方法第三实施例;本实施例与图1、图2所述实施例的区别是,服务器对所述CGI程序处理接收到的操作请求按照预设周期进行离线统计,并采取离线统计对应的监控方式,获取所述CGI程序处理所述操作请求时所占用的服务器的系统容量占用率。
本实施例仅描述与图1、图2所述实施例的区别之处。
如图3所示,本发明数据监控方法包括以下步骤:
步骤S21、按照预设周期,离线统计在所述预设周期内所述CGI程序接收到的操作请求数量。
本发明实施例中,服务器统计预设周期内所述CGI程序接收到的操作请求数量;比如,服务器预先设置一预设周期T0,离线统计在该预设周期T0内所述CGI程序接收到的操作请求数量m。
步骤S22、获取所述CGI程序处理所述请求数量对应的每个操作请求的单位时长;
步骤S23、根据获取的每个操作请求的单位时长,计算所述CGI程序处理所有操作请求对应的平均时长。
所述CGI程序在处理上述m个操作请求时,向服务器上报处理各操作请求所使用的单位时长t1、t2……tm;服务器根据所述CGI程序上报的处理上述m个操作请求分别对应的单位时长t1、t2……tm,计算所述CGI程序处理m个操作请求所使用的平均时长t0为:t0=(t1+t2+…+tm)/m。
步骤S24、根据获取的所述请求数量和平均时长,获取所述平均时长与所述请求数量的乘积,得到所述CGI程序处理所述操作请求的单位周期时长;
步骤S25、计算所述单位周期时长与所述预设周期的百分比,将所述单位周期时长与所述预设周期的百分比作为所述CGI程序处理所述操作请求所使用的系统容量占用率。
服务器获取到所述CGI程序在预设周期T0内接收到的操作请求的请求数量为m个时,以及所述CGI程序处理上述m个操作请求所需要的平均时长为t0时,服务器获取所述平均时长t0与上述操作请求对应的操作数量m的乘积为(m*t0),得到所述CGI程序在预设周期T0内处理m个操作请求所使用的单位周期时长(m*t0);计算所述单位周期时长(m*t0)与所述预设周期T0的百分比为:m*t0/T0*100%,从而得到所述CGI程序在预设周期T0内处理上述m个操作请求所使用的系统容量占用率为:m*t0/T0*100%。
步骤S04、判断所述系统容量占用率是否超出预设阈值,并在所述系统容量占用率超出预设阈值时,扩充系统容量。
本发明实施例服务器按照预设周期,离线统计在所述预设周期内所述CGI程序接收到的操作请求数量;获取所述CGI程序处理所述请求数量对应的每个操作请求的单位时长;根据获取的每个操作请求的单位时长,计算所述CGI程序处理所有操作请求对应的平均时长;根据获取的所述请求数量和平均时长,获取所述平均时长与所述请求数量的乘积,得到所述CGI程序处理所述操作请求的单位周期时长;计算所述单位周期时长与所述预设周期的百分比,将所述单位周期时长与所述预设周期的百分比作为所述CGI程序处理所述操作请求所使用的系统容量占用率,并在判断出所述系统容量占用率超出预设阈值时,扩充系统容量;具有有效监控CGI程序运行时服务器对应的系统容量的有益效果;提高了服务器监控CGI程序处理操作请求的灵活性和多样性;同时,在服务器判断出该系统容量占用率超于预设阈值时,执行对应地扩容操作,提高了系统的处理能力。
本发明实施例还提供一种数据监控装置一实施例;如图4所示,本发明数据监控装置包括:运行监控模块01、参数获取模块02、容量计算模块03和容量扩充模块04。
所述运行监控模块01用于,统计公共网关接口CGI程序接收到的操作请求数量;
本发明实施例中,所述运行监控模块01统计CGI程序接收到的操作请求的请求数量时,可以采用多种统计方式;本发明实施例仅列举其中的两种方式:一种方式是,所述运行监控模块01实时监控CGI程序的运行状态,统计CGI程序所接收到的操作请求的请求数量达到预设个数时,对CGI程序处理所述预设个数的操作请求所占用的系统容量占用率进行监控计算。另一种方式是,所述运行监控模块01统计预设周期内所述CGI程序接收到的操作请求数量;比如,服务器预先设置一预设周期,所述运行监控模块01离线统计在该预设周期内所述CGI程序接收到的操作请求数量。
针对上述两种统计方式,所述运行监控模块01在统计CGI程序接收到的操作请求对应的请求数量时,可以任选一种方式进行统计;或者,根据具体应用环境选择其中一种统计方式,或者选择其他与具体应用环境适配的统计方式。当然,所述运行监控模块01也可以同时使用多种统计方式统计CGI程序接收到的操作请求的请求数量,比如,所述运行监控模块01同时采用上述两种统计方式进行统计。本发明实施例对所述运行监控模块01统计CGI程序接收到的操作请求对应的请求数量不进行具体限制。
所述参数获取模块02用于,获取所述CGI程序处理所述操作请求所需的处理时长;
所述容量计算模块03用于,根据获取的所述请求数量和处理时长,计算并获取所述CGI程序处理所述操作请求所使用的系统容量占用率。
所述运行监控模块01统计出CGI程序接收到的所述操作请求数量后,所述参数获取模块02获取所述CGI程序处理上述操作请求所需要的处理时长。
对于所述运行监控模块01按照预设周期统计所述CGI程序处理的所述操作请求的请求数量时,所述参数获取模块02获取所述CGI程序处理所述操作请求所需要的总处理时长即为所述预设周期。在这种情况下,所述参数获取模块02同时获取所述CGI程序处理每个操作请求的处理时长,从而得出在一个预设周期中,CGI程序处理各操作请求对应的平均时长。
所述容量计算模块03根据所述参数获取模块02获取的每个操作请求对应的平均时长、操作请求的请求数量以及预设周期,所述容量计算模块03获取所述平均时长与所述请求数量的乘积,计算得到的乘积值与预设周期的百分比,所述乘积值与预设周期的百分比即为所述CGI程序处理所述操作请求所使用的系统容量占用率。
对于所述运行监控模块01计预设个数的所述CGI程序接收到的操作请求时,所述参数获取模块02获取CGI程序处理所述预设个数的操作请求所需的总处理时长,以及所述CGI程序处理所述预设个数的操作请求所需的总有效时长,所述容量计算模块03计算所述总有效时长和总处理时长的百分比,所述总有效时长和总处理时长的百分比即为所述CGI程序处理所述操作请求所使用的系统容量占用率。
当所述容量计算模块03获取到所述CGI程序处理所述操作请求所使用的系统容量占用率后,所述容量计算模块03计算1减去所述系统容量占用率所得到的差值即为所述CGI程序处理所述操作请求时服务器对应的空闲容量率。
进一步地,本发明实施例中,所述容量计算模块03获取到所述CGI程序处理所述操作请求所使用的系统容量占用率或者服务器对应的空闲容量率时,所述容量计算模块03将获取的所述系统容量占用率和/或空闲容量率推送至监控客户端,供监控人员根据具体的系统容量占用率和/或空闲容量率执行对应操作;比如,所述容量计算模块03直接将获取的所述系统容量占用率和/或空闲容量率显示至用户操作界面,供用户查看,便于用户直接根据服务器显示的具体系统容量占用率和/或空闲容量率采取相应措施。比如,系统容量占用率比较低且接收到的操作请求并发量较大时,直接增加所述CGI程序对应的操作进程;或者,利用服务器的空闲资源执行其他操作等。
所述容量扩充模块04,用于判断所述系统容量占用率是否超出预设阈值,并在所述系统容量占用率超出预设阈值时,扩充系统容量。
所述容量计算模块03得到所述CGI程序处理对应操作请求所使用的系统容量占用率的具体数值后,所述容量扩充模块04判断获取的所述系统容量占用率是否超出了预设阈值;若超出了所述预设阈值,则所述容量扩充模块04执行相应的扩容操作,扩大系统的容量。比如,所述容量扩充模块04增加所述CGI程序对应的执行进程的数量,从而提升服务器的并发处理能力。或者,当服务器对应的单机CPU达到高负载而无法再添加该服务器对应的处理进程的数量时,所述容量扩充模块04可以增加所述CGI程序对应的物理主机,从而提升系统的处理能力;其中,增加的物理主机上装载有所述CGI程序的运行系统,使得所述CGI程序能够继续处理接收到的操作请求。
本发明实施例服务器统计CGI程序接收到的操作请求数量;获取所述CGI程序处理所述操作请求所需的处理时长;根据获取的所述请求数量和处理时长,计算并获取所述CGI程序处理所述操作请求所使用的系统容量占用率;具有有效监控CGI程序运行时服务器对应的系统容量的有益效果,进而有利于根据占用的系统容量及时采取相应措施,从而避免因占用过多的系统资源而导致服务器死机或者系统崩溃的问题;且当服务器根据获取的系统容量占用率,判断出该系统容量占用率超于预设阈值时,执行对应地扩容操作,提高了系统的处理能力。
进一步地,本发明实施例中,所述数据监控装置利用各功能模块比如所述运行监控模块01、参数获取模块02和容量计算模块03,对所述CGI程序处理接收到的操作请求进行实时监控,并采取实时监控统计对应的处理方式,获取所述CGI程序处理所述操作请求时所占用的服务器的系统容量占用率。
请继续参照图4,本发明实施例数据监控装置中,所述运行监控模块01实时监控所述CGI程序的运行状态,采用环形队列统计的方式统计所述CGI程序接收预设个数的操作请求。比如,所述运行监控模块01实时监控CGI程序的运行状态,统计CGI程序所接收到的操作请求的请求数量达到预设个数时,对CGI程序处理所述预设个数的操作请求所占用的系统容量占用率进行监控计算。比如,所述运行监控模块01采用环形队列的方式,统计所述CGI程序接收到n个操作请求后,便计算所述CGI程序处理接收到的这n个操作请求所占用的系统容量。
所述参数获取模块02获取所述CGI程序处理所有所述操作请求所需的总时长,同时,获取所述CGI程序处理每个操作请求分别对应的开始时间点和结束时间点;根据获取的所述CGI程序处理每个操作请求分别对应的开始时间点和结束时间点,获取所述CGI程序处理所述操作请求数量对应的所有操作请求所需的有效时长。
所述参数获取模块02获取所述CGI程序处理上述n个操作请求所需的总时长Ta,同时,所述参数获取模块02获取所述CGI程序处理上述n个操作请求中的每一个操作请求所分别对应的开始时间点Tsn和结束时间点Ton。所述参数获取模块02根据获取的所述CGI程序处理每个操作请求对应的开始时间点Tsn和结束时间点Ton,计算所述CGI程序处理每个操作请求对应的一个有效处理时长Tn。得到所述CGI程序处理n个操作请求分别对应的一个有效处理时长T1、T2……Tn后,所述参数获取模块02将得到的上述n个有效处理时长T1、T2……Tn相加,得到所述CGI程序处理这个n操作请求所需的总的有效时长(T1+T2+…+Tn)。
所述参数获取模块02获取的所述CGI程序处理上述n个操作请求对应的时间片段如下表所示,下表中,斜线部分为CGI程序处理的进程空闲时间,该空闲时间根据触发的操作请求的并发量不同而有所不同。下表中,空白部分即T1、T2、T3……Tn部分即为所述CGI程序处理对应的操作请求所使用的有效时长。
所述容量计算模块03根据获取的所述有效时长和总时长,计算所述有效时长和总时长的百分比,将所述有效时长和总时长的百分比作为所述CGI程序处理所述操作请求所使用的系统容量占用率。
容量计算模块03根据所述参数获取模块02获取的所述CGI程序处理n操作请求所需的总的有效时长(T1+T2+…+Tn),以及所述CGI程序处理n操作请求所需的总时长T,计算所述有效时长(T1+T2+…+Tn)和总时长T的百分比(T1+T2+…+Tn)/T*100%,从而得到所述CGI程序处理所述操作请求所使用的系统容量占用率为(T1+T2+…+Tn)/T*100%。
本发明实施例服务器实时监控所述CGI程序的运行状态,采用环形队列统计的方式统计所述CGI程序接收预设个数的操作请求;获取所述CGI程序处理所有所述操作请求所需的总时长,同时,获取所述CGI程序处理每个操作请求分别对应的开始时间点和结束时间点;根据获取的所述CGI程序处理每个操作请求分别对应的开始时间点和结束时间点,获取所述CGI程序处理所述操作请求数量对应的所有操作请求所需的有效时长;根据获取的所述有效时长和总时长,计算所述有效时长和总时长的百分比,将所述有效时长和总时长的百分比作为所述CGI程序处理所述操作请求所使用的系统容量占用率;具有有效监控CGI程序运行时服务器对应的系统容量的有益效果。
进一步地,本发明实施例中,所述数据监控装置利用各功能模块比如所述运行监控模块01、参数获取模块02和容量计算模块03,对所述CGI程序处理接收到的操作请求按照预设周期进行离线统计,并采取离线统计对应的监控方式,获取所述CGI程序处理所述操作请求时所占用的服务器的系统容量占用率。
请继续参照图4,本发明实施例数据监控装置中,所述运行监控模块01按照预设周期,离线统计在所述预设周期内所述CGI程序接收到的操作请求数量。
本发明实施例中,所述运行监控模块01统计预设周期内所述CGI程序接收到的操作请求数量;比如,服务器预先设置一预设周期T0,所述运行监控模块01离线统计在该预设周期T0内所述CGI程序接收到的操作请求数量m。
所述参数获取模块02获取所述CGI程序处理所述请求数量对应的每个操作请求的单位时长;根据获取的每个操作请求的单位时长,计算所述CGI程序处理所有操作请求对应的平均时长;根据获取的所述请求数量和平均时长,获取所述平均时长与所述请求数量的乘积,得到所述CGI程序处理所述操作请求的单位周期时长。
所述CGI程序在处理上述m个操作请求时,向服务器上报处理各操作请求所使用的单位时长t1、t2……tm;所述参数获取模块02根据所述CGI程序上报的处理上述m个操作请求分别对应的单位时长t1、t2……tm,计算所述CGI程序处理m个操作请求所使用的平均时长t0为:t0=(t1+t2+…+tm)/m。
所述容量计算模块03计算所述单位周期时长与所述预设周期的百分比,将所述单位周期时长与所述预设周期的百分比作为所述CGI程序处理所述操作请求所使用的系统容量占用率。
所述参数获取模块02获取到所述CGI程序在预设周期T0内接收到的操作请求的请求数量为m个时,以及所述CGI程序处理上述m个操作请求所需要的平均时长为t0时,所述参数获取模块02获取所述平均时长t0与上述操作请求对应的操作数量m的乘积为(m*t0),得到所述CGI程序在预设周期T0内处理m个操作请求所使用的单位周期时长(m*t0);所述容量计算模块03计算所述单位周期时长(m*t0)与所述预设周期T0的百分比为:m*t0/T0*100%,从而得到所述CGI程序在预设周期T0内处理上述m个操作请求所使用的系统容量占用率为:m*t0/T0*100%。
本发明实施例服务器按照预设周期,离线统计在所述预设周期内所述CGI程序接收到的操作请求数量;获取所述CGI程序处理所述请求数量对应的每个操作请求的单位时长;根据获取的每个操作请求的单位时长,计算所述CGI程序处理所有操作请求对应的平均时长;根据获取的所述请求数量和平均时长,获取所述平均时长与所述请求数量的乘积,得到所述CGI程序处理所述操作请求的单位周期时长;计算所述单位周期时长与所述预设周期的百分比,将所述单位周期时长与所述预设周期的百分比作为所述CGI程序处理所述操作请求所使用的系统容量占用率;具有有效监控CGI程序运行时服务器对应的系统容量的有益效果;提高了服务器监控CGI程序处理操作请求的灵活性和多样性。
本发明实施例还提供一种数据监控装置的硬件结构,如图5所示,所述数据监控装置包括:
处理器101、存储器102、用户接口103、网络接口104以及通信总线105。通信总线105用于本地服务器中各组成部件之间的通信,用户接口103用于接收用户输入的信息,该用户接口可以为有线接口及无线接口,例如键盘、鼠标等。网络接口104用于所述数据监控装置与外部进行互相通信,该网络接口也可以包括有线接口及无线接口。存储器102可以包括一个或一个以上计算机可读存储介质,而且其不但包括内部存储器,还包括外部存储器。该存储器102中存储有操作系统、所述CGI程序、数据监控应用程序以及所述数据监控装置执行过程中所使用的各种参数等等。处理器101用于调用存储器102中的数据监控应用程序,以执行以下操作:
通过用户接口103和/或网络接口104统计公共网关接口CGI程序接收到的操作请求数量;
通过通信总线105获取所述CGI程序处理所述操作请求所需的处理时长;
根据获取的所述请求数量和处理时长,计算并获取所述CGI程序处理所述操作请求所使用的系统容量占用率;
判断所述系统容量占用率是否超出预设阈值,并在所述系统容量占用率超出预设阈值时,通过通信总线105扩充系统容量。
本发明实施例服务器统计CGI程序接收到的操作请求数量;获取所述CGI程序处理所述操作请求所需的处理时长;根据获取的所述请求数量和处理时长,计算并获取所述CGI程序处理所述操作请求所使用的系统容量占用率,并在判断出所述系统容量占用率超出预设阈值时,扩充系统容量;具有有效监控CGI程序运行时服务器对应的系统容量的有益效果;且当服务器根据获取的系统容量占用率,判断出该系统容量占用率超于预设阈值时,执行对应地扩容操作,提高了系统的处理能力。
进一步地,处理器101用于调用存储器102中的数据监控应用程序,以执行以下操作:
通过用户接口103和/或网络接口104实时监控所述CGI程序的运行状态,采用环形队列统计的方式统计所述CGI程序接收预设个数的操作请求。
进一步地,处理器101用于调用存储器102中的数据监控应用程序,以执行以下操作:
通过通信总线105获取所述CGI程序处理所有所述操作请求所需的总时长,同时,获取所述CGI程序处理每个操作请求分别对应的开始时间点和结束时间点;
根据获取的所述CGI程序处理每个操作请求分别对应的开始时间点和结束时间点,获取所述CGI程序处理所述操作请求数量对应的所有操作请求所需的有效时长。
进一步地,处理器101用于调用存储器102中的数据监控应用程序,以执行以下操作:
根据获取的所述有效时长和总时长,计算所述有效时长和总时长的百分比,将所述有效时长和总时长的百分比作为所述CGI程序处理所述操作请求所使用的系统容量占用率。
进一步地,处理器101用于调用存储器102中的数据监控应用程序,以执行以下操作:
按照预设周期,通过用户接口103和/或网络接口104离线统计在所述预设周期内所述CGI程序接收到的操作请求数量。
进一步地,处理器101用于调用存储器102中的数据监控应用程序,以执行以下操作:
通过通信总线105获取所述CGI程序处理所述请求数量对应的每个操作请求的单位时长;
根据获取的每个操作请求的单位时长,计算所述CGI程序处理所有操作请求对应的平均时长;
根据获取的所述请求数量和平均时长,获取所述平均时长与所述请求数量的乘积,得到所述CGI程序处理所述操作请求的单位周期时长。
进一步地,处理器101用于调用存储器102中的数据监控应用程序,以执行以下操作:
根据获取的所述单位周期长,计算所述单位周期时长与所述预设周期的百分比,将所述单位周期时长与所述预设周期的百分比作为所述CGI程序处理所述操作请求所使用的系统容量占用率。
进一步地,处理器101用于调用存储器102中的数据监控应用程序,以执行以下操作:
通过用户接口103和/或网络接口104实时监控所述CGI程序的运行状态,采用环形队列统计的方式统计所述CGI程序接收预设个数的操作请求;以及
按照存储在存储器102中的预设周期,通过用户接口103和/或网络接口104离线统计在所述预设周期内所述CGI程序接收到的操作请求数量。
进一步地,处理器101用于调用存储器102中的数据监控应用程序,以执行以下操作:
通过通信总线105增加所述CGI程序对应的执行进程数量,和/或增加所述CGI程序对应的物理主机;其中,所述物理主机装载有所述CGI程序的运行系统。
本发明实施例通过上述实现方式,数据监控装置在有效监控CGI程序运行时服务器对应的系统容量的同时,有利于根据占用的系统容量及时采取相应措施,从而避免因占用过多的系统资源而导致服务器死机或者系统崩溃的问题;进一步地,提高了监控CGI程序处理操作请求的灵活性和多样性。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上所述仅为本发明的优选实施例,并非因此限制其专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (14)
1.一种数据监控方法,其特征在于,包括以下步骤:
统计公共网关接口CGI程序接收到的操作请求数量;
获取所述CGI程序处理所述操作请求所需的处理时长;
根据获取的所述请求数量和处理时长,计算并获取所述CGI程序处理所述操作请求所使用的系统容量占用率;
判断所述系统容量占用率是否超出预设阈值,并在所述系统容量占用率超出预设阈值时,扩充系统容量。
2.如权利要求1所述的方法,其特征在于,所述统计CGI程序接收到的操作请求数量的步骤包括:
实时监控所述CGI程序的运行状态,采用环形队列统计的方式统计所述CGI程序接收预设个数的操作请求。
3.如权利要求2所述的方法,其特征在于,所述获取所述CGI程序处理所述操作请求所需的处理时长的步骤包括:
获取所述CGI程序处理所有所述操作请求所需的总时长,获取所述CGI程序处理每个操作请求分别对应的开始时间点和结束时间点;
根据获取的所述CGI程序处理每个操作请求分别对应的开始时间点和结束时间点,获取所述CGI程序处理所述操作请求数量对应的所有操作请求所需的有效时长。
4.如权利要求3所述的方法,其特征在于,所述根据获取的所述请求数量和处理时长,计算并获取所述CGI程序处理所述操作请求所使用的系统容量占用率的步骤包括:
根据获取的所述有效时长和总时长,计算所述有效时长和总时长的百分比,将所述有效时长和总时长的百分比作为所述CGI程序处理所述操作请求所使用的系统容量占用率。
5.如权利要求1所述的方法,其特征在于,所述统计CGI程序接收到的操作请求数量的步骤包括:
按照预设周期,离线统计在所述预设周期内所述CGI程序接收到的操作请求数量。
6.如权利要求5所述的方法,其特征在于,所述获取所述CGI程序处理所述操作请求所需的处理时长的步骤包括:
获取所述CGI程序处理所述请求数量对应的每个操作请求的单位时长;
根据获取的每个操作请求的单位时长,计算所述CGI程序处理所有操作请求对应的平均时长;
根据获取的所述请求数量和平均时长,获取所述平均时长与所述请求数量的乘积,得到所述CGI程序处理所述操作请求的单位周期时长。
7.如权利要求6所述的方法,其特征在于,所述根据获取的所述请求数量和处理时长,计算并获取所述CGI程序处理所述操作请求所使用的系统容量占用率的步骤包括:
根据获取的所述单位周期长,计算所述单位周期时长与所述预设周期的百分比,将所述单位周期时长与所述预设周期的百分比作为所述CGI程序处理所述操作请求所使用的系统容量占用率。
8.如权利要求1所述的方法,其特征在于,所述统计CGI程序接收到的操作请求数量的步骤包括:
实时监控所述CGI程序的运行状态,采用环形队列统计的方式统计所述CGI程序接收预设个数的操作请求;以及
按照预设周期,离线统计在所述预设周期内所述CGI程序接收到的操作请求数量。
9.如权利要求1至8任一项所述的方法,其特征在于,所述扩充系统容量包括:
增加所述CGI程序对应的执行进程数量,和/或增加所述CGI程序对应的物理主机;其中,所述物理主机装载有所述CGI程序的运行系统。
10.一种数据监控装置,其特征在于,包括:
运行监控模块,用于统计公共网关接口CGI程序接收到的操作请求数量;
参数获取模块,用于获取所述CGI程序处理所述操作请求所需的处理时长;
容量计算模块,用于根据获取的所述请求数量和处理时长,计算并获取所述CGI程序处理所述操作请求所使用的系统容量占用率;
容量扩充模块,用于判断所述系统容量占用率是否超出预设阈值,并在所述系统容量占用率超出预设阈值时,扩充系统容量。
11.如权利要求10所述的装置,其特征在于,所述运行监控模块还用于:
实时监控所述CGI程序的运行状态,采用环形队列统计的方式统计所述CGI程序接收预设个数的操作请求;以及,
按照预设周期,离线统计在所述预设周期内所述CGI程序接收到的操作请求数量。
12.如权利要求11所述的装置,其特征在于,所述参数获取模块还用于:
获取所述CGI程序处理所有所述操作请求所需的总时长,同时,获取所述CGI程序处理每个操作请求分别对应的开始时间点和结束时间点;根据获取的所述CGI程序处理每个操作请求分别对应的开始时间点和结束时间点,获取所述CGI程序处理所述操作请求数量对应的所有操作请求所需的有效时长;以及,
获取所述CGI程序处理所述请求数量对应的每个操作请求的单位时长;
根据获取的每个操作请求的单位时长,计算所述CGI程序处理所有操作请求对应的平均时长;
根据获取的所述请求数量和平均时长,获取所述平均时长与所述请求数量的乘积,得到所述CGI程序处理所述操作请求的单位周期时长。
13.如权利要求12所述的装置,其特征在于,所述容量计算模块还用于:
根据获取的所述有效时长和总时长,计算所述有效时长和总时长的百分比,将所述有效时长和总时长的百分比作为所述CGI程序处理所述操作请求所使用的系统容量占用率;以及,
根据获取的所述单位周期长,计算所述单位周期时长与所述预设周期的百分比,将所述单位周期时长与所述预设周期的百分比作为所述CGI程序处理所述操作请求所使用的系统容量占用率。
14.如权利要求10-13任一项所述的装置,其特征在于,所述容量扩充模块还用于:
增加所述CGI程序对应的执行进程数量,和/或增加所述CGI程序对应的物理主机;其中,所述物理主机装载有所述CGI程序的运行系统。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410401370.6A CN105337791A (zh) | 2014-08-14 | 2014-08-14 | 数据监控方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410401370.6A CN105337791A (zh) | 2014-08-14 | 2014-08-14 | 数据监控方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105337791A true CN105337791A (zh) | 2016-02-17 |
Family
ID=55288103
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410401370.6A Pending CN105337791A (zh) | 2014-08-14 | 2014-08-14 | 数据监控方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105337791A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106161543A (zh) * | 2015-04-13 | 2016-11-23 | 腾讯科技(深圳)有限公司 | Cgi负载监控方法和装置 |
CN107480013A (zh) * | 2017-08-11 | 2017-12-15 | 网宿科技股份有限公司 | 一种计算进程冗余度的方法和装置 |
CN108037959A (zh) * | 2017-11-30 | 2018-05-15 | 努比亚技术有限公司 | 接口智能合并方法、移动终端及计算机可读存储介质 |
CN110417624A (zh) * | 2019-08-30 | 2019-11-05 | 腾讯科技(深圳)有限公司 | 请求的统计方法、装置及存储介质 |
CN112134755A (zh) * | 2020-09-21 | 2020-12-25 | 杭州迪普科技股份有限公司 | 公共网关接口程序监测方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101145125A (zh) * | 2006-09-11 | 2008-03-19 | 中兴通讯股份有限公司 | 一种测量多任务操作系统任务cpu占用率的方法 |
CN102073545A (zh) * | 2011-02-28 | 2011-05-25 | 中国人民解放军国防科学技术大学 | 操作系统中防止用户界面卡屏的进程调度方法及装置 |
CN102110043A (zh) * | 2010-12-30 | 2011-06-29 | 上海顶竹通讯技术有限公司 | 一种cpu占用率的计算方法及装置 |
CN103455407A (zh) * | 2013-09-03 | 2013-12-18 | 小米科技有限责任公司 | 一种移动终端cpu占用率监测方法、装置及移动终端 |
CN104834643A (zh) * | 2014-02-11 | 2015-08-12 | 腾讯科技(深圳)有限公司 | 一种快速公共网关接口文件分析方法和装置 |
-
2014
- 2014-08-14 CN CN201410401370.6A patent/CN105337791A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101145125A (zh) * | 2006-09-11 | 2008-03-19 | 中兴通讯股份有限公司 | 一种测量多任务操作系统任务cpu占用率的方法 |
CN102110043A (zh) * | 2010-12-30 | 2011-06-29 | 上海顶竹通讯技术有限公司 | 一种cpu占用率的计算方法及装置 |
CN102073545A (zh) * | 2011-02-28 | 2011-05-25 | 中国人民解放军国防科学技术大学 | 操作系统中防止用户界面卡屏的进程调度方法及装置 |
CN103455407A (zh) * | 2013-09-03 | 2013-12-18 | 小米科技有限责任公司 | 一种移动终端cpu占用率监测方法、装置及移动终端 |
CN104834643A (zh) * | 2014-02-11 | 2015-08-12 | 腾讯科技(深圳)有限公司 | 一种快速公共网关接口文件分析方法和装置 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106161543A (zh) * | 2015-04-13 | 2016-11-23 | 腾讯科技(深圳)有限公司 | Cgi负载监控方法和装置 |
CN107480013A (zh) * | 2017-08-11 | 2017-12-15 | 网宿科技股份有限公司 | 一种计算进程冗余度的方法和装置 |
CN107480013B (zh) * | 2017-08-11 | 2020-12-29 | 网宿科技股份有限公司 | 一种计算进程冗余度的方法和装置 |
CN108037959A (zh) * | 2017-11-30 | 2018-05-15 | 努比亚技术有限公司 | 接口智能合并方法、移动终端及计算机可读存储介质 |
CN108037959B (zh) * | 2017-11-30 | 2021-01-01 | 努比亚技术有限公司 | 接口智能合并方法、移动终端及计算机可读存储介质 |
CN110417624A (zh) * | 2019-08-30 | 2019-11-05 | 腾讯科技(深圳)有限公司 | 请求的统计方法、装置及存储介质 |
CN112134755A (zh) * | 2020-09-21 | 2020-12-25 | 杭州迪普科技股份有限公司 | 公共网关接口程序监测方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105337791A (zh) | 数据监控方法及装置 | |
CN107515865B (zh) | 页面数据点击量统计方法及装置 | |
CN107390983B (zh) | 业务指令执行方法、客户端和存储介质 | |
CN101753380B (zh) | 监控存储器消耗 | |
CN108721898B (zh) | 帧率的确定方法和装置、存储介质、电子装置 | |
CN104881273B (zh) | 一种网页渲染的分析方法和终端设备 | |
DE112011103486T5 (de) | Kontinuierliche Anwendungsausführung zwischen mehreren Vorrichtungen | |
CN105656810B (zh) | 一种更新应用程序的方法及装置 | |
CN112749358A (zh) | 页面渲染方法和装置、电子设备以及存储介质 | |
CN111651510A (zh) | 数据处理方法、装置、电子设备和计算机可读存储介质 | |
CN110209978B (zh) | 一种数据处理方法和相关装置 | |
CN103955495B (zh) | 页面子资源的下载方法及装置 | |
CN108268332A (zh) | 网页异常监控方法、设备及系统 | |
CN104052809A (zh) | 一种网站测试的分流控制方法和装置 | |
CN110995539A (zh) | 业务系统监控方法、装置及计算机设备 | |
US20170250890A1 (en) | Asynchronous transactions reported as critical path | |
CN108616575A (zh) | 操作监控方法、装置、计算机设备及存储介质 | |
CN104537005A (zh) | 用于网页爬取的数据处理方法及装置 | |
US8667090B2 (en) | Delivering a webpage to a client | |
CN114189559B (zh) | 基于Axios的接口重复请求处理方法及系统 | |
CN105677678B (zh) | 网页的首屏位置确定、网页信息显示方法和系统 | |
CN105471614A (zh) | 过载保护方法、装置及服务器 | |
CN113590007B (zh) | 进度条的生成方法、生成装置、计算机设备及存储介质 | |
CN111290912A (zh) | 单页面应用性能监控方法、装置和电子设备 | |
CN112672187B (zh) | 页面生成方法、装置、计算机设备及可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160217 |