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

一种信息获取的方法和装置

文献发布时间:2023-06-19 10:51:07


一种信息获取的方法和装置

技术领域

本公开涉及负载均衡技术领域,特别涉及一种信息获取的方法和装置。

背景技术

负载均衡是一种服务器的集群技术,负载均衡将业务(网络服务、网络流量等)分担给多个服务器,从而提高了业务处理能力,提升了整体的服务性能。

上述过程中,负载均衡设备通过一定的调度算法将业务分发到不同的服务器上,需要在负载均衡设备上配置服务器的相关信息,比如,服务器的IP地址、用途、联系人、位置等等,并且针对每个服务器都需要配置。目前,只能通过技术人员人工把服务器信息录入负载均衡设备进行配置,人工配置效率较低,准确性也较差,维持成本高。

发明内容

有鉴于此,本公开实施例提供一种信息获取的方法和装置。

具体地,本公开实施例是通过如下技术方案实现的:

第一方面,提供一种信息获取的方法,所述方法应用于负载均衡设备,包括:

扫描至少一个服务器并获取服务器信息;

从所述服务器信息中,确定目标服务器信息,所述目标服务器信息为所述负载均衡设备进行负载均衡管理的服务器的信息;

在服务器数据表中记录所述目标服务器信息。

第二方面,提供一种信息获取的装置,所述装置应用于负载均衡设备,包括:

扫描模块,用于扫描至少一个服务器并获取服务器信息;

确定模块,用于从所述服务器信息中,确定目标服务器信息,所述目标服务器信息为所述负载均衡设备进行负载均衡管理的服务器的信息;

记录模块,用于在服务器数据表中记录所述目标服务器信息。

第三方面,提供一种电子设备,所述设备包括存储器、处理器,所述存储器用于存储可在处理器上运行的计算机指令,所述处理器用于在执行所述计算机指令时实现本公开任一实施例所述的信息获取的方法。

第四方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现本公开任一实施例所述的信息获取的方法。

本公开提供的技术方案中负载均衡设备通过扫描服务器,获取和筛选服务器的有关信息,将需要进行负载均衡管理的服务器的信息,即目标服务器信息加入服务器数据表,提升了配置的准确率和效率。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本说明书。

附图说明

为了更清楚地说明本公开一个或多个实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开一个或多个实施例中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1是本公开实施例示出的一种信息获取的方法的流程图;

图2是本公开实施例示出的一种确定目标服务器信息的方法的流程图;

图3是本公开实施例示出的一种信息获取的装置的框图;

图4是本公开实施例示出的另一种信息获取的装置的框图;

图5是本公开实施例示出的一种电子设备的硬件结构示意图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书的一些方面相一致的装置和方法的例子。

在本说明书使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书。在本说明书和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。

应当理解,尽管在本说明书可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。

如图1所示,图1是本公开实施例示出的一种信息获取的方法的流程图,该方法可用于负载均衡设备,包括以下步骤:

步骤S11,扫描至少一个服务器并获取服务器信息。

服务器信息可以包括服务器的计算机名称、计算机描述、联系人、位置信息和端口信息等。

负载均衡设备可以对至少一个IP地址(Internet Protocol Address,互联网协议地址)进行扫描来发现服务器并获取服务器信息,也可以将网段分解成多个IP地址,对网段内的IP地址同时发起扫描,或者分批次扫描。比如,服务器数量大于1000时,那么每次对1000个服务器进行扫描,分多批次扫描。IP地址和网段可以由用户设定,也可以是由其他设备发送的。

本实施例对扫描方法不做限定,比如可以使用nmap(Network Mapper,网络扫描和嗅探工具包),nast(Network Analyzer Sniffer Tool,网络包嗅探和局域网分析工具)或Unicornscan(网络扫描工具)等扫描工具。

