一种IP探活方法、装置、电子设备及介质与流程

未命名 10-19 阅读:82 评论:0

一种ip探活方法、装置、电子设备及介质
技术领域
1.本技术涉及ip探活技术领域,尤其是涉及一种ip探活方法、装置、电子设备及介质。


背景技术:

2.识别并挖掘活跃的ip地址在网络应用中具有重大意义。现有不少提供ip探活的工具和软件,比如nmap、masscan和zmap等。这些工具能对指定的一段ip进行扫描,确定被扫描的ip段中哪些ip是有效的。
3.现有的扫描软件主要将ip段划分为固定大小的子网块,然后系统中的一个节点对一个子网块进行探测。这种方法的扫描效率高于单线程扫描的顺序探测方法,但每个子网块中的ip数据不同,导致系统中节点对ip的扫描效率也不相同,一些节点完成了其对应的子网块的扫描从而空闲下来,同时存在一些节点仍在执行扫描任务,导致扫描系统中节点资源未得到充分利用。


技术实现要素:

4.为了解决现有技术中ip探活方法中系统资源未得到充分利用导致扫描效率低的问题,本技术提供一种ip探活方法、装置、电子设备及介质。
5.为达到上述目的,本技术采用如下技术方案:第一方面,本技术提供一种ip探活方法,包括;对待探活的ip段分块,得到多个子网块;确定所述多个子网块与系统中多个节点的对应关系,并基于所述对应关系将每个子网块发送至对应的节点,以使每个节点对接收到的子网块进行扫描;实时监测系统内每个节点的负载信息,基于每个节点的所述负载信息确定每个节点的可用性和资源利用率,基于可用节点的资源利用率,为不可用节点对应的未扫描子网块,重新分配可用节点。
6.通过采用上述技术方案,将待探活的ip段划分成子网块,由各节点对分别对子网块进行扫描,然后监测系统内每个节点的负载信息,基于每个节点的负载信息确定每个节点的可用性和资源利用率,根据可用节点的资源使用情况,对不可用节点处的未扫描子网块动态分配可用节点,以便将不可用的节点处的子网块扫描任务重新分配给可用的节点,减少了资源浪费和负载不均衡的问题,使得系统中每个节点的资源得到充分利用,提高了系统的ip探活效率。
7.在一种可能的实现方式中,所述负载信息包括已用网络带宽、cpu利用率、内存利用率和已用磁盘空间;基于每个节点的所述负载信息确定每个节点的可用性,包括:当监测到节点的已用网络带宽、cpu利用率、内存利用率和已用磁盘空间中任一个的数值超过对应的阈值时,判定所述节点不可用;
当监测到所述节点的已用网络带宽、cpu利用率、内存利用率和已用磁盘空间的数值均未超过其对应的阈值时,判定所述节点可用。
8.通过采用上述技术方案,判断节点的负载信息中的多个负载指标的数值是否超过各自对应的阈值,判断节点是否可用,确定可用性的方式更加精准,进而能够有效筛选出可用节点,避免为不可用节点继续分配子网块扫描任务造成节点崩溃。
9.在一种可能的实现方式中,所述基于每个节点的所述负载信息确定每个节点的资源利用率,包括:根据每个节点的已用网络带宽,确定每个节点的网络带宽利用率,根据所述网络带宽利用率以及所述已用网络带宽的权重,确定第一数值;根据每个节点的cpu利用率以及cpu利用率的权重,确定第二数值;根据每个节点的内存利用率以及内存利用率的权重,确定第三数值;根据每个节点的已用磁盘空间,确定所述节点的磁盘空间利用率,根据所述磁盘空间利用率以及所述已用磁盘空间的权重,确定第四数值;针对每个节点,对所述第一数值、所述第二数值、所述第三数值以及所述第四数值求和,得到节点的资源利用率;其中,所述已用网络带宽的权重高于所述cpu利用率、所述内存利用率和所述已用磁盘空间各自对应的权重。
10.通过采用上述技术方案,针对节点的负载信息中不同负载指标对节点资源的影响程度不同,为不同的负载指标设置不同的权重,基于负载信息中多种负载指标以及各自对应的权重确定节点的精准的资源利用率。
11.在一种可能的实现方式中,所述基于可用节点的资源利用率,为不可用节点对应的未扫描子网块,重新分配可用节点,包括:获取不可用节点对应的未扫描子网块的优先级;基于可用节点的资源利用率以及所述未扫描子网块的优先级,为不可用节点对应的未扫描子网块,重新分配可用节点。
12.通过采用上述技术方案,同时考虑了未扫描子网块的优先级和节点的资源利用率,将优先级高的未扫描子网块率先分配给资源利用率低的可用节点,保证了优先级高的未扫描子网块能够被较快扫描,以及系统节点的负载均衡。
13.在一种可能的实现方式中,所述确定所述多个子网块与系统中多个节点的对应关系,包括:获取每个子网块的优先级,按照所述优先级由高到低对所述子网块进行排序,生成子网块列表;获取系统中每个节点的负载信息,基于所述负载信息确定节点的资源利用率,按照所述资源利用率由低到高对所述资源利用率不超过设定阈值的节点进行排序,生成节点列表;将所述子网块列表中的第一个子网块分配给所述节点列表中的第一个节点,将所述子网块列表中的第二个子网块分配给所述节点列表中的第二个节点,以此类推,直到所述子网块列表中的子网块分配完成,以得到所述多个子网块与系统中多个节点的对应关系。
14.通过采用上述技术方案,根据子网块的优先级和节点的资源利用率生成子网块列
表和节点列表,并将优先级高的子网块与资源使用率低的节点对应并分配,使得优先级高的子网块能够以更快的速度被扫描。
15.在一种可能的实现方式中,当所述对应关系中存在节点对应多个子网块的情况时,所述基于所述对应关系将每个子网块发送至对应的节点,包括:获取分块得到的多个子网块各自对应的优先级;基于所述对应关系,将每个子网块以及所述子网块的优先级发送至对应的节点,以使所述节点按照节点对应的子网块的优先级依次进行子网块的扫描。
16.通过采用上述技术方案,确定每个子网块的优先级,对同时存在多子网块扫描任务的节点,控制节点先扫描优先级高的子网块,保证了加急或重要任务更够被率先完成。
17.在一种可能的实现方式中,所述方法还包括:接收每个节点扫描子网块的结果;根据各个节点扫描子网块的结果生成ip探活结果报告并显示。
18.通过采用上述技术方案,将每个子网块的扫描结果汇总并展示出来,用户通过ip探活报告获得全面的ip探活结果,减少了信息分散和整理的工作量。
19.第二方面,本技术提供一种ip探活装置,包括:分块模块、分配模块以及调整模块;所述分块模块,用于对待探活的ip段分块,得到多个子网块;所述分配模块,用于确定所述多个子网块与系统中多个节点的对应关系,并基于所述对应关系将每个子网块发送至对应的节点,以使每个节点对接收到的子网块进行扫描;所述调整模块,用于实时监测系统内每个节点的负载信息,基于每个节点的所述负载信息确定每个节点的可用性和资源利用率,基于可用节点的资源利用率,为不可用节点对应的未扫描子网块,重新分配可用节点。
20.第三方面,本技术提供一种电子设备,包括:至少一个处理器;存储器;至少一个应用程序,其中至少一个应用程序被存储在存储器中并被配置为由至少一个处理器执行,所述至少一个应用程序配置用于:执行上述第一方面所述的探活方法。
21.第四方面,本技术提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令所述计算机执行上述第一方面所述的ip探活方法。
22.综上所述,本技术通过对待探活的ip段分块,从而将大的ip扫描任务分解成多个小任务。再确定子网块与系统中节点的对应关系,基于该对应关系将子网块发送至对应的节点,以使节点对其对应的子网块进行扫描。相较于单线程执行一个大的ip扫描任务,系统中的节点多线程执行多个较小的ip扫描任务的效率更高。然后实时监测系统内每个节点的负载信息,基于负载信息确定每个节点的可用性以及资源利用率,基于节点的资源利用率,将不可用性的节点对应的未扫描的部分子网块,重新分配给可用性的节点。这个过程是子网块的动态分配,将不可用的节点处的子网块扫描任务重新分配给可用的节点,实现了扫描任务的均衡分配。本技术减少了资源浪费和负载不均衡的问题,使得系统中每个节点的资源得到充分利用,提高了系统的ip探活效率。
附图说明
23.图1是本技术实施例提供的ip探活系统的结构示意图;图2是本技术实施例提供的ip探活方法的流程示意图;图3是本技术实施例提供的ip探活方法的分块示意图;图4是本技术实施例提供的ip探活方法的任务分配示意图;图5是本技术实施例提供的ip探活装置的结构示意图;图6是本技术实施例电子设备的示意图。
具体实施方式
24.以下结合附图1至附图6对本技术作进一步详细说明。
25.本具体实施例仅仅是对本技术的解释,其并不是对本技术的限制,本领域技术人员在阅读完本说明书后可以根据需要对本实施例做出没有创造性贡献的修改,但只要在本技术的权利要求范围内都受到专利法的保护。
26.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
27.另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“三种,如无特殊说明,一般表示前后关联对象是一种“或”的关系。
28.为了便于理解,下面结合ip探活系统的结构示意图进行介绍,如图1所示,ip探活方法由电子设备执行,该电子设备可以为服务器也可以为终端设备,其中,该服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云计算服务的云服务器。终端设备可以是智能手机、平板电脑、笔记本电脑、台式计算机等,但并不局限于此。电子设备与多个节点可以通过有线或无线通信方式进行直接或间接地连接。电子设备引入动态任务分配机制,能够根据节点负载和资源状况智能地分配子网块对应的ip探测任务。通过动态调整任务分配策略和节点数量,实现任务的均衡分配,避免资源的浪费和负载不均的问题。
29.参见图2,其示出了本技术实施例提供的ip探活方法的流程示意图,详述如下:s201、对待探活的ip段分块,得到多个子网块。
30.在实际的ip探活过程中,时常需要对大规模的ip段进行探活。在ip探活系统中,每个节点可以理解为一个用于执行ip扫描任务的线程,如果将待探活的大规模的ip段看作一个扫描任务并由一个节点执行扫描,会导致ip探活效率过低,同时执行ip扫描任务的节点负载过高,可能会造成节点崩溃。因此,需要对待探活的大规模的ip段进行分块处理,得到多个子网块,每个子网块中包含数量相同的ip,由系统中多个节点同时对子网块扫描,能够大大提高ip扫描效率。
31.在本实施例中,不对分块的方式进行限定,优选的可以根据系统中目标节点的节点数量以及要扫描的ip数量,对要扫描的ip段进行分块,目标节点是当前时刻没有执行任务的处于空闲状态的节点以及正在执行任务但该任务不会占据掉节点全部的资源还能够
再分配子网块扫描任务的节点。具体的,监测系统内节点的资源使用情况,基于各节点的资源使用情况,在系统中筛选出目标节点;然后获得系统内目标节点的数量和要扫描待探活的ip段的ip数量,并根据目标节点的数量和待探活的ip段的ip数量对待探活的ip段分块,得到多个子网块,或,根据所有目标节点各自对应的资源使用情况和待探活的ip段的ip数量对待探活的ip段分块,得到多个子网块。
32.在一种可实现的方式中,根据所有目标节点各自对应的资源使用情况和待探活的ip段的ip数量对待探活的ip段分块,得到多个子网块可以包括:根据每一目标节点各自对应的资源使用情况以及使用阈值,确定使用差值,使用阈值为节点能够正常使用的最高值;按照各个目标节点的使用差值的比例以及待探活的ip段的ip数量,进行分块处理,得到每个目标节点对应的子网块,具体的分块细节本技术实施例不再进行限定,可根据实际需求设置。
33.在一种可实现的方式中,根据目标节点的数量和待探活的ip段的ip数量对待探活的ip段分块,得到多个子网块,可以包括:计算得到要扫描的ip数量和目标节点的参考数量的比值,比值就是每个划分的子网块中包含的ip数量,目标节点的参考数量是目标节点的数量最接近2的指数的数量;按照比值对待探活的ip段分块,得到多个子网块。但由于ip是二进制数值,子网块划分的数量只能是2的指数,因此,选取与目标节点数量最接近的2的指数即目标节点的参考数量,作为划分的子网块数量,根据要扫描的ip数量和要划分的子网块数量,即可求得每个子网块中包含的ip数量。
34.以下通过一个具体的实施例说明ip段的子网块划分过程:参见图3,其示出了本技术实施例提供的ip探活方法的分块示意图。如图3所示,需要扫描一个地址为10.10.0.0/16的ip段,16表示指定网络的子网掩码长度,根据ip特性可以得出,10.10.0.0/16是一个32比特的b类ip地址,地址的前16位是网络部分,后16位是主机部分,这个网络中可以容纳2
16
,即65536个主机,对应65536个ip地址。图3中将ip段中32个比特按8比特为一节进行划分,从而将32比特的ip段(10.10.0.0/16)划分为4节,左边2节为网络部分,右边2节为主机部分。
35.假设系统中目标节点数量为250个,28为与目标节点数量最相近的可划分子网块数量,因此,将ip段划分为256个子网块,每个子网块中包含65536/256=256个ip。此时,划分后ip段为10.10.0.0/24,划分后的子网掩码长度为24,相较于划分之前的子网掩码长度,子网掩码长度增加了8,表明主机部分被借用了8个比特作为子网号,即前24位变为网络部分,后8位变为主机部分。如图3所示,划分后的ip段(10.10.0.0/24)的前3节为网络部分,后1节为主机部分。这样划分能够创建256个子网块,每个子网块能够容纳256个主机,也就是将大ip段分解成了256个子网块扫描任务,每个子网块扫描任务中包含了256个ip地址。然后将划分得到的256个子网块分配给不同的节点进行并行扫描。
36.通过上述技术方案,将大的ip段划分为更小的子网块,并采用并行扫描的方式对每个子网块进行探测。这样可以充分利用并行计算和多线程处理的优势,大大提高ip探活的效率,减少扫描时间。
37.s202、确定多个子网块与系统中多个节点的对应关系,并基于对应关系将每个子网块发送至对应的节点,以使每个节点对接收到的子网块进行扫描。
38.在节点进行子网块扫描之前,可以根据子网块和节点的特点制定子网块分配策
略,子网块分配策略包含了子网块与系统中节点的对应关系。可以对子网块进行随机分配以确定对应关系,当然还可以根据每个子网块的优先级以及每个节点的负载信息进行分配得到对应关系。其中,当子网块的数量小于或等于系统中节点数量时,每个子网块对应一个节点。当子网块数量大于系统中节点数量时,每个节点至少分配一个子网块。
39.每个节点在接收到被分配的子网块扫描任务后,可以使用多线程并行的方式对分配到的子网块进行扫描,节点内部的多线程机制能够同时处理多个ip地址,加快扫描速度。
40.s203、实时监测系统内每个节点的负载信息,基于每个节点的负载信息确定每个节点的可用性和资源利用率,基于可用节点的资源利用率,为不可用节点对应的未扫描子网块,重新分配可用节点。
41.本技术实施例不会只将需要的子网块扫描任务分配给各个节点,还会根据节点的不同的情况进行自适应的调整,实时监测系统中的资源状况,以得到各个节点的负载信息,负载信息包括已用网络带宽、cpu利用率、内存利用率和已用磁盘空间中的一项或者多项。通过资源监测以及分析,可以了解系统资源的使用情况和可用性。
42.节点扫描被分配的子网块时会消耗节点的资源,由于某些子网块中ip地址数据多且复杂,导致扫描这些子网块需要消耗更多的节点资源,长时间的扫描过程可能会使节点的资源利用率超过预设资源利用率阈值,进而导致这些节点不可用,预设资源利用率阈值可根据实际经验设置。还有一些子网块内ip数据较少,子网块扫描过程可能会过早的结束,使得一些节点空闲下来,而其它节点仍在进行ip扫描,系统中的节点资源未得到充分利用,进而影响系统ip扫描效率。
43.因此,如果发现某些节点的资源使用情况超标或者节点已经不再可用,将这个节点的子网块转而分配给其它具有可用性的节点。通过负载均衡,可以避免节点负载过重或负载不均衡的问题,提高整个系统的性能和吞吐量。
44.通过上述技术方案,将待探活的ip段划分成子网块,由各节点对分别对子网块进行扫描,然后监测系统内每个节点的负载信息,基于每个节点的负载信息确定每个节点的可用性和资源利用率,根据可用节点的资源使用情况,对不可用节点处的未扫描子网块动态分配可用节点,以便将不可用的节点处的子网块扫描任务重新分配给可用的节点,减少了资源浪费和负载不均衡的问题,使得系统中每个节点的资源得到充分利用,提高了系统的ip探活效率。
45.在一些实施例中,负载信息包括已用网络带宽、cpu利用率、内存利用率和已用磁盘空间;基于每个节点的负载信息确定每个节点的可用性,包括:当监测到节点的已用网络带宽、cpu利用率、内存利用率和已用磁盘空间中任一个的数值超过对应的阈值时,判定节点不可用;当监测到节点的已用网络带宽、cpu利用率、内存利用率和已用磁盘空间的数值均未超过其对应的阈值时,判定节点可用。
46.在本实施例中,负载信息包含四个负载指标,具体为:已用网络带宽、cpu利用率、内存利用率和已用磁盘空间。网络带宽表示在单位时间内能传输的数据量,cpu利用率表示节点运行的程序占用的cpu资源,内存利用率表示虚拟内存已经使用的空间量的值,已用磁盘空间表示硬盘或存储设备上已经使用的存储空间。本实施例为每个负载指标设置一个阈
值,其中,任一个负载指标超过对应的阈值,判定节点不可用,每个阈值可以是根据经验设置。
47.通过上述技术方案,采用多种负载指标综合判定节点的可用性,能够及时发现不可用节点,避免节点的资源使用超过节点可承受的限度。
48.在一些实施例中,基于每个节点的负载信息确定每个节点的资源利用率,包括:根据每个节点的已用网络带宽,确定每个节点的网络带宽利用率,根据网络带宽利用率以及已用网络带宽的权重,确定第一数值;根据每个节点的cpu利用率以及cpu利用率的权重,确定第二数值;根据每个节点的内存利用率以及内存利用率的权重,确定第三数值;根据每个节点的已用磁盘空间,确定节点的磁盘空间利用率,根据磁盘空间利用率以及已用磁盘空间的权重,确定第四数值;针对每个节点,对第一数值、第二数值、第三数值以及第四数值求和,得到节点的资源利用率;其中,已用网络带宽的权重高于cpu利用率、内存利用率和已用磁盘空间各自对应的权重。
49.在本实施例中,节点的负载信息中已用网络带宽、cpu利用率、内存利用率和已用磁盘空间对负载的贡献程度各不相同,其中,已用网络带宽对节点负载的影响最大。因此,在基于负载信息确定节点的资源利用率的过程中,可以为已用网络带宽设置最大的权重,也即已用网络带宽的权重》cpu利用率的权重、内存利用率的权重、已用磁盘空间的权重,具体的权重数值可根据实际需求设置。
50.以下通过一个具体实施例来说明基于负载信息确定节点资源利用率的过程:假设已用网络带宽、cpu利用率、内存利用率和已用磁盘空间的权重分别设置为0.75、0.1、0.08、0.07。节点在单位时间内能传输的最大数据量为1000,即该节点的网络带宽为1000,当前时刻节点中已经使用的网络带宽为400,那么节点的网络带宽利用率为40%,计算可得第一数值为40%
×
0.75=0.3。同理,可以根据cpu利用率、内存利用率和已用磁盘空间各自的权重,分别计算得到第二数值、第三数值和第四数值。将第一数值、第二数值、第三数值和第四数值相加,得到节点的资源利用率。
51.通过上述技术方案,基于已用网络带宽、cpu利用率、内存利用率、已用磁盘空间以及各自对应的阈值,能够精准计算得到节点的资源利用率,通过资源利用率的数值可以直观看出节点的资源使用情况。
52.在一些实施例中,基于可用节点的资源利用率,为不可用节点对应的未扫描子网块,重新分配可用节点,包括:获取不可用节点对应的未扫描子网块的优先级;基于可用节点的资源利用率以及未扫描子网块的优先级,为不可用节点对应的未扫描子网块,重新分配可用节点。
53.在本实施例中,一些节点在扫描被分配的子网块的过程中,节点资源使用变多,导致该节点从可用变为不可用,需要对不可用节点的未扫描子网块重新分配可用节点。首先,可以获取不可用节点的未扫描子网块的数量和优先级。优先级是根据子网块扫描任务的紧急程度和重要程度人为设置并输入的。
54.当不可用节点未扫描子网块数量小于可用节点数量时,按照子网块优先级和节点
资源利用率,将优先级高的未扫描子网块一一对应分配给资源利用率低的节点,以保证优先级高网块能够被快速完成扫描。
55.当不可用节点未扫描子网块数量大于可用节点时,按照子网块优先级和节点资源利用率,可以将优先级高的未扫描子网块一一对应分配给资源利用率低的节点,直到每个节点被分配一个子网块,下一个待分配的子网块重新分配给资源利用率最低的节点。也可以根据子网块数量和节点数量,为资源利用率较低的部分节点分配多个子网块,比如,当子网块数量超过节点数量但不超过节点数量的二倍时,按优先级由高到低对子网块进行排序,排序结果中第一个和第二个子网块分配给资源利用率最低的节点,第三个和第四个子网块分配给资源利用率第二低的节点,以此类推,直到子网块分配完成。具体分配过程中,可以根据子网块和节点的数量,灵活调整分配模式,在此不作限定。
56.在本实施例中,通过实时监测系统的负载和资源情况,能够自适应地调整任务分配和节点数量。根据实际情况进行智能调整,确保系统始终在最佳状态下运行,提高扫描效率和资源利用率。
57.在一些实施例中,s202:确定多个子网块与系统中多个节点的对应关系,包括:s2021-s2023(附图未示出),其中:s2021、获取每个子网块的优先级,按照优先级由高到低对子网块进行排序,生成子网块列表。
58.在本实施例中,在进行子网块分配之前,可以基于实际需求对每个子网块设置优先级,对于时间比较紧急或是重要程度较高的扫描任务,可以为对应的子网块设置较大的优先级。
59.s2022、获取系统中每个节点的负载信息,基于负载信息确定节点的资源利用率,按照资源利用率由低到高对资源利用率不超过设定阈值的节点进行排序,生成节点列表。
60.一些情况下,系统中的节点在接收被分配的子网块时,节点不是都处于空闲状态,节点可能正在执行任务,这些任务占据了节点资源。节点的资源利用率表示节点的资源使用情况,资源利用率低的节点还能承载的子网块扫描任务更多且扫描速度更快,但节点的资源利用率过高可能会导致节点崩溃。其中,节点的资源利用率可以是根据已用网络带宽、cpu利用率、内存利用率和已用磁盘空间中的任意一项或者多项确定。优选的,为根据上述四项共同确定,具体确定过程可参考前述的实施例。
61.s2023、将子网块列表中的第一个子网块分配给节点列表中的第一个节点,将子网块列表中的第二个子网块分配给节点列表中的第二个节点,以此类推,直到子网块列表中的子网块分配完成,以得到多个子网块与系统中多个节点的对应关系。
62.图4是本技术实施例提供的ip探活方法的任务分配示意图,如图4所示,在将ip段扫描任务进行分块之后,会将分块好的子网块ip扫描任务分配给不同的节点进行探活任务,进而,先监测系统的负载情况,以便实时收集关于各个节点的负载信息,包括已用网络带宽、cpu利用率、内存利用率和已用磁盘空间等指标,能够得到多种节点的信息,包括节点的可用性、性能特征和当前的负载情况。
63.通过对节点负载情况的监测,可以了解系统的当前状态和资源状况。基于负载监测的结果,会制定合适的任务分配策略,该策略考虑系统资源利用率、节点的负载均衡以及子网块的优先级等因素。根据任务分配策略,根据节点负载和资源状况智能地分配子网块
探测任务。通过动态调整任务分配策略和节点数量,实现任务的均衡分配,避免资源的浪费和负载不均的问题。
64.在制定子网块分配策略时,只对资源利用率不超过设定阈值的节点分配子网块,并将优先级高的子网块率先分配给资源利用率低的节点。因此,优先级高的子网块更够被率先扫描完成,还能使系统的节点负载均衡。
65.在一些实施例中,当存在节点对应多个子网块的情况时,基于多个子网块与系统中多个节点的对应关系,将每个子网块以及子网块的优先级发送至对应的节点,以使节点依次选取优先级最高的一个子网块进行扫描。
66.在本实施例中,当子网块的数量大于或等于系统中节点的数量时,子网块和节点之间就不是唯一对应关系,可以为每个节点随机分配一个或多个子网块。在扫描系统中,每个节点一次执行一个扫描任务,系统中多个节点采用多线程并行的方式同时执行各自被分配的ip扫描任务,能够加速扫描进程,提升工作效率。一些节点的待执行任务有多个,节点在执行完当前时刻正在执行的子网块扫描任务后,选取待扫描的子网块中优先级最高的一个执行,这样能够保证优先级高的子网块更够被更早扫描。
67.在一些实施例中,上述ip探活方法还包括:接收每个节点扫描子网块的结果;根据各个节点扫描子网块的结果生成ip探活结果报告并显示。
68.在本实施中,每个节点完成各自的ip扫描任务后,将扫描结果汇总到电子设备。电子设备接收并整合所有节点的扫描结果,形成完整的ip探活报告,确保了ip探活结果的完整性和准确新。ip探活报告包括被扫描主机的存活状态等信息,可以通过设备的显示屏呈现结果数据,也可以汇总生成文档发送至用户端。用户通过ip探活报告获得全面的ip探活结果,减少了信息分散和整理的工作量,有利于用户进行网络管理和安全评估。
69.基于上述任一实施例,本技术实施例提供了一种ip探活方法,通过对待探活的ip段分块,得到多个子网块,从而将大的ip扫描任务分解成多个小任务。划分子网块和并行扫描利用了多线程和并行计算的优势,加速了扫描过程。再确定子网块与系统中节点的对应关系,基于该对应关系将子网块发送至对应的节点,以使节点对其对应的子网块进行扫描。相较于单线程执行一个大的ip扫描任务,系统中的节点多线程执行多个较小的ip扫描任务的效率更高。然后实时监测系统内每个节点的负载信息,基于负载信息确定每个节点的可用性以及资源利用率,基于节点的资源利用率,将不可用性的节点对应的未扫描的部分子网块,重新分配给可用性的节点。动态任务分配和资源优化机制确保任务均衡分配和资源最优利用,提高系统的稳定性和性能。最终,通过结果汇总和报告生成,用户可以获得全面准确的ip探活结果,帮助他们进行网络管理和安全评估。
70.上述实施例从方法流程的角度介绍一种方法,下述实施例从虚拟模块或者虚拟单元的角度介绍了一种ip探活装置,具体详见下述实施例。参见图5,其示出了本技术实施例提供的ip探活装置的结构示意图,为了便于说明,仅示出了与本技术实施例相关的部分,如图5所示,ip探活装置5包括:分块模块501、分配模块502和调整模块503。
71.其中,分块模块501,用于对待探活的ip段分块,得到多个子网块。
72.分配模块502,用于确定多个子网块与系统中多个节点的对应关系,并基于对应关系将每个子网块发送至对应的节点,以使每个节点对接收到的子网块进行扫描。
73.调整模块503,用于实时监测系统内每个节点的负载信息,基于每个节点的负载信
息确定每个节点的可用性和资源利用率,基于可用节点的资源利用率,为不可用节点对应的未扫描子网块,重新分配可用节点。
74.在一种可能的实现方式中,分配模块502在执行确定多个子网块与系统中多个节点的对应关系时用于:获取每个子网块的优先级,按照优先级由高到低对子网块进行排序,生成子网块列表;获取系统中每个节点的负载信息,基于负载信息确定节点的资源利用率,按照资源利用率由低到高对资源利用率不超过设定阈值的节点进行排序,生成节点列表;将子网块列表中的第一个子网块分配给节点列表中的第一个节点,将子网块列表中的第二个子网块分配给节点列表中的第二个节点,以此类推,直到子网块列表中的子网块分配完成,以得到多个子网块与系统中多个节点的对应关系。
75.在一种可能的实现方式中,分配模块502在执行当对应关系中存在节点对应多个子网块的情况时,基于对应关系将每个子网块发送至对应的节点时用于:获取分块得到的多个子网块各自对应的优先级;基于对应关系,将每个子网块以及子网块的优先级发送至对应的节点,以使节点按照节点对应的子网块的优先级依次进行子网块的扫描。
76.在一种可能的实现方式中,调整模块503在执行基于每个节点的负载信息确定每个节点的可用性时用于:当监测到节点的已用网络带宽、cpu利用率、内存利用率和已用磁盘空间中任一个的数值超过对应的阈值时,判定节点不可用;当监测到节点的已用网络带宽、cpu利用率、内存利用率和已用磁盘空间的数值均未超过其对应的阈值时,判定节点可用。
77.在一种可能的实现方式中,调整模块503在执行基于每个节点的负载信息确定每个节点的资源利用率时用于:根据每个节点的已用网络带宽,确定每个节点的网络带宽利用率,根据网络带宽利用率以及已用网络带宽的权重,确定第一数值;根据每个节点的cpu利用率以及cpu利用率的权重,确定第二数值;根据每个节点的内存利用率以及内存利用率的权重,确定第三数值;根据每个节点的已用磁盘空间,确定节点的磁盘空间利用率,根据磁盘空间利用率以及已用磁盘空间的权重,确定第四数值;针对每个节点,对第一数值、第二数值、第三数值以及第四数值求和,得到节点的资源利用率;其中,已用网络带宽的权重高于cpu利用率、内存利用率和已用磁盘空间各自对应的权重。
78.在一种可能的实现方式中,调整模块503在执行基于可用节点的资源利用率,为不可用节点对应的未扫描子网块,重新分配可用节点时用于:获取不可用节点对应的未扫描子网块的优先级;基于可用节点的资源利用率以及未扫描子网块的优先级,为不可用节点对应的未扫描子网块,重新分配可用节点。
79.在一种可能的实现方式中,ip探活装置,还包括:
接收模块,用于接收每个节点扫描子网块的结果;生成与显示模块,用于根据各个节点扫描子网块的结果生成ip探活结果报告并显示。
80.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
81.本技术实施例中提供了一种电子设备,如图6所示,图6所示的电子设备600包括:处理器601和存储器603。其中,处理器601和存储器603相连,如通过总线602相连。可选地,电子设备600还可以包括收发器604。需要说明的是,实际应用中收发器604不限于一个,该电子设备600的结构并不构成对本技术实施例的限定。
82.处理器601可以是cpu(central processing unit,中央处理器),通用处理器,dsp(digital signal processor,数据信号处理器),asic(application specific integrated circuit,专用集成电路),fpga(field programmable gate array,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本技术公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器601也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,dsp和微处理器的组合等。
83.总线602可包括一通路,在上述组件之间传送信息。总线602可以是pci(peripheral component interconnect,外设部件互连标准)总线或eisa(extended industry standard architecture,扩展工业标准结构)总线等。总线602可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一条粗线表示,但并不表示仅有一根总线或一型的总线。
84.存储器603可以是rom(read only memory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,ram(random access memory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是eeprom(electrically erasable programmable read only memory,电可擦可编程只读存储器)、cd-rom(compact disc read only memory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
85.存储器603用于存储执行本技术方案的应用程序代码,并由处理器601来控制执行。处理器601用于执行存储器603中存储的应用程序代码,以实现前述方法实施例所示的内容。
86.其中,电子设备包括但不限于:移动电话、笔记本电脑、数字广播接收器、pda(个人数字助理)、pad(平板电脑)、pmp(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字tv、台式计算机等等的固定终端。还可以为服务器等。图6示出的电子设备仅仅是一个示例,不应对本技术实施例的功能和使用范围带来任何限制。
87.本技术实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,当其在计算机上运行时,使得计算机可以执行前述方法实施例中相应内容。与相关技术相比,本技术实施例通过将待探活的ip段划分成子网块,由各节点对分别对子网
块进行扫描,然后监测系统内每个节点的负载信息,基于每个节点的负载信息确定每个节点的可用性和资源利用率,根据可用节点的资源使用情况,对不可用节点处的未扫描子网块动态分配可用节点,以便将不可用的节点处的子网块扫描任务重新分配给可用的节点,减少了资源浪费和负载不均衡的问题,使得系统中每个节点的资源得到充分利用,提高了系统的ip探活效率。
88.应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
89.以上仅是本技术的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本技术原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本技术的保护范围。

技术特征:
1.一种ip探活方法,其特征在于,包括:对待探活的ip段分块,得到多个子网块;确定所述多个子网块与系统中多个节点的对应关系,并基于所述对应关系将每个子网块发送至对应的节点,以使每个节点对接收到的子网块进行扫描;实时监测系统内每个节点的负载信息,基于每个节点的所述负载信息确定每个节点的可用性和资源利用率,基于可用节点的资源利用率,为不可用节点对应的未扫描子网块,重新分配可用节点。2.根据权利要求1所述的方法,其特征在于,所述负载信息包括已用网络带宽、cpu利用率、内存利用率和已用磁盘空间;基于每个节点的所述负载信息确定每个节点的可用性,包括:当监测到节点的已用网络带宽、cpu利用率、内存利用率和已用磁盘空间中任一个的数值超过对应的阈值时,判定所述节点不可用;当监测到所述节点的已用网络带宽、cpu利用率、内存利用率和已用磁盘空间的数值均未超过其对应的阈值时,判定所述节点可用。3.根据权利要求2所述的方法,其特征在于,所述基于每个节点的所述负载信息确定每个节点的资源利用率,包括:根据每个节点的已用网络带宽,确定每个节点的网络带宽利用率,根据所述网络带宽利用率以及所述已用网络带宽的权重,确定第一数值;根据每个节点的cpu利用率以及cpu利用率的权重,确定第二数值;根据每个节点的内存利用率以及内存利用率的权重,确定第三数值;根据每个节点的已用磁盘空间,确定所述节点的磁盘空间利用率,根据所述磁盘空间利用率以及所述已用磁盘空间的权重,确定第四数值;针对每个节点,对所述第一数值、所述第二数值、所述第三数值以及所述第四数值求和,得到节点的资源利用率;其中,所述已用网络带宽的权重高于所述cpu利用率、所述内存利用率和所述已用磁盘空间各自对应的权重。4.根据权利要求1所述的方法,其特征在于,所述基于可用节点的资源利用率,为不可用节点对应的未扫描子网块,重新分配可用节点,包括:获取不可用节点对应的未扫描子网块的优先级;基于可用节点的资源利用率以及所述未扫描子网块的优先级,为不可用节点对应的未扫描子网块,重新分配可用节点。5.根据权利要求1所述的方法,其特征在于,所述确定所述多个子网块与系统中多个节点的对应关系,包括:获取每个子网块的优先级,按照所述优先级由高到低对所述子网块进行排序,生成子网块列表;获取系统中每个节点的负载信息,基于所述负载信息确定节点的资源利用率,按照所述资源利用率由低到高对所述资源利用率不超过设定阈值的节点进行排序,生成节点列表;将所述子网块列表中的第一个子网块分配给所述节点列表中的第一个节点,将所述子网块列表中的第二个子网块分配给所述节点列表中的第二个节点,以此类推,直到所述子
网块列表中的子网块分配完成,以得到所述多个子网块与系统中多个节点的对应关系。6.根据权利要求1所述的方法,其特征在于,当所述对应关系中存在节点对应多个子网块的情况时,所述基于所述对应关系将每个子网块发送至对应的节点,包括:获取分块得到的多个子网块各自对应的优先级;基于所述对应关系,将每个子网块以及所述子网块的优先级发送至对应的节点,以使所述节点按照节点对应的子网块的优先级依次进行子网块的扫描。7.根据权利要求1所述的方法,其特征在于,所述方法还包括:接收每个节点扫描子网块的结果;根据各个节点扫描子网块的结果生成ip探活结果报告并显示。8.一种ip探活装置,其特征在于,包括:分块模块、分配模块以及调整模块;所述分块模块,用于对待探活的ip段分块,得到多个子网块;所述分配模块,用于确定所述多个子网块与系统中多个节点的对应关系,并基于所述对应关系将每个子网块发送至对应的节点,以使每个节点对接收到的子网块进行扫描;所述调整模块,用于实时监测系统内每个节点的负载信息,基于每个节点的所述负载信息确定每个节点的可用性和资源利用率,基于可用节点的资源利用率,为不可用节点对应的未扫描子网块,重新分配可用节点。9.一种电子设备,其特征在于,该电子设备包括:至少一个处理器;存储器;至少一个应用程序,其中至少一个应用程序被存储在存储器中并被配置为由至少一个处理器执行,所述至少一个应用程序配置用于:执行权利要求1-7任一项所述的ip探活方法。10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,当所述计算机程序在计算机中执行时,令所述计算机执行权利要求1-7任一项所述的ip探活方法。

技术总结
本申请涉及IP探活技术领域,尤其是涉及一种IP探活方法、装置及电子设备。其方法包括:对待探活的IP段分块,得到多个子网块;确定多个子网块与系统中多个节点的对应关系,并基于对应关系将每个子网块发送至对应的节点,以使每个节点对其接收到的子网块进行扫描;然后实时监测系统内每个节点的负载信息,基于负载信息确定每个节点的可用性和资源利用率,基于节点的资源利用率,将不可用的节点对应的未扫描的部分子网块,重新分配给可用的节点。本申请通过将子网块分配给对应的节点,并根据各节点的资源利用情况对节点的子网块扫描任务进行动态分配,使得系统中每个节点的资源得到充分利用,提高了系统的IP探活效率。提高了系统的IP探活效率。提高了系统的IP探活效率。


技术研发人员:王昊天
受保护的技术使用者:上海螣龙科技有限公司
技术研发日:2023.07.08
技术公布日:2023/10/8
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

航空商城 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

评论

相关推荐