掌桥专利:专业的专利平台
掌桥专利
首页

一种针对电力物联网设备信息的智能优化扫描方法

文献发布时间:2024-01-17 01:14:25


一种针对电力物联网设备信息的智能优化扫描方法

技术领域

本发明涉及于信息安全测试技术领域,尤其涉及一种针对电力物联网设备信息的智能优化扫描方法。

背景技术

传统扫描器的扫描特点是直接对任务进行多线程分发,这种扫描方法一般存在带宽的限制,当该节点任务量过多,服务器负载严重时,会造成服务器崩溃,从而造成扫描中断。

发明内容

为改善传统扫描器所带来的上述问题,本发明提出一种针对电力物联网设备信息的智能优化扫描方法,通过对网络负载状况以及CPU的负载状况计算服务器的健康值,智能化选择扫描集群,进一步降低了扫描集群中各个服务器的负载,从而保证了扫描的稳定性。

其具体包括以下技术内容:

一种针对电力物联网设备信息的智能优化扫描方法,其特征在于:通过对网络负载状况以及CPU的负载状况计算服务器的健康值,以智能化选择扫描集群:

服务器节点的健康值的计算公式为:

S=100*(BW_Overage/BW*r_1+CPU_Suite_Load/CPU_All_Load*r_2)

其中S是服务器的健康值,BW_Overage代表该服务器的剩余带宽,BW代表当前任务的总带宽需求,CPU_Suite_Load代表服务器的理想负载,CPU_All_Load代表服务器的当前总负载,r_1,r_2是影响因子,根据当前任务对带宽以及对CPU的需求程度动态的调节因子的值,r_1与r_2的和为1;如果S的值大于等于100,则代表当前服务器处于健康的状态;

通过服务器节点的计算公式,计算出扫描集群中每个服务器的健康值,然后进一步求出当前扫描集群的健康状况,设当前扫描集群中有N个扫描节点,每个扫描节点的健康值为S,则该集群的健康值的计算公式

设当前设置的扫描集群的健康阈值为Target_Score,如果Target_Score<Aver_Score,则代表当前扫描集群任务量堆积过多,CPU、网络负载严重,不适合继续向该扫描集群中继续添加任务;

通过输入目标IP所在的地址与扫描集群的地址,获得两者之间的距离;按照距离的远近进行排序,结合集群的健康值的分数,综合选择扫描集群。

进一步地,当前任务的总带宽需求BW的计算方法具体为:

BW=PS*PC*8bite/byte*r/t,其中BW是带宽的大小,PS是发送的每个数据包的大小,PC是并发数,8bite/byte是单位转换;t表示单次扫描用户所能等待的最长时间,超过最长执行时间,就不再等待对方返回数据包;

并发数量的的计算公式为:PC=PV/T*C*t*f,其中PC是并发数,PV是并发执行的任务数量,T是用户下发全部任务执行完成所需的时间,即执行完并发执行的任务数量PV所需要的时间,C是每次请求所需要的连接数。

进一步地,定义服务器的理想负载CPU_Suite_Load的计算公式为:

CPU_Suite_Load=0.7*N*r

其中0.7代表单核服务器的最理想负载,r是影响因数,根据实际的环境中动态的调节r的值,以改变CPU的理想负载,N是服务器中CPU的核数,如果是多核CPU,那么CPU的负载就是服务器的核数N乘以CPU的负载;CPU的实际负载CPU_All_Load的计算公式CPU_All_Load=CPU_Load*N,其中N代表CPU的核数,CPU_Load代表单核CPU的负载。

进一步地,综合选择扫描集群的具体方法包括:

1)将用户下发的任务IP地址,分发到距离该目标区域最近的扫描集群,当该扫描集群健康值低于阈值时,应将其分发到距离该区域距离第二近的扫描集群中进行扫描,依此类推;

2)为了进一步降低被防火墙拦截的风险,每一个IP地址对应的端口,应尽可能的分发到扫描集群中不同的扫描机器中进行轮询扫描,以避免单机扫描被防火墙拦截。

一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如上所述的一种针对电力物联网设备信息的智能优化扫描方法的步骤。

一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如上所述的一种针对电力物联网设备信息的智能优化扫描方法的步骤。

本发明及其优选方案通过对网络负载状况以及CPU的负载状况计算服务器的健康值,智能化选择扫描集群,进一步降低了扫描集群中各个服务器的负载,从而保证了扫描的稳定性。

附图说明

下面结合附图和具体实施方式对本发明进一步详细的说明:

图1为本发明实施例智能化选择扫描集群的任务分片示意图。

具体实施方式

为让本专利的特征和优点能更明显易懂,下文特举实施例,并配合附图,作详细说明如下:

在此需要说明的是,对于这些实施方式的说明用于帮助理解本发明,但并不构成对本发明的限定。此外,下面所描述的本发明各个实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互组合。

为实现发明目的,本发明实施例提供一种针对电力物联网设备信息的智能优化扫描方法,其要点包括如下步骤:

(1)首先需要对各个扫描集群的健康状况进行评估,即对扫描集群的负载状况评估,分为两步:

1)计算扫描集群中每个扫描节点的负载状况,得出每个扫描节点的健康值评分。

2)根据每个节点的健康值评分计算整个扫描集群的健康值。