在一个示例中,可以使用SNMP(Simple Network Management Protocol,简单网络管理协议)工具对服务器进行扫描,被扫描的服务器可以是windows系统,windows系统的服务器自带snmp服务,也可以是linux系统,用户可以在linux系统的服务器上安装net-snmp软件。被扫描的服务器根据用户选择使用的SNMP协议已被配置完成,比如,选用SNMP v1/v2协议时,配置读团体字;选用SNMP v3协议时,配置用户名、认证协议、认证密码、加密协议和加密密码信息等。负载均衡设备根据SNMP协议对服务器进行扫描,比如,当服务器使用SNMPv2协议时,负载均衡设备相应地配置读团体字,默认为public,依据SNMPv2协议向已配置的服务器发送请求来获取服务器信息。

步骤S12,从所述服务器信息中,确定目标服务器信息。

所述目标服务器信息为所述负载均衡设备进行负载均衡管理的服务器的信息。

负载均衡设备在执行不同的业务时,对服务器有不同的要求,不同的负载均衡技术对服务器也有不同的要求,可以通过服务器信息判断服务器是否符合负载均衡设备要求。比如,服务器的一些端口未开放,则不能执行端口对应的业务,如80端口为浏览网页服务默认的端口号,主要是用于HTTP(Hyper Text Transport Protocol,超文本传输协议)服务,443端口为网页浏览端口,主要是用于HTTPS(Hyper Text Transfer Protocol overSecureSocket Layer,超文本传输安全协议)服务,如果服务器信息显示该服务器80端口和443端口未开放,则该服务器无法进行访问web业务。

步骤S13,在服务器数据表中记录所述目标服务器信息。

服务器数据表可以是负载均衡设备进行负载均衡管理时获取的需要管理的服务器的信息的列表。目标服务器信息可以包括服务器的本地信息和端口信息,还可以包括服务器的IP地址,每个服务器对应的目标服务器信息可以记录为服务器数据表中的一个表项。端口信息即为端口号。

本公开实施例中负载均衡设备通过扫描服务器,获取和筛选服务器的有关信息,将需要进行负载均衡管理的服务器的信息,即目标服务器信息加入服务器数据表,提升了配置的准确率和效率。

在本实施例或其他实施例中,所述扫描至少一个服务器并获取服务器信息,包括:

向处于至少一个预设网段中的所述至少一个服务器发送第一请求,所述第一请求用于请求获取服务器的本地信息。预设网段可以分解成多个IP地址,不一定每个IP地址都是服务器的IP地址,每个预设网段包括一个或多个服务器,向每个服务器发送的第一请求至少为一个,一般为多个,且多个第一请求可以不同。服务器的本地信息至少包括以下一项:计算机名称、计算机描述、联系人和位置信息。比如,负载均衡设备通过SNMP协议进行扫描时,每个第一请求用于向服务器请求获取一项服务器的本地信息,具体的一项本地信息对应一个OID(Object Identifier,对象标识符)。对于任意一台服务器,负载均衡设备发送多个第一请求到服务器的IP地址,每个第一请求携带不同的OID,如sysName(计算机名称)对应的OID为1.3.6.1.2.1.1.5,sysContact(联系人)对应的OID为1.3.6.1.2.1.1.4。在服务器的MIB(Management Information Base,管理信息库)节点中存储着OID对应的本地信息,服务器接收到第一请求后,返回负载均衡设备第一请求中OID对应的本地信息。

