发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的网站检测并发数控制的方法和相应的网站检测并发数控制的装置。
依据本发明的一个方面,提供了一种网站检测并发数控制的方法,所述网站与网站服务器关联,所述的方法包括:
获取与网站关联的网站服务器的一个或多个负载数据;
将所述一个或多个负载数据分别与预设匹配表进行匹配,判定所述一个或多个负载数据对应的负载程度;
依据所述一个或多个负载数据对应的负载程度确定对所述网站的检测并发数;
依据所述检测并发数对所述网站进行检测。
可选地,所述负载数据包括内存使用量,所述网站服务器具有相应的内存量,所述内存量分别对应预设内存匹配表,所述将一个或多个负载数据分别与预设匹配表进行匹配,判定所述一个或多个负载数据对应的负载程度的步骤包括:
采用所述内存量确定对应的预设内存匹配表;
将所述内存使用量在所述预设内存匹配表中查找对应的内存负载程度。
可选地,所述负载数据包括中央处理器CPU占用率,所述将一个或多个负载数据分别与预设匹配表进行匹配,判定所述一个或多个负载数据对应的负载程度的步骤为:
将所述CPU占用率在预设CPU匹配表中查找对应的CPU负载程度。
可选地,所述负载数据包括磁盘输入输出接口IO读写速度,所述将一个或多个负载数据分别与预设匹配表进行匹配,判定所述一个或多个负载数据对应的负载程度的步骤为:
将所述磁盘输入输出接口IO读写速度在预设磁盘匹配表中查找对应的磁盘负载程度。
可选地,所述负载数据包括网络带宽,所述将一个或多个负载数据分别与预设匹配表进行匹配,判定所述一个或多个负载数据对应的负载程度的步骤为:
将所述网络带宽在预设网络带宽匹配表中查找对应的网络带宽负载程度。
可选地,所述依据一个或多个负载数据对应的负载程度确定对所述网站的检测并发数的步骤为:
将所述内存负载程度、CPU负载程度、磁盘负载程度和/或网络带宽负载程度采用预设并发数检测公式进行计算,获得检测并发数。
可选地,所述依据检测并发数对所述网站进行检测的步骤包括:
启动与所述并发检测数相应的预设检测线程并发对所述网站进行检测。
根据本发明的另一方面,提供了一种网站检测并发数控制的装置,所述网站与网站服务器关联,所述的装置包括:
获取模块,适于获取与网站关联的网站服务器的一个或多个负载数据;
匹配模块,适于将所述一个或多个负载数据分别与预设匹配表进行匹配,判定所述一个或多个负载数据对应的负载程度;
确定模块,适于依据所述一个或多个负载数据对应的负载程度确定对所述网站的检测并发数;
检测模块,适于依据所述检测并发数对所述网站进行检测。
可选地,所述负载数据包括内存使用量,所述网站服务器具有相应的内存量,所述内存量分别对应预设内存匹配表,所述匹配模块包括:
匹配表确定子模块,适于采用所述内存量确定对应的预设内存匹配表;
第一查找子模块,适于将所述内存使用量在所述预设内存匹配表中查找对应的内存负载程度。
可选地,所述负载数据包括中央处理器CPU占用率,所述匹配模块包括:
第二查找子模块,适于将所述CPU占用率在预设CPU匹配表中查找对应的CPU负载程度。
可选地,所述负载数据包括磁盘输入输出接口IO读写速度,所述匹配模块包括:
第三查找子模块,适于将所述磁盘输入输出接口IO读写速度在预设磁盘匹配表中查找对应的磁盘负载程度。
可选地,所述负载数据包括网络带宽,所述匹配模块包括:
第四查找子模块,适于将所述网络带宽在预设网络带宽匹配表中查找对应的网络带宽负载程度。
可选地,所述确定模块包括:
计算子模块,适于将所述内存负载程度、CPU负载程度、磁盘负载程度和/或网络带宽负载程度采用预设并发数检测公式进行计算,获得检测并发数。
可选地,所述检测模块包括:
线程启动子模块,适于启动与所述并发检测数相应的预设检测线程并发对所述网站进行检测。
在本发明实施例中获取与网站关联的网站服务器的一个或多个负载数据,然后将一个或多个负载数据分别与预设匹配表进行匹配,从而判定所述一个或多个负载数据对应的负载程度,最后根据负载程度确定对所述网站的检测并发数,进而检测服务器可以根据确定的检测并发数对所述网站进行检测。由于本发明实施例中可以根据网站的当前资源消耗程度,适度控制对网站进行检测的检测并发数,可以使得检测服务器对网站的安全检测不会影响网站的正常业务访问。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
参照图2,示出了根据本发明一个实施例的一种网站检测并发数控制的方法实施例的步骤流程图,所述网站可以与网站服务器关联,所述的方法具体可以包括如下步骤:
步骤101,获取与网站关联的网站服务器的一个或多个负载数据;
在具体实现中,通常一个网站服务器上有多个网站,网站服务器根据用户的访问顺序,按序为该网站分配令牌,根据该令牌用户可对网站进行访问,若干分配有多个令牌供用户可同时对网站进行访问。然而,网站服务器的资源是有限的,当超过网站服务器的负荷时,网站服务器不再分配令牌,那么其他用户将不能对网站进行访问。
因此,对于网站进行检测时,如果占用过多的网站服务器的资源,将会影响网站的正常业务访问。故在本发明实施例中,可以根据网站服务器的负载数据动态地控制对于网站的检测并发数,其中,网站服务器的负载数据是反映当前网站服务器资源消耗程度的数据。
步骤102,将所述一个或多个负载数据分别与预设匹配表进行匹配,判定所述一个或多个负载数据对应的负载程度;
在本发明实施例中,安装在网站服务器处的监控客户端获取得各项负载数据,对于不同的负载数据,可将其分别与对应的匹配表进行匹配,从而可以根据不同的负载数据确定网站服务器的在不同方面的负载程度。
在本发明的一种优选实施例中,所述负载数据可以包括内存使用量,所述网站服务器可以具有相应的内存量,所述内存量可以分别对应预设内存匹配表,所述步骤102可以包括如下子步骤:
子步骤S11,采用所述内存量确定对应的预设内存匹配表;
子步骤S12,将所述内存使用量在所述预设内存匹配表中查找对应的内存负载程度。
在本发明实施例中,对于网站服务器内存的使用情况进行监视。首先通过已知的网站服务器本身的内存量,确定将要进行匹配的内存匹配表,然后当前内存使用量,确定服务器内存的负载程度。
具体而言,当根据网站服务器本身的内存量确定对应的内存匹配表后,根据网站服务器的内存使用量在匹配表中查找到相应的内存负载程度,通俗地说,就是确定负载数据的高中低档。例如,针对16G的内存量的网站服务器:内存使用量在8G以下认为是低档,内存使用量在8G到15G认为是中档,内存使用量在15G以上是高档。具体可以参照表1的内存匹配表,其中左侧为网站服务器本身的内存量,上侧则为网站服务器当前的内存使用量,表内的1、2、3、4则分别表示内存负载程度。
表1:
假设当前服务器的内存使用量为14G,网站服务器内存量的总大小为16G,虽然当前内存使用量将近网站服务器内存量的总大小的百分之九十,但是实际上网站服务器本身还剩余有2G,而2G的内存量还可以继续供网站服务器一些资源消耗,因此可以将该网站服务器的内存负载程度,则可以将该网站服务器的内存负载程度确认为3,相当于中档的程序。
需要说明的是,上述数据仅仅是用作示例,数据未必准确,在具体应用中可以根据实际需求进行相应的设置,本发明实施例对此不加以限制。
在本发明的一种优选实施例中,所述负载数据可以包括中央处理器CPU占用率,所述步骤102可以包括如下子步骤:
子步骤S21,将所述CPU占用率在预设CPU匹配表中查找对应的CPU负载程度。
在本发明实施例中,对于网站服务器的CPU时间片进行监视。其中时间片是指CPU分配给各个程序的时间,程序的每个进程被分配一个时间段,我们称作它为时间片,即该进程允许运行的时间,使各个程序从表面上看是同时进行的。
首先通过API(Application Program Interface,应用程序编程接口)获取CPU为每一个进程所分配的CPU时间片的数量,然后将所有CPU时间片的数量加起来除以CPU总的时间片,就可以计算出网站服务器的CPU占用率。最后根据CPU占用率在匹配表中查找到相应的CPU负载程度。
在本发明的一种优选实施例中,所述负载数据可以包括磁盘输入输出接口IO读写速度,所述步骤102可以包括如下子步骤:
子步骤S31,将所述磁盘输入输出接口IO读写速度在预设磁盘匹配表中查找对应的磁盘负载程度。
在本发明实施例中,对于网站服务器的磁盘输入输出接口IO的情况进行监视。具体而言,统计在某一时间段内的进程在磁盘的输入多少数据,以及从磁盘的输出多少数据,然后计算出该网站服务器的磁盘输入输出接口IO读写速度。最后根据磁盘输入输出接口IO读写速度在匹配表中查找到相应的磁盘负载程度。
在本发明的一种优选实施例中,所述负载数据可以包括网络带宽,所述步骤102可以包括如下子步骤:
子步骤S41,将所述网络带宽在预设网络带宽匹配表中查找对应的网络带宽负载程度。
在本发明实施例中,还可以对于网站服务器的网络带宽的情况进行监视,具体而言,网络带宽是指在一个固定的时间内(例如1秒),能通过的最大位数据。可以理解,在网络带宽较小的情况下,在本发明实施例中可以确定为较大的网络带宽负载程度,在网络带宽较小的情况下,在本发明实施例中则可以确定为较小的网络带宽负载程度。
需要说明的是,在本发明实施例中也可以采用其他方式计算内存负载程度、CPU负载程度、磁盘负载程度和/或网络带宽负载程度,以及相应确定负载数据对应的负载程度,本发明实施例对此无需加以限制。
步骤103,依据所述一个或多个负载数据对应的负载程度确定对所述网站的检测并发数;
在本发明的一种优选实施例中,所述步骤103可以为如下子步骤:
子步骤S51,将所述内存负载程度、CPU负载程度、磁盘负载程度和/或网络带宽负载程度采用预设并发数检测公式进行计算,获得检测并发数。
在本发明具体应用的一种示例中,所述预设并发数检测公式可以为:
F(x,y,z)=ax+by+cz
其中,x表示内存负载程度,y表示CPU负载程度,z表示CPU负载程度,a,b,c则分别为x,y,z对应的权重值。a,b,c可设置。
需要说明的是,在本发明实施例中还可以在该公式内加入网络带宽负载程度,或者其他网站服务器的相关负载数据对应的负载程度,以更加全面地反应网站服务器的负载情况,本发明实施例对此不加以限制。当然,还可以只取其中一个或两个负载数据作为确定检测服务器对网站的并发检测数,本发明实施例同样对此不加以限制。
步骤104,依据所述检测并发数对所述网站进行检测。
在本发明的一种优选实施例中,所述步骤104可以为如下子步骤:
子步骤S61,启动与所述并发检测数相应的预设检测线程并发对所述网站进行检测。
在本发明实施例中,对于网站服务器的负载数据的检测,可以在网站服务器中进行,由网站服务器计算出各项负载数据后,再将其传输给检测服务器,由检测服务器根据匹配表分别查找出各项负载数据对应的负载程度,并综合网站服务器的各项负载程度动态调整当前允许对于网站的检测并发数,然后采用与该检测并发数相应数量的检测线程开始针对网站进行检测。由于本发明实施例中可以根据网站的当前资源消耗程度,也就是各项负载程度适度控制对网站进行检测的检测并发数,可以使得检测服务器对网站的安全检测不会影响网站的正常业务访问。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
参照图3,示出了根据本发明一个实施例的一种网站检测并发数控制的装置实施例的结构框图,所述网站可以与网站服务器关联,具体可以包括如下模块:
获取模块201,适于获取与网站关联的网站服务器的一个或多个负载数据;
匹配模块202,适于将所述一个或多个负载数据分别与预设匹配表进行匹配,判定所述一个或多个负载数据对应的负载程度;
在本发明的一种优选实施例中,所述负载数据可以包括内存使用量,所述网站服务器可以具有相应的内存量,所述内存量可以分别对应预设内存匹配表,所述匹配模块202可以包括如下子模块:
匹配表确定子模块,适于采用所述内存量确定对应的预设内存匹配表;
第一查找子模块,适于将所述内存使用量在所述预设内存匹配表中查找对应的内存负载程度。
在本发明的一种优选实施例中,所述负载数据可以包括中央处理器CPU占用率,所述匹配模块202可以包括如下子模块:
第二查找子模块,适于将所述CPU占用率在预设CPU匹配表中查找对应的CPU负载程度。
在本发明的一种优选实施例中,所述负载数据包括磁盘输入输出接口IO读写速度,所述匹配模块202可以包括如下子模块:
第三查找子模块,适于将所述磁盘输入输出接口IO读写速度在预设磁盘匹配表中查找对应的磁盘负载程度。
在本发明的一种优选实施例中,所述负载数据可以包括网络带宽,所述匹配模块202可以包括如下子模块:
第四查找子模块,适于将所述网络带宽在预设网络带宽匹配表中查找对应的网络带宽负载程度。
确定模块203,适于依据所述一个或多个负载数据对应的负载程度确定对所述网站的检测并发数;
在本发明的一种优选实施例中,所述确定模块203可以包括如下子模块:
计算子模块,适于将所述内存负载程度、CPU负载程度、磁盘负载程度和/或网络带宽负载程度采用预设并发数检测公式进行计算,获得检测并发数。
检测模块204,适于依据所述检测并发数对所述网站进行检测。
在本发明的一种优选实施例中,所述检测模块204可以包括如下子模块:
线程启动子模块,适于启动与所述并发检测数相应的预设检测线程并发对所述网站进行检测。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的网站检测并发数控制的设备中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
本发明实施例公开了A1、一种网站检测并发数控制的方法,所述网站与网站服务器关联,所述的方法包括:
获取与网站关联的网站服务器的一个或多个负载数据;
将所述一个或多个负载数据分别与预设匹配表进行匹配,判定所述一个或多个负载数据对应的负载程度;
依据所述一个或多个负载数据对应的负载程度确定对所述网站的检测并发数;
依据所述检测并发数对所述网站进行检测。
A2、如权利要求A1所述的方法,其特征在于,所述负载数据包括内存使用量,所述网站服务器具有相应的内存量,所述内存量分别对应预设内存匹配表,所述将一个或多个负载数据分别与预设匹配表进行匹配,判定所述一个或多个负载数据对应的负载程度的步骤包括:
采用所述内存量确定对应的预设内存匹配表;
将所述内存使用量在所述预设内存匹配表中查找对应的内存负载程度。
A3、如权利要求A1所述的方法,其特征在于,所述负载数据包括中央处理器CPU占用率,所述将一个或多个负载数据分别与预设匹配表进行匹配,判定所述一个或多个负载数据对应的负载程度的步骤为:
将所述CPU占用率在预设CPU匹配表中查找对应的CPU负载程度。
A4、如权利要求A1所述的方法,其特征在于,所述负载数据包括磁盘输入输出接口IO读写速度,所述将一个或多个负载数据分别与预设匹配表进行匹配,判定所述一个或多个负载数据对应的负载程度的步骤为:
将所述磁盘输入输出接口IO读写速度在预设磁盘匹配表中查找对应的磁盘负载程度。
A5、如权利要求A1所述的方法,其特征在于,所述负载数据包括网络带宽,所述将一个或多个负载数据分别与预设匹配表进行匹配,判定所述一个或多个负载数据对应的负载程度的步骤为:
将所述网络带宽在预设网络带宽匹配表中查找对应的网络带宽负载程度。
A6、如权利要求A1或A2或A3或A4或A5或所述的方法,其特征在于,所述依据一个或多个负载数据对应的负载程度确定对所述网站的检测并发数的步骤为:
将所述内存负载程度、CPU负载程度、磁盘负载程度和/或网络带宽负载程度采用预设并发数检测公式进行计算,获得检测并发数。
A7、如权利要求A1所述的方法,其特征在于,所述依据检测并发数对所述网站进行检测的步骤包括:
启动与所述并发检测数相应的预设检测线程并发对所述网站进行检测。
本发明实施例还公开了B8、一种网站检测并发数控制的装置,所述网站与网站服务器关联,所述的装置包括:
获取模块,适于获取与网站关联的网站服务器的一个或多个负载数据;
匹配模块,适于将所述一个或多个负载数据分别与预设匹配表进行匹配,判定所述一个或多个负载数据对应的负载程度;
确定模块,适于依据所述一个或多个负载数据对应的负载程度确定对所述网站的检测并发数;
检测模块,适于依据所述检测并发数对所述网站进行检测。
B9、如权利要求B8所述的装置,其特征在于,所述负载数据包括内存使用量,所述网站服务器具有相应的内存量,所述内存量分别对应预设内存匹配表,所述匹配模块包括:
匹配表确定子模块,适于采用所述内存量确定对应的预设内存匹配表;
第一查找子模块,适于将所述内存使用量在所述预设内存匹配表中查找对应的内存负载程度。
B10、如权利要求B8所述的装置,其特征在于,所述负载数据包括中央处理器CPU占用率,所述匹配模块包括:
第二查找子模块,适于将所述CPU占用率在预设CPU匹配表中查找对应的CPU负载程度。
B11、如权利要求B8所述的装置,其特征在于,所述负载数据包括磁盘输入输出接口IO读写速度,所述匹配模块包括:
第三查找子模块,适于将所述磁盘输入输出接口IO读写速度在预设磁盘匹配表中查找对应的磁盘负载程度。
B12、如权利要求B8所述的装置,其特征在于,所述负载数据包括网络带宽,所述匹配模块包括:
第四查找子模块,适于将所述网络带宽在预设网络带宽匹配表中查找对应的网络带宽负载程度。
B13、如权利要求B8或B9或B10或B11或B12或所述的装置,其特征在于,所述确定模块包括:
计算子模块,适于将所述内存负载程度、CPU负载程度、磁盘负载程度和/或网络带宽负载程度采用预设并发数检测公式进行计算,获得检测并发数。
B14、如权利要求B8所述的装置,其特征在于,所述检测模块包括:
线程启动子模块,适于启动与所述并发检测数相应的预设检测线程并发对所述网站进行检测。