具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1:
如图1所示,本发明实施例提供一种系统功能的统计方法,包括:
101、系统功能的统计装置接收WEB系统发送的已处理完成的URL,所述URL包括处理状态标识和多个参数名及对应的参数值,所述处理状态标识用于表示所述URL的调用为成功或失败。
其中,所述URL为用户请求的URL,当WEB系统处理完所述URL时,在所述URL中插入一个处理状态标识,用于表示所述URL的调用为成功或失败。例如,将所述处理状态标识定义为ret,当ret=1时,表示所述URL的调用为成功,当ret=0时,表示所述URL的调用为失败。
本发明实施例中的系统功能的统计装置具体由功能模板统计装置、功能模板采集装置和功能模块标注装置组成,所述功能模板统计装置主要用于每个URL模板在每个单位周期内的总调用数、成功调用数和失败调用数写入所述模板数据库中,所述功能模板采集装置主要用于从用户请求的URL中采集URL模板,所述功能模块标注装置主要用于对URL模板进行功能标注。
本方法的步骤101-104的执行主体具体为系统功能的统计装置中的功能模板统计装置。
102、在模板数据库中查找是否存在与URL中的参数个数、参数名和有效参数取值均相同的URL模板。
其中,所述URL模板为删除无效参数的取值并保留有效参数的取值后得到的URL。
所述无效参数为所述URL的参数中取值不同的个数不小于指定个数的参数,所述有效参数为所述URL的参数中取值不同的个数小于指定个数的参数。
需要说明的是,由于在WEB系统中,系统功能的实现是通过URL来体现的。可选的,WEB系统可实现的功能可以为有限个,如果URL携带的某个参数用来表示某个功能,例如,存储数据、删除数据等等,那么对于不同的用户来说,该参数的取值将是有限的,当不同用户的个数无限增大时,该参数的取值不会随之增大为无限个,而仍然是有限个。如果URL携带的某个参数用来表示用户相关的数据,例如,用户的标识、联系人信息等,那么对于不同的用户来说,该参数的取值也会不相同,当用户的个数无限增大时,那么该参数的取值也将随着增大为无限个。
因而,本发明实施例中,将所述URL的参数分为无效参数和有效参数两种,其中,所述无效参数为取值不同的个数不小于指定个数的参数,例如,在具体的实施方式中,可以设置取值不同的个数大于等于10个的参数为无效参数。所述有效参数为取值不同的个数小于指定个数的参数,例如,取值不同的个数小于10个的参数。
并且,由于所述URL模板为删除无效参数的取值后并保留有效参数的取值后得到的URL。因而,一个URL模板即可体现出来一个系统功能(例如,对数据进行删除、查看、添加等系统功能)。亦即,本发明实施例中后续对URL模板实现的监控,亦可以体现出对WEB系统功能的监控。
103、系统功能的统计装置当查找到所述URL模板时,更新所述URL模板在当前单位周期内的总调用数、并根据所述处理状态标识的取值更新所述URL模板在当前单位周期内的成功调用数或失败调用数。
其中,所述单位周期可以取值为五分钟。
可以理解的是,上述的五分钟可以根据具体的系统要求以及性能来进行调整,如果希望对数据的统计更微观和实时,在服务器性能可以承受的情况下,可以将上述单位周期缩小,反之,则可以将上述单位周期变大。
104、系统功能的统计装置将每个URL模板在每个单位周期内的总调用数、成功调用数和失败调用数写入所述模板数据库中。
例如,以单位周期为五分钟为例,当1:05时,可以将每个URL模板在1:00-1:05之间的总调用数、成功调用数和失败调用数写入所述模板数据库中。
本发明实施例中,系统功能的统计装置可以获取并将每个URL模板在每个单位周期内的总调用数、成功调用数和失败调用数写入所述模板数据库中,以便于在后续的监控操作中,使得监控装置可以从模板数据库中获取每个URL模板在每个单位周期内的总调用数、成功调用数和失败调用数,并判断每个模板在每个单位周期内的调用数据相对于历史数据中相应单位周期内的调用数据是否存在异常,当判断出某个模板存在异常时,通过邮件或者短信向技术人员发送携带有所述存在异常的模板标识的报警信息,以通知技术人员进行监控。
进一步地,在上述步骤101之前,上述方法还包括从用户请求的URL中采集URL模板的操作,如图2所示,具体包括:
105、定期获取WEB系统的日志,所述日志包括一定周期内用户请求的URL,一条URL包括多个参数名及对应的参数值。
例如,每天的0:00时刻时,获取前一天的WEB系统的日志,从中可以得到前一天的WEB系统处理的所有用户请求。
106、删除每条所述URL中的无效参数的取值并保留有效参数的取值,得到每条所述URL对应的URL模板。
例如,用户在QQ邮箱中查看某个联系人时,相应的用户请求的URL如下:
addr_detail?sid=insj9Nas3HlVQEMO&AddrID=1207&grpid=1000&category=common&isqqgroup=0&t=addr_detail。
这条URL包含的多个参数为sid,AddrID,grpid,category,isqqgroup,t。
经过对日志中URL进行统计分析,可以得到:在几万条的URL中,sid,AddrID,grpid这三个参数出现不同值的个数有很多个,不同值的个数超过了十个,而category,isqqgroup,t这三个参数出现不同值的个数很少,不同值的个数不超过十个,因此,将sid,AddrID,grpid这三个参数判定为无效参数,而将category,isqqgroup,t这三个参数判定为有效参数。接着,将对这条URL中的无效参数的取值值去掉,就得到如下URL模板:
addr_detail?sid=&AddrID=&grpid=&category=common&isqqgroup=0&t=addr_detail。
107、将每一类URL模板保存在所述模板数据库中,一类URL模板为相同的URL模板。
上述步骤105-107的执行主体具体可以为系统功能的统计装置中的功能模板采集装置。
需要说明的是,不同的URL在删除无效参数的取值并保留有效参数的取值后,有可能得到相同的URL模块,例如,多个用户同时进行删除数据的操作,因而在URL中有效参数的取值为相同的,均表示删除数据的功能。本发明实施例中将相同的URL模板称之为一类URL模板。
上述步骤107中,将每一类URL模板保存在所述模板数据库中,以便于后续进行监控。当然,也可以仅对部分体现主要调用功能的URL模板进行监控,此时,如图3所示,上述步骤107具体采用如下实现方式:统计每一类URL模板的个数;将URL模板的个数大于预设阈值的URL模板保存在所述模板数据库中。在不同的WEB系统中,可根据实际情况确定上述预设阈值。
另外,本发明实施例通过定期获取WEB系统日志,来得到URL模板,因而,URL模板的种类会越来越丰富,在使用URL模板对WEB系统进行监控时,由于URL模板可以体现出系统的功能,从而使得对WEB系统进行监控的功能点越来越全面。
同时,由于上述URL模板是基于用户请求的URL,因而,对于技术人员来说,无需额外再编写测试用例,直接使用用户请求的URL作为测试用例来对WEB系统进行监控,减少了技术人员在增加测试用例的开销。
进一步地,由于上述URL模板是将URL删除无效参数的取值并保留有效参数的取值后得到的,技术人员在面对URL模板,较难直接判断URL模板的功能。为了便于技术人员更直观的了解URL模板的功能,本发明实施例还提供一种对URL模板进行功能标注的方法,使得技术人员通过查看URL模板的功能标注来了解URL模板的功能。具体地,上述方法还包括对URL模板进行功能标注的操作,如图4所示,具体包括:
108、接收标注客户端发送的标注请求,所述标注请求中携带有URL,所述URL包括多个参数名及对应的参数值。
109、在模板数据库中查找是否存在与URL中的参数个数、参数名和有效参数取值均相同的URL模板。
本步骤的具体实现方式可参见上述步骤102的相关描述。
110、当查找到所述URL模板时,判断所述URL模板是否存在功能标注。
该功能标注是对URL模板所体现的系统功能的文字注释。
111、当所述URL模板不存在功能标注时,向所述标注客户端发送进行标注的提示信息。之后,接收所述标注客户端发送的功能标注,所述功能标注为用户在标注客户端中输入的,并将所述功能标注保存在所述模板数据库中与所述URL模板对应的描述中。
112、当所述URL模板存在功能标注时,向所述标注客户端发送已完成标注的提示信息。
上述步骤108-112的执行主体具体可以为系统功能的统计装置中的功能模板标注装置。
需要说明的是,上述步骤108-112可以在技术人员对WEB进行测试监控的同时进行。
另一方面,本发明实施例提供一种系统功能的监控方法,如图5所示,包括:
201、从模板数据库中获取每个URL模板在每个单位周期内的总调用数、成功调用数和失败调用数。
例如,可以在一个周期结束时,获取从模板数据库中获取每个URL模板在该单位周期内的总调用数、成功调用数和失败调用数。
其中,所述URL模板为删除无效参数的取值并保留有效参数的取值后得到的URL,所述无效参数为所述URL的参数中取值不同的个数不小于指定个数的参数,所述有效参数为所述URL的参数中取值不同的个数小于指定个数的参数。
202、判断每个模板在每个单位周期内的调用数据相对于历史数据中相应单位周期内的调用数据是否存在异常,所述调用数据为一个单位周期内总调用数、成功调用数或失败调用数中的任一种。
本步骤在实现时,可以采用数据监控算法判断每个模板在每个单位周期内的调用数据相对于历史数据中相应单位周期内的调用数据是否存在异常,所述数据监控算法包括方差法,动态阈值算法或时点拟合算法。
为了更好的理解上述数据监控算法是如何判断出每个模板的调用数据存在异常的,下面以一个模板的调用数据为例进行详细描述,其中,调用数据以一个单位周期内总调用数为例,当然也可以使用成功调用数或失败调用数。
首先定义,单位周期为五分钟,当前的单位周期为1:05-1:10,那么在1:05时,模板在前一个单位周期内的调用数据具体为:该模板在1:00-1:05内的总调用数,该模块板的历史数据中相应单位周期内的调用数据为:该模板在前7天中每天的1:00-1:05内的总调用数。这里取的是前7天相应单位周期内的历史数据,当然也可以去前8天或者其他天数在相应单位周期内的历史数据。
接下来,依次介绍利用上述方差法,动态阈值算法或时点拟合算法如何判断模板的调用是否存在异常。
第一种、方差法
首先,利用前7天相应单位周期内的总调用数(即前7天中每天的1:00-1:05内的总调用数)计算方差值,具体如下:
根据x_=(x1+x2+...+xn)/n计算平均值,其中,x_表示平均值,n的取值为7,x1、x2…xn分别表示前7天中的第1天在1:00-1:05内的总调用数、前7天中的第2天在1:00-1:05内的总调用数…前7天中的第7天在1:00-1:05内的总调用数。再根据s^2=(1/n)[(x1-x_)^2+(x2-x_)^2+...+(xn-x_)^2]计算方差值,其中s^2表示方差值。
将利用前7天相应单位周期内的总调用数(即前7天中每天的1:00-1:05内的总调用数)计算出来的方差值,记为s1。
接着,再加上当天在相应单位周期内的总调用数(即前7天加上当天,共8天中每天的1:00-1:05内的总调用数),计算出来的方差值,记为s2。
如果N*s1<s2时,则说明该模板的调用存在异常,否则,说明该模板的调用正常。
实际应用过程中,上述N的取值可以为3。
第二种、动态阈值算法
根据正态分布原理,获取该模板在前7天的相应单位周期内的总调用数中的最大值与最小值,并以最大值与最小值为端点,从最大值到最小值依次划为分出10个区间,计算该模板在前7天的相应单位周期内的总调用数分别包含在上述10个区间中的个数,包含总调用数的个数最多的区间为密集区间。如果当天的相应单位周期内的总调用数包含在上述密集区间中,则说明该模板的调用是正常的,否则,说明该模板的调用存在异常。
第三种、曲线拟合算法
首先,简单介绍一下曲线拟合算法的原理:用连续曲线近似地刻画或比拟平面上离散点组所表示的坐标之间的函数关系。在数值分析中,曲线拟合就是用解析表达式逼近离散数据,即离散数据的公式化。有关所述曲线拟合算法更详细的介绍可参见现有技术中的相关描述。
由于该模板在前7天的相应单位周期内的总调用数为一组离散数据,因而使用现有技术中的曲线拟合算法可以获得一组离散数据对应的解释表达式,亦即将上述一组离散数据进行公式化,然后,将该模板在当天的相应单位周期内的总调用数代入上述解释表达式,可以计算得到一个预期值,当该预期值与实际值(亦实际的总调用数)的差不超过预设的误差阀值,则说明该模板的调用是正常的,否则,说明该模板的调用存在异常。
需要说明的是,实际应用中,可以采用相同的数据监控算法(上述三种中的任一种)判断每个模板在每个单位周期内的调用数据相对于历史数据中相应单位周期内的调用数据是否存在异常,也可以根据不同模板的特性为每个模板配置相应的数据监控算法,亦即,不同的模板也可以采用不同的数据监控算法。
203、当判断出某个模板存在异常时,发送携带有所述存在异常的模板标识的报警信息,以通知技术人员进行监控。
具体地,可以通过邮件或者短信向技术人员发送携带有所述存在异常的模板标识的报警信息。
例如,在邮件中携带上述存在异常的模板的链接,这样可以便于技术人员直接通过该链接定位到存在异常的模板。
上述步骤201-203的执行主体具体可以为系统功能的监控装置。
本发明实施例中,系统功能的监控装置从模板数据库中获取每个URL模板在每个单位周期内的总调用数、成功调用数和失败调用数,并判断每个模板在每个单位周期内的调用数据相对于历史数据中相应单位周期内的调用数据是否存在异常,当判断出某个模板存在异常时,通过邮件或者短信向技术人员发送携带有所述存在异常的模板标识的报警信息,以通知技术人员进行监控。亦即,一旦发现每个周期出现异常的URL模板,立即进行报警,并且URL模板是通过将用户请求的URL删除无效参数的取值并保留有效参数的取值后得到的,所述URL模板中保留的有效参数可以代表该URL模板实现的系统功能,因而,通过对URL模板的监控,既可以实现对用户请求的每个URL的监控,也可以实现对系统功能的监控,可见,本发明实施例在对WEB系统进行监控时,可以实时监控出功能异常点,并且扩大了监控的覆盖率,实现对WEB系统全面有效的监控。
实施例2:
本发明实施例提供一种系统功能的统计装置,包括:功能模板统计装置100,如图6所示,所述功能模板统计装置100,包括:
接收模块11,用于接收WEB系统发送的已处理完成的URL,所述URL包括处理状态标识和多个参数名及对应的参数值,所述处理状态标识用于表示所述URL的调用为成功或失败;
查找匹配模块12,用于在模板数据库中查找是否存在与URL中的参数个数、参数名和有效参数取值均相同的URL模板,所述URL模板为删除无效参数的取值并保留有效参数的取值后得到的URL,所述无效参数为所述URL的参数中取值不同的个数不小于指定个数的参数,所述有效参数为所述URL的参数中取值不同的个数小于指定个数的参数;
统计模块13,用于当查找到所述URL模板时,更新所述URL模板在当前单位周期内的总调用数、并根据所述处理状态标识的取值更新所述URL模板在当前单位周期内的成功调用数或失败调用数;
写入模块14,用于将每个URL模板在每个单位周期内的总调用数、成功调用数和失败调用数写入所述模板数据库中。
进一步地,上述装置还包括:功能模板采集装置200,如图7所示,所述功能模板采集装置200包括:
获取模块21,用于定期获取WEB系统的日志,所述日志包括一定周期内用户请求的URL,一条URL包括多个参数名及对应的参数值;
删除模块22,用于删除每条所述URL中的无效参数的取值并保留有效参数的取值,得到每条所述URL对应的URL模板;
保存模块23,用于将每一类URL模板保存在所述模板数据库中,一类URL模板为相同的URL模板。
其中,所述保存模块23,具体用于统计每一类URL模板的个数,并将URL模板的个数大于预设阈值的URL模板保存在所述模板数据库中。
进一步地,上述装置,还包括:功能模块标注装置300,如图8所示,所述功能模块标注装置300包括:
接收模块31,用于接收标注客户端发送的标注请求,所述标注请求中携带有URL,所述URL包括多个参数名及对应的参数值;
查找匹配模块32,用于在模板数据库中查找是否存在与URL中的参数个数、参数名和有效参数取值均相同的URL模板;
判断模块33,用于当查找到所述URL模板时,判断所述URL模板是否存在功能标注;
标注处理模块34,用于当所述URL模板不存在功能标注时,向所述标注客户端发送进行标注的提示信息,接收所述标注客户端发送的功能标注,所述功能标注为用户在标注客户端中输入的,并将所述功能标注保存在所述模板数据库中与所述URL模板对应的描述中;
所述标注处理模块34,还用于当所述URL模板存在功能标注时,向所述标注客户端发送已完成标注的提示信息。
可选地,如图9所示,一种系统功能的统计装置由上述功能模板统计装置100、功能模板采集装置200和功能模块标注装置300组成。
上述功能模板统计装置100、功能模板采集装置200和功能模块标注装置300可以集成在一个装置中,也可以分别为独立的装置。
本发明实施例还提供一种系统功能的监控装置,如图10所示,包括:
获取模块41,用于从模板数据库中获取每个URL模板在每个单位周期内的总调用数、成功调用数和失败调用数,所述URL模板为删除无效参数的取值并保留有效参数的取值后得到的URL,所述无效参数为所述URL的参数中取值不同的个数不小于指定个数的参数,所述有效参数为所述URL的参数中取值不同的个数小于指定个数的参数;
判断模块42,用于判断每个模板在每个单位周期内的调用数据相对于历史数据中相应单位周期内的调用数据是否存在异常,所述调用数据为一个单位周期内总调用数、成功调用数或失败调用数中的任一种。
报警模块43,用于当判断出某个模板存在异常时,发送携带有所述存在异常的模板标识的报警信息,以通知技术人员进行监控。
其中,所述判断模块42,具体用于采用数据监控算法判断每个模板在每个单位周期内的调用数据相对于历史数据中相应单位周期内的调用数据是否存在异常,所述数据监控算法包括方差法,动态阈值算法或时点拟合算法。
本发明实施例中,一方面,系统功能的统计装置可以获取并将每个URL模板在每个单位周期内的总调用数、成功调用数和失败调用数写入所述模板数据库中。另一方面,系统功能的监控装置从模板数据库中获取每个URL模板在每个单位周期内的总调用数、成功调用数和失败调用数,并判断每个模板在每个单位周期内的调用数据相对于历史数据中相应单位周期内的调用数据是否存在异常,当判断出某个模板存在异常时,发送携带有所述存在异常的模板标识的报警信息,以通知技术人员进行监控。亦即,一旦发现每个周期出现异常的URL模板,立即进行报警,并且URL模板是通过将用户请求的URL删除无效参数的取值并保留有效参数的取值后得到的,所述URL模板中保留的有效参数可以代表该URL模板实现的系统功能,因而,通过对URL模板的监控,既可以实现对用户请求的每个URL的监控,也可以实现对系统功能的监控,可见,本发明实施例在对WEB系统进行监控时,可以实时监控出功能异常点,并且扩大了监控的覆盖率,实现对WEB系统全面有效的监控。
相应地,本发明实施例又提供一种系统功能的监控系统,如图11所示,包括上述图6所示的功能模板统计装置100、图7所示的功能模板采集装置200、图8所示的功能模块标注装置300和上述图9所示的系统功能的监控装置400。
其中,上述系统功能的监控系统还包括:页面展示模块500。
页面展示模块500用于显示所述功能模板统计装置中获得的每个URL模板在每个单位周期内的总调用数、成功调用数或失败调用数构成的曲线示意图;
或者,页面展示模块500用于显示所述功能模板采集装置中获得的每个URL模板,以便于技术人员对URL模板进行编辑;
或者,页面展示模块500用于显示所述功能模块标注装置中获得的每个URL模板的功能描述,以便于技术人员对URL模板的功能描述进行编辑;
或者,页面展示模块500用于显示所述系统功能的监控装置中获得的报警信息,以便于技术人员及时进行查看。
需要说明的是,上述页面展示模块的功能不仅仅局限于上述所列出的各种,在对WEB系统进行监控中需要处理的数据,例如与URL模板相关的数据均可以通过上述页面展示模块进行显示。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。