响应于接收到第一服务器的本地信息,则向所述第一服务器发送第二请求,所述第二请求用于请求获取所述第一服务器的端口信息。第一服务器为返回本地信息的服务器,服务器的端口信息可以是包括如下至少一项:TCP端口信息,UDP端口信息。服务器返回本地信息,说明服务器在线。进一步向第一服务器发送第二请求,为了获取端口信息,第二请求可以是获取tcpConnTable(TCP连接列表)的请求,也可以是获取udpTable(UDP连接列表)的请求。对于获取tcpConnTable的请求,服务器返回负载均衡设备一张TCP连接列表,TCP连接列表有多个表项,每个表项包含tcpConnState(TCP连接状态)、tcpConnLocalAddress(TCP连接本地地址)、tcpConnLocalPort(TCP连接本地端口)、tcpConnRemAddress(TCP连接远端地址)和tcpConnRemPort(TCP连接远端端口)五种字段,即TCP连接列表有五列多行。对于获取udpTable的请求,服务器返回负载均衡设备一张UDP连接列表,UDP连接列表有多个表项,每个表项包含udpLocalPort(UDP连接本地端口)、udpLocalAddress(UDP连接本地地址)两种字段,即UDP连接列表有两列多行。

在本实施例或其他实施例中,所述服务器信息可以包括所述服务器的端口信息,所述从所述服务器信息中,确定目标服务器信息,如图2所示,包括以下步骤:

步骤S121,基于所述服务器的端口信息,确定处于指定状态的端口。

服务器的端口对应着服务器进程,服务器进程就对应服务器业务,所以要对端口信息进行筛选,以此确定出符合负载均衡设备要求的目标服务器信息。每个服务器的端口信息可以包括TCP端口信息,UDP端口信息。指定状态一般为监听状态,也可以是其他状态。比如,对于TCP连接而言,包括:CLOSED,LISTEN,SYN_RCVD,SYN_SENT,ESTABLISHED,FIN_WAIT_1,FIN_WAIT_2,TIME_WAIT,CLOSING,CLOSE_WAIT,LAST_ACK,共11种状态。可以通过TCP连接状态来判断TCP端口是否为处于指定状态的端口。可以通过UDP连接的本地地址来判断UDP端口是否为处于指定状态的端口

继续沿用上例,TCP连接列表中tcpConnState有多种状态,其中,1表示CLOSED状态,2表示LISTEN状态,3表示SYN_SENT状态,4表示SYN_RCVD状态,5表示ESTABLISHED状态,等等。可以确定tcpConnState字段为2的表项对应的本地端口为处于指定状态的端口。可以确定UDP连接列表中udpLocalAddress字段为0.0.0.0的表项对应的本地端口为处于指定状态的端口。

当指定状态为监听状态时,处于指定状态的端口为监听端口,比如,TCP监听端口及UDP监听端口。

步骤S122,在所述处于指定状态的端口中,确定目标端口,其中,所述目标端口是不属于预设端口的端口。

预设端口为预先设置的系统内置常用端口,对于处于指定状态的端口,进一步过滤掉系统内置常用端口,系统内置常用端口一般不会被负载均衡所使用,所以要过滤掉系统内置常用端口。比如SSH 22端口、RPC135端口、NetBios 139端口及SSH445端口等。将过滤系统内置常用端口后剩下的处于指定状态的端口确定目标端口。

步骤S123,基于所述目标端口,确定所述目标服务器信息。

确定好目标端口后,可以确定目标端口对应的服务器的有关信息为目标服务器信息。目标服务器信息可以包括目标端口对应的服务器的本地信息,服务器的IP地址,及目标端口的端口号。

在本实施例中,目标端口可以为TCP监听端口和UDP监听端口,在服务器数据表中记录所述目标服务器信息后,服务器数据表的表项中可以包括:服务器IP地址、计算机名称、计算机描述、联系人、位置信息、TCP监听端口及UDP监听端口。

在本实施例或其他实施例中,在服务器数据表中记录所述目标服务器信息后,可以在负载均衡设备的显示器页面显示服务器数据表,或者将服务器数据表发送到其他设备,在其他设备的显示器页面来显示服务器数据表。还可以在页面查看扫描服务器的进度信息,比如,扫描256台服务器时,完成第一台服务器可以显示1/256,每扫描完成一台服务器后,标识该服务器扫描完成。

在本实施例或其他实施例中,还包括:基于删除指令,对所述服务器数据表执行删除操作。