为了更好的计算整个扫描集群的健康值,因此在对扫描集群的健康值计算之前,需要准确的计算每个扫描节点的健康值。每个扫描节点的负载主要来源于两个方面:

1)扫描时会发送大量的网络探测包,同时会接收目标设备发送回来的返回包,因此会大幅增加网络负载带宽。

2)数据清洗会增加CPU开销,以及磁盘的IO开销。

因此,本实施例方案每个扫描节点的健康的评估主要从两方面进行评估:

1)网络带宽负载状况评估。

2)CPU负载状况评估。

具体地,网络负载状况的评估主要分为两步,首先计算当前任务所需带宽,计算并发数量的公式PC=PV/T*C*t*f,其中PC是并发数,PV是并发执行的任务数量,T是用户下发全部任务执行完成所需的时间,即执行完并发执行的任务数量PV所需要的时间,C是每次请求所需要的连接数,t是单次扫描所能等待的最长时间,即超过最长执行时间,就不再等待对方返回数据包。

带宽的计算公式BW=PS*PC*8bite/byte*r/t,其中BW是带宽的大小,PS是发送的每个数据包的大小,PC是并发数,8bite/byte是单位转换。t表示单次扫描用户所能等待的最长时间,这个公式估计的是本次用户下发的任务的总带宽需求。

CPU负载进行评估时,主要通过统计t时间内的任务的队列长度,假设每隔t时间进行任务统计时,发现任务队列长度都是1,那么CPU负载就为1,意味着没有任务在排队。一般来说CPU负载小于0.7是一种理想状态,因此定义CPU的理想负载CPU_Suite_Load的计算公式CPU_Suite_Load=0.7*N*r。

其中0.7代表单核服务器的最理想负载,r是影响因数,用户可以根据实际的环境中动态的调节r的值,来改变CPU的理想负载,N是服务器中CPU的核数,如果是多核CPU,那么CPU的负载就是服务器的核数N乘以CPU的负载。CPU的实际负载(CPU_All_Load)的计算公式CPU_All_Load=CPU_Load*N,其中N代表CPU的核数,CPU_Load代表单核CPU的负载。

最后,通过网络负载状况以及CPU的负载状况计算服务器的健康值,健康值得评分总分是100分,当评分低于60代表当前服务器的负载十分严重,不建议继续添加任务。服务器的健康值的计算公式S=100*(BW_Overage/BW*r_1+CPU_Suite_Load/CPU_All_Load*r_2)。

其中S是服务器的健康值,BW_Overage代表该服务器的剩余带宽,BW代表当前任务的总带宽需求,CPU_Suite_Load代表服务器的理想负载,CPU_All_Load代表服务器的当前总负载,r_1,r_2是影响因子,用户可以根据当前任务对带宽以及对CPU的需求程度动态的调节因子的值,r_1与r_2的和为1。如果S的值大于等于100,则代表当前服务器处于十分健康的状态。

通过上述的服务器节点的计算公式,可以计算出扫描集群中每个服务器的健康值,然后可以进一步求出当前扫描集群的健康状况,假设当前扫描集群中有N个扫描节点,每个扫描节点的健康值为S,则该集群的健康值的计算公式

假设当前设置的扫描集群的健康阈值为Target_Score,如果Target_Score

(2)在评估了扫描集群的健康值之后,为了让用户下发的任务尽可能快的被执行,需要对用户下发的任务进行地址预处理。地址预处理主要执行以下两个任务:

1)需要将用户下发的任务IP地址,分发到距离该目标区域最近的扫描集群,当该扫描集群健康值较低时,应将其分发到距离该区域距离第二近的扫描集群中进行扫描,依次类推。

2)为了进一步降低被防火墙拦截的风险,每一个IP地址对应的端口,应尽可能的分发到扫描集群中不同的扫描机器中进行轮询扫描,避免单机扫描被防火墙拦截。

在本实施例方案当中,针对扫描集群与目标区域地址的计算较为简单,可以直接使用地图的API,通过输入目标IP所在的地址与扫描集群的地址,获得两者之间的距离。按照距离的远近进行排序,结合集群的健康值的分数,综合选择扫描集群。

当用户的任务下发到每个扫描集群后,为了降低单点服务器进行扫描时,容易被目标区域防火墙拦截的风险。从图1可以看到,通过对任务中的目的地址以及目的端口,进行hash,将其分发到扫描集群中和不同的扫描服务器。通过上述方式,一方面避免了单点扫描被防火墙识别的风险,另一方面,由于目标任务被分发到扫描集群中的各个服务器,进一步降低了扫描集群中各个服务器的负载,保证了扫描的稳定性。

以上结合附图对本发明的实施方式作了详细说明,但本发明不限于所描述的实施方式。对于本领域的技术人员而言,在不脱离本发明原理和精神的情况下,对这些实施方式进行多种变化、修改、替换和变型,仍落入本发明的保护范围内。

本实施例提供的以上系统及方法可以代码化的形式存储在计算机可读取存储介质中,并以计算机程序的方式进行实现,并通过计算机硬件输入计算所需的基本参数信息,并输出计算结果。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求保护范围之内。

本专利不局限于上述最佳实施方式,任何人在本专利的启示下都可以得出其它各种形式的一种针对电力物联网设备信息的智能优化扫描方法,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本专利的涵盖范围。

技术分类

06120116079297