其中,所述删除指令用于删除所述服务器数据表中第二服务器对应的目标服务器信息中的至少一项。

删除指令可以为删除指定服务器的所有目标服务器信息的指令,此时,可以删除服务器数据表中第二服务器对应的表项,删除所有目标服务器信息后,服务器数据表不再显示被删除的服务器。

当目标服务器信息包括目标端口信息时,删除指令还可以为删除指定服务器对应的第一目标端口信息的指令,此时,可以是删除服务器数据表中第二服务器对应的表项中的第一目标端口信息,删除服务器对应的第一目标端口信息后,服务器数据表不再显示第二服务器被删除的第一目标端口信息,仍然显示第二服务器对应的其他目标端口信息。

删除指令可以是接收用户通过负载均衡设备人机交互页面发送的指令,也可以是接收的其他设备发送的指令,比如客户端。第二服务器为服务器数据表中任意一个或多个已记录的服务器,第一目标端口信息为服务器数据表中已记录服务器对应的一个或多个目标端口信息。本方法可用于对目标服务器信息,特别是其中的目标端口信息,进一步审核及修正,将不关心的信息不再显示。

在上述实施例的基础上,所述方法还包括:

将被删除的所述第二服务器对应的目标服务器信息中的至少一项添加到候选服务器数据表中;

在执行删除操作后,将被删除的目标服务器信息中的至少一项移入候选服务器数据表。在候选服务器数据表中,被删除的每个服务器对应的目标服务器信息可以记录为候选服务器数据表中的一个表项。被删除的目标端口信息中对应同一服务器的目标端口信息也可以记录为候选服务器数据表中的一个表项。

基于恢复指令,将所述候选服务器数据表中的第三服务器对应的目标服务器信息中的至少一项添加到所述服务器数据表中。

恢复指令可以为恢复指定服务器的所有目标服务器信息的指令,此时,可以恢复候选服务器数据表中第三服务器对应的表项,恢复目标服务器信息后,服务器数据表重新显示被删除的第三服务器的所有目标服务器信息。

恢复指令可以为恢复指定服务器对应的第二目标端口信息的指令,此时,可以是恢复候选服务器数据表中第三服务器对应的表项中的第二目标端口信息,恢复指定服务器对应的第二目标端口信息后,服务器数据表重新显示第三服务器对应的表项里被删除的第二目标端口信息。

恢复指令可以是接收用户通过负载均衡设备人机交互页面发送的指令,也可以是接收的其他设备发送的指令,比如客户端。第三服务器属于第二服务器,第二目标端口信息为候选服务器数据表中服务器对应的一个或多个目标端口信息。相对于上个实施例,本实施例额外增加了候选服务器数据表,相当于设置了一个回收站,存放暂时不需要的目标服务器信息,以用于后续将需要的目标服务器信息恢复。

在本实施例或其他实施例中,所述方法还包括:

响应于任意两次获取到的第四服务器的服务器信息不一致,在所述服务器数据表中更新所述第四服务器对应的目标服务器信息。

第四服务器可以为任一被扫描的服务器,负载均衡设备可以定时扫描至少一个服务器并获取服务器信息。当任意两次,比如相邻两次或第一次和第九次,获取到的第四服务器的服务器信息不一致时,从所述服务器信息中,若能确定新的目标服务器信息,则在服务器数据表中更新所述目标服务器信息;若不能确定新的目标服务器信息,则不改动服务器数据表。

人工录入负载均衡设备进行配置的方法在服务器信息发生变动时,负载均衡设备无法同步更新,造成信息混乱,大大增加配置的工作量,对管理人员要求很高。而本实施例中负载均衡设备可以在服务器的信息发生变动的情况下,实时同步信息,避免了信息混乱,减轻运维负担。

在本实施例或其他实施例中,所述方法还包括:

按照预设周期获取并显示所述服务器数据表。

负载均衡设备在扫描获取服务器信息时,可以按照预设周期定时获取扫描结果,并在前端页面显示。比如,其前端页面显示服务器数据表可以采用ajax(AsynchronousJavascript And XML,异步JavaScript和XML)技术,即在页面与Web服务器之间使用异步数据传输,定时向后端请求扫描到的目标服务器信息并进行展示,不需要等扫描完后统一展示,可以避免阻塞前端页面,提升用户使用体验。

如图3所示,图3是本公开实施例示出的一种信息获取的装置的框图,所述装置应用于负载均衡设备,包括:

扫描模块21,用于扫描至少一个服务器并获取服务器信息;

确定模块22,用于从所述服务器信息中,确定目标服务器信息,所述目标服务器信息为所述负载均衡设备进行负载均衡管理的服务器的信息;

记录模块23,用于在服务器数据表中记录所述目标服务器信息。

本公开实施例提供的信息获取装置中负载均衡设备通过扫描服务器,获取和筛选服务器的有关信息,将需要进行负载均衡管理的服务器的信息,即目标服务器信息加入服务器数据表,提升了配置的准确率和效率。

如图4所示,图4是本公开实施例示出的另一种信息获取的装置的框图,在前述装置实施例的基础上,

所述扫描模块21,用于扫描至少一个服务器并获取服务器信息时,具体用于:

向处于至少一个预设网段中的所述至少一个服务器发送第一请求,所述第一请求用于请求获取服务器的本地信息;

响应于接收到第一服务器的本地信息,则向所述第一服务器发送第二请求,所述第二请求用于请求获取所述第一服务器的端口信息。

所述确定模块22,用于所述从所述服务器信息中,确定目标服务器信息,包括:

所述服务器信息包括所述服务器的端口信息;

基于所述服务器的端口信息,确定处于指定状态的端口;

在所述处于指定状态的端口中,确定目标端口,其中,所述目标端口是不属于预设端口的端口;

基于所述目标端口,确定所述目标服务器信息。

所述装置还包括:

删除模块24,用于基于删除指令,对所述服务器数据表执行删除操作;其中,所述删除指令用于删除所述服务器数据表中第二服务器对应的目标服务器信息中的至少一项。

恢复模块25,用于将被删除的所述第二服务器对应的目标服务器信息中的至少一项添加到候选服务器数据表中;基于恢复指令,将所述候选服务器数据表中的第三服务器对应的目标服务器信息中的至少一项添加到所述服务器数据表中。

更新模块26,响应于任意两次获取到的第四服务器的服务器信息不一致,在所述服务器数据表中更新所述第四服务器对应的目标服务器信息。

显示模块27,用于按照预设周期获取并显示所述服务器数据表。

上述装置中各个模块的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。

本公开实施例还提供了一种电子设备,如图5所示,所述电子设备包括存储器31、处理器32,所述存储器31用于存储可在处理器上运行的计算机指令,所述处理器32用于在执行所述计算机指令时实现本公开任一实施例所述的信息获取的方法。

本公开实施例还提供了一种计算机程序产品,该产品包括计算机程序/指令,该计算机程序/指令被处理器执行时实现本公开任一实施例所述的信息获取的方法。

本公开实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现本公开任一实施例所述的信息获取的方法。

对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本说明书方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。

本领域技术人员在考虑说明书及实践这里申请的发明后,将容易想到本说明书的其它实施方案。本说明书旨在涵盖本说明书的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本说明书的一般性原理并包括本说明书未申请的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本说明书的真正范围和精神由下面的权利要求指出。

应当理解的是,本说明书并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本说明书的范围仅由所附的权利要求来限制。

以上所述仅为本说明书的较佳实施例而已,并不用以限制本说明书,凡在本说明书的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书保护的范围之内。

相关技术
  • 图像信息获取装置、图像信息获取方法及图像信息获取程序
  • 信号交叉口信息获取装置、信号交叉口信息获取方法以及信号交叉口信息获取程序
技术分类

06120112707733