CN109889379B - 数据采集方法、装置、管理设备及存储介质 - Google Patents

数据采集方法、装置、管理设备及存储介质 Download PDF

Info

Publication number
CN109889379B
CN109889379B CN201910101456.XA CN201910101456A CN109889379B CN 109889379 B CN109889379 B CN 109889379B CN 201910101456 A CN201910101456 A CN 201910101456A CN 109889379 B CN109889379 B CN 109889379B
Authority
CN
China
Prior art keywords
information
target
login
management server
template
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910101456.XA
Other languages
English (en)
Other versions
CN109889379A (zh
Inventor
李丙海
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
New H3C Technologies Co Ltd
Original Assignee
New H3C Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by New H3C Technologies Co Ltd filed Critical New H3C Technologies Co Ltd
Priority to CN201910101456.XA priority Critical patent/CN109889379B/zh
Publication of CN109889379A publication Critical patent/CN109889379A/zh
Application granted granted Critical
Publication of CN109889379B publication Critical patent/CN109889379B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)
  • Telephonic Communication Services (AREA)

Abstract

本公开提供一种数据采集方法、装置、管理设备及存储介质,应用于网管系统中的管理设备,该网管系统还包括多个被管理设备,每个被管理设备具有一管理服务器。管理设备获取需要访问的目标被管理设备的属性信息以及该目标被管理设备对应的目标管理服务器的访问信息;从预存的配置文件中查找与目标被管理设备的属性信息关联的目标配置文件;根据访问信息和目标配置文件模拟用户对目标管理服务器的访问操作,以使目标管理系统返回目标被管理设备的设备信息。如此,可以不必依赖被管理设备提供的信息交互接口来采集被管理设备的设备信息。

Description

数据采集方法、装置、管理设备及存储介质
技术领域
本公开涉及网络管理技术领域,具体而言,涉及一种数据采集方法、装置、管理设备及存储介质。
背景技术
网管系统包括管理设备和被管理设备,管理设备需要采集被管理设备的CPU、内存、网卡等部件的运行信息,以实现对被管理设备的远程监控。相关技术中,网管系统中的管理设备通常基于被管理设备提供的信息交互接口来获取被管理设备的设备信息,以实现对被管理设备的监控。其中,该信息交互接口通常基于特定的信息交互协议或标准实现。
然而,在实际应用中存在如下情况,导致管理设备无法获取被管理设备的设备信息:第一,被管理设备不支持上述特定的信息交互协议或标准;第二,被管理设备没有提供信息交互接口的规范和说明;第三,一些老旧的被管理设备没有提供对外的信息交互接口。
发明内容
有鉴于此,本公开的目的包括提供一种数据采集方法、装置、管理设备及存储介质,以至少部分地改善上述问题。
为了达到上述目的,本公开采用如下技术方案:
第一方面,本公开提供一种数据采集方法,应用于网管系统中的管理设备,该网管系统还包括多个被管理设备,每个被管理设备具有一管理服务器;所述方法包括:
获取需要访问的目标被管理设备的属性信息及所述目标被管理设备对应的目标管理服务器的访问信息;
从预存的配置文件中查找与所述属性信息关联的目标配置文件;
根据所述访问信息和所述目标配置文件模拟用户对所述目标管理服务器的访问操作,以使所述目标管理服务器返回所述目标被管理设备的设备信息。
第二方面,本公开提供一种数据采集装置,应用于网管系统中的管理设备,该网管系统还包括多个被管理设备,每个被管理设备具有一管理服务器;所述装置包括:
获取模块,用于获取需要访问的目标被管理设备的属性信息及所述目标被管理设备对应的目标管理服务器的访问信息;
查找模块,用于从预存的配置文件中查找与所述属性信息关联的目标配置文件;
模拟登录模块,用于根据所述访问信息和所述目标配置文件模拟用户对所述目标管理服务器的访问操作,以使所述目标管理服务器返回所述目标被管理设备的设备信息。
第三方面,本公开提供一种管理设备,包括处理器及机器可读存储介质,所述机器可读存储介质存储有机器可执行指令,所述机器可执行指令促使所述处理器实现:本公开第一方面提供的数据采集方法。
第四方面,本公开提供一种存储介质,该存储介质存储有机器可执行指令,该机器可执行指令被执行时,实现本公开第一方面提供的数据采集方法。
相对于现有技术而言,本公开具有以下有益效果:
本公开提供一种数据采集方法、装置、管理设备及存储介质,应用于网管系统中的管理设备,该网管系统还包括多个被管理设备,每个被管理设备具有一管理服务器。管理设备获取需要访问的目标被管理设备的属性信息及目标被管理设备对应的目标管理服务器的访问信息,从预存的配置文件中查找与该属性信息关联的目标配置文件;根据访问信息和目标配置文件模拟用户对目标管理服务器的访问操作,以使目标管理服务器返回目标被管理设备的设备信息。如此,可以不必依赖于被管理设备提供的信息交互接口对被管理设备的设备信息进行采集,从而实现对各被管理设备的有效监控和纳管。
附图说明
为了更清楚地说明本公开的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本公开提供的一种网管系统10的架构示意图;
图2为本公开提供的一种数据采集方法的流程示意图;
图3为图2所示步骤S23的一种子步骤示意图;
图4为图3所示步骤S31的一种子步骤示意图;
图5为图3所示步骤S32的一种子步骤示意图;
图6为图3所示步骤S32的又一种子步骤示意图;
图7为本公开提供的数据采集方法的又一流程示意图;
图8(a)为本公开提供的一种登录请求模板的示意图;
图8(b)为本公开提供的一种登录响应模板的示意图;
图9(a)为本公开提供的一种采集请求模板的示意图;
图9(b)为本公开提供的一种采集响应模板的示意图;
图10(a)、(b)和(c)为本公开提供的又一种采集请求模板的三个示意图;
图11(a)、(b)和(c)为本公开提供的又一种采集响应模板的三个示意图;
图12为本公开提供的一种管理设备的硬件结构示意图;
图13为本公开提供的一种数据采集装置的功能模块框图。
具体实施方式
在一些生产系统(例如金融机构、科研机构等的生产系统)中,存在大量设备,当其中任意一台设备出现问题时,如果不及时处理,整个生产系统的数据将出现问题或整个生产系统将无法正常运行,从而造成无法估量的损失。针对上述问题,相关技术中通常采用管理设备来对上述生产系统中的设备进行纳管,其中,管理设备和被纳管的设备组成一网管系统,被纳管的设备可以称为被管理设备。
管理设备主要通过以下方式采集被管理设备的设备信息:
第一,被管理设备的设备信息存储于被管理设备的管理信息库(ManagementInformationBase,MIB)的私有节点中,管理设备采用简单网络管理协议(SimpleNetworkManagementProtocol,SNMP)获取MIB的相应私有节点的信息。
第二,管理设备通过被管理设备提供的信息交互接口,例如表述性状态转移(RepresentationalStateTransfer,REST)接口来获取被管理设备的设备信息。
上述方式存在一定缺陷:
第一种方式,需要被管理设备开启SNMP服务,一旦被管理设备不支持或无法开启SNMP服务,管理设备将无法获取该被管理设备的设备信息;管理设备需要依照MIB的私有节点的规范和说明来获取该私有节点的信息,一旦无法获取该私有节点的规范和说明,将无法获取被管理设备的设备信息。
第二种方式,管理设备需要依照被管理设备对外提供的接口信息来从相应的信息交互接口获取数据,一旦无法获得被管理设备提供的接口信息,将无法获得被管理设备的设备信息;一些老旧的被管理设备没有提供对外的信息交互接口,管理设备无法获取这些被管理设备的设备信息。
经研究发现,为了便于用户管理和进行设备维护,生产厂商通常会为其生产的被管理设备提供一管理服务器,用户通过登录该管理服务器可以在可视化界面上查看该被管理设备的设备信息,例如该被管理设备的设备基本信息、部件信息及配置信息等。可选地,所述管理服务器通常可以为Web服务器,所述可视化界面可以是Web页面。
基于此,本公开提供一种数据采集方法、装置及管理设备,通过模拟用户对被管理设备的管理服务器的访问操作,从该管理服务器获取该被管理设备的设备信息。
针对以上方法所存在的缺陷,均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程及下文中本公开针对上述问题所提出的解决方案,都应该是发明人在发明过程中对本公开所做的贡献。
下面将结合本公开中的附图,对本公开中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
请参照图1,图1是本公开提供的一种网管系统10的交互示意图。网管系统10包括管理设备100及多个被管理设备,该多个被管理设备例如可以是图1所示的300A、300B和300C。
其中,管理设备100可以是运行有管理组件的设备(例如服务器)。
被管理设备可以是服务器、交换机、存储设备等网络设备。每个被管理设备具有一管理服务器,该管理服务器中存储有该被管理设备的设备信息,所述设备信息可以包括处理器(CentralProcessingUnit,CPU)、内存、网卡等部件的基本信息、运行信息及配置信息等。
本实施例中描述的管理服务器通常为web服务器,用户可以通过浏览器登录管理服务器,从而查看相应被管理设备的设备信息。在一种实施方式中,管理服务器可以部署在与相应的被管理设备通信连接的服务器或服务器集群上。在此情况下,被管理设备和管理服务器可以是一一对应的关系,也可以是多个被管理设备共用一个管理服务器,本实施例对此没有限制。
示例性地,在图1示出的场景中,被管理设备300A具有管理服务器400A,被管理设备300B具有管理服务器400B,被管理设备300C具有管理服务器400C。
请参照图2,图2是本公开提供的一种应用于图1所示的管理设备100的数据采集方法的流程示意图。下面对该方法包括的各个步骤进行描述。
步骤S21,获取需要访问的目标被管理设备的属性信息及所述目标被管理设备对应的目标管理服务器的访问信息。
在本实施例中,管理设备100可以对多个设备进行纳管,该多个设备均为本公开中描述的被管理设备。
管理设备100中存储有纳管的各被管理设备的属性信息及所述各被管理设备各自对应的管理服务器的访问信息。其中,所述属性信息可以包括被管理设备的厂商信息和型号信息。所述访问信息可以包括管理服务器的用户登录信息、通信协议类型、访问地址及服务端口标识。
其中,所述用户登录信息例如可以包括用户名和密码。所述通信协议类型例如可以是HTTP(Hyper Text Transfer Protocol,超文本传输协议)、HTTPS(HTTP over SecureSocket Layer或HTTPSecure,超文本传输安全协议)等,所述访问地址可以唯一地标识所述管理服务器,例如可以是管理服务器的IP(InternetProtocol,网络协议)地址或域名。所述服务端口标识通常与所使用的通信协议类型相关,例如当通信协议类型为HTTP或HTTPS时,服务端口标识通常为80,但并不限于此。
在本实施例中,管理设备100中可以预先指定有需要访问的被管理设备,所述需要访问的被管理设备即为本实施例中的目标被管理设备,所述目标被管理设备对应的管理服务器即为本实施例中的目标管理服务器。值得说明的是,预先指定的目标被管理设备可以有一个或多个,本实施例不以此为限制。
在一种实施方式中,管理设备100可以按照预设的周期发送获取目标被管理设备的属性信息及目标被管理设备对应的目标管理服务器的访问信息;
在又一种实施方式中,管理设备200可以通过用户触发,在接收到用户发出的操作指令时,获取该用户操作指定的目标被管理设备的属性信息及该目标被管理设备对应的目标管理服务器的访问信息。
步骤S22,从预存的配置文件中查找与所述属性信息关联的目标配置文件。
在本实施例中,考虑到具有相同属性信息的被管理设备所对应的管理服务器具有相似性,访问这些管理服务器所需的访问操作也类似,因此,在本实施例中,配置文件是按照设备属性信息的不同进行配置和存储的。
详细地,管理设备100中预存有和不同属性信息关联的配置文件,例如,可以根据厂商信息和型号信息等的不同来预先设置配置文件。在获取到目标被管理设备的属性信息时,可以查找与获取到的属性信息关联的配置文件,该配置文件即为所述目标配置文件。
在此值得说明的是,当所述属性信息包括厂商信息和型号信息时,若两个被管理设备的厂商信息和型号信息中的至少一个不同,则将这两个被管理设备的属性信息视作不同。
在本实施例中,管理设备100是在保存的所有配置文件中查找与所述属性信息关联的配置文件,需要查找的数据量较大。为了避免不必要的查找操作,对于任意被管理设备的属性信息,若管理设备100中存储有与该属性信息关联的配置文件,则可以在管理设备100的特定位置保存该属信息。如此,对于任意需要访问的被管理设备,管理设备100可以先查找所述特定位置是否保存有该被管理设备的属性信息,若否,则可以不必根据该被管理设备的属性信息查找配置文件,从而可以避免不必要的查找。
此外,在本实施例中,可以按照厂商信息的不同,将所关联的厂商信息相同的配置文件保存到一个文件夹中。如此,在进行配置文件查找时,可以直接根据目标被管理设备的厂商信息确定文件夹,再在确定的文件夹中查找与目标被管理设备的型号信息关联的配置文件作为目标配置文件,从而避免查找所有的配置文件,可以进一步提高查找效率。
步骤S23,根据所述访问信息和所述目标配置文件模拟用户对所述目标管理服务器的访问操作,以使所述目标管理服务器返回所述目标被管理设备的设备信息。
在本实施例中,目标管理服务器是指目标被管理设备的管理服务器,例如当被管理设备300A是目标被管理设备时,管理服务器400A为目标管理服务器;又如,当被管理设备300C是目标被管理设备时,管理服务器400C为目标管理服务器。
上述实施例中,在获取到目标被管理设备的属性信息后确定与该属性信息关联的目标配置文件以及目标管理服务器的访问信息,从而可以根据访问信息和目标配置文件模拟登陆目标管理服务器,进而获取到目标被管理设备的设备信息,从而可以在不使用被管理设备提供的信息交互接口的情况下采集到该被管理设备的设备信息。换言之,即便在无法获取到被管理设备的信息交互接口的规范和说明,或者被管理设备未提供信息交互接口的情况下,仍能采集到该被管理设备的设备信息,实现对该被管理设备的有效监控和纳管。
在相关技术中,用户通常通过特定客户端(例如,浏览器)来访问目标管理服务器,其具体过程如下:
第一,用户可以通过所述特定客户端访问目标管理服务器的登录页面,在该登录页面手动输入用户登录信息,并触发登录。所述特定客户端响应用户的触发,向目标管理服务器发送一登录请求。
第二,目标管理服务器在接收到所述登录请求时,根据用户登录信息进行身份验证,若验证通过则生成登录权限信息,在目标管理系统中保存一份所述登录权限信息,在登录响应页面中设置一份所述登录权限信息,并将设置有所述登录权限信息的登录响应页面返回给管理设备100。
第三,成功登录后,所述特定客户端通常会显示一特定页面,该特定页面显示有可供用户操作的页面标签,当用户操作所述页面标签时,所述特定客户端将向目标管理服务器发送用于获取目标被管理设备的设备信息的数据采集请求,该数据采集请求中携带有上述的登录权限信息。
第四,目标管理服务器将携带有所述登录权限信息的数据采集请求视作已登录用户的请求,根据该数据采集请求返回相应的采集响应页面,该采集响应页面包括所述设备信息。
因此,本实施例中,所述访问操作可以包括登录操作和数据采集操作。在此情况下,步骤S23可以包括图3所示的步骤。
步骤S31,根据所述访问信息和所述目标配置文件模拟用户对所述目标管理服务器进行所述登录操作,得到所述目标管理服务器返回的登录权限信息。
在本实施例中,模拟所述登录操作可以是指生成用于登录目标管理服务器的登录请求,以获得目标管理服务器返回的登录权限信息。
步骤S32,根据所述登录权限信息、所述访问信息和所述目标配置文件模拟用户对所述目标管理服务器进行所述数据采集操作,得到所述目标管理服务器返回的包括所述设备信息的采集响应页面。
在本实施例中,模拟所述数据采集操作可以是指生成用于从目标管理服务器获取包括所述设备信息的采集响应页面的数据采集请求,并发送至目标管理服务器。
其中,当所述访问信息包括的通信协议类型为HTTP或HTTPS时,所述目标管理服务器返回的响应页面(包括上述的登录响应页面和采集响应页面)可以是HTML(HyperTextMarkup Language,超文本标记语言)页面。
可选地,在本实施例中,所述目标配置文件可以包括相互对应的登录请求模板和登录响应模板。其中,所述登录请求模板和所述登录响应模板中分别设置有标识信息,具有相同标识信息登录请求模板和登录响应模板中可以视作相互对应。
所述登录请求模板中设置有登录所述目标管理服务器需要的登录请求参数;所述登录响应模板设置有第一位置信息,所述第一位置信息用于指示需要从登录响应页面中获取的信息在该登录响应页面中的位置。举例来说,若需要从登录响应页面获取的信息为登录权限信息,则第一位置信息可以用于指示登录权限信息在登录响应页面中的位置。
在上述情况下,步骤S31可以包括如图4所示的两个步骤:
步骤S41,根据所述访问信息及所述登录请求参数生成登录请求,并发送至所述目标管理服务器。
在实施时,可以将所述访问信息和所述登录请求模板中设置的登录请求参数按照预设顺序进行拼接,从而得到所述登录请求。其中,所述访问信息可以包括上述的用户登录信息、通信协议类型、访问地址及服务端口标识。
其中,所述登录请求模板中设置的登录请求参数可以包括:登录请求的请求方式,具体可以为GET方式、POST方式等;以及登录响应页面的访问路径等。
此外,登录请求的请求头中通常具有以下字段:
内容类型(Content-Type)字段,表示登录请求提交的内容类型;
接收(Accept)字段,表示请求发送端能够接收的内容类型;
用户代理(User-Agent)字段,表示发送请求的浏览器的类型信息;
接收语言(Accept-Language)字段,表示请求发送端在展示接收到的响应页面时优先选择的语言;
连接(Connection)字段,表示是否需要持久连接;
Referer字段,表示请求的来源页面的URL地址。
对应地,所述登录请求模板中设置的登录请求参数还可以包括用于设置在上述字段中的值,或用于设置在上述部分字段中的值。其中,如上文描述的,登录请求通常是从目标管理服务器提供的所述登录页面发出的,因此,所述Referer字段的值可以是目标管理服务器提供的所述登录页面的URL地址。
当然,所述登录请求参数还可以包括其他内容,具体可以根据目标管理服务器的不同来进行设置。
在本实施例中,管理设备100中可以通过客户端编程工具包创建一客户端,可以将生成的登录请求作为参数传递给所述客户端,从而将所述登录请求发送给目标管理服务器。以所述访问信息中的通信协议类型是HTTP或HTTPS为例,所述客户端编程工具包可以是HttpClient。
在一些特定场景中,当一些登录请求参数发生改变时,根据所述访问信息和所述登录请求参数生成登录请求的过程也有所不同。
例如,如果所述登录请求模板中设置的请求方式为POST方式,则管理设备100生成的登录请求包括一请求体,所述访问信息中包括的用户登录信息被设置于该请求体中;
如果所述登录请求模板中设置的请求方式为GET方式,则管理设备100根据所述登录请求参数以及所述访问信息中除用户登录信息之外的其它信息生成所述登录请求,再将所述登录请求和所述访问信息中包括的用户登录信息一并作为参数传递给所述客户端,从而将所述登录请求和所述用户登录信息一并发送给目标管理服务器。
步骤S42,接收所述目标管理服务器针对所述登录请求返回的登录响应页面,根据所述第一位置信息从所述登录响应页面获取所述登录权限信息。
在本实施例中,管理设备100可以通过采用HttpClient创建的所述客户端来接收所述登录响应页面。
可选地,所述登录响应模板中还可以设置有登录响应页面的数据格式。在此情况下,管理设备100在接收到登录响应页面时,可以将登录响应模板中设置的数据格式确定为该登录响应页面的数据格式,从而调用与该数据格式对应的解析工具来从所述第一位置信息指示的位置搜索所述登录权限信息。
在本实施例中,所述第一位置信息可以包括所述登录权限信息在所述登录响应页面所处的区域以及所处的字段。其中,所述登录权限信息在所述登录响应页面所处的区域具体可以用所述登录权限信息在所述登录响应页面中所处的页面标签来表示。如此,可以通过查找所述登录权限信息所处的页面标签来划定一较小的解析范围,再在该解析范围中查找设置所述登录权限信息的字段,从而可以避免对整个登录响应页面中的所有字段进行查找,提高了效率。
在获取到所述登录权限信息之后,管理设备100可以对所述登录权限信息进行保存,以便后续根据所述登录权限信息模拟进行数据采集操作。因此,在本实施例中,所述登录响应模板中还可以设置有第一字段,所述第一字段中设置有用于存储获取到的所述登录权限信息的数据对象的名称。管理设备100在从所述登录响应页面中获取到所述登录权限信息后,可以以所述登录响应模板中的第一字段的值为名称创建一数据对象,并将所述登录权限信息保存到创建的数据对象中,当模拟进行所述数据采集操作时,再从该数据对象中获取所述登录权限信息进行使用。
在一些应用场景中,目标管理服务器对于登录权限信息有格式要求,例如要求登录权限信息的指定位置存在预设字符。在此情况下,所述登录响应模板中还可以设置有与目标管理服务器对登录权限信息的格式要求匹配的处理模板。则,管理设备100在将获取到的登录权限信息保存到所述第一字段之前,可以按照所述处理模板对所述登录权限信息进行处理。
详细地,管理设备100可以获取该处理模板,并将所述登录权限信息填充于该处理模板中,从而得到符合目标管理服务器的要求的登录权限信息并存储于所述第一字段中。
在本实施例中,所述目标被管理设备包括多个部件,例如CPU、控制器、存储器、网卡等。管理设备100可能需要对所述多个部件中的至少一个进行监控和纳管,因此,所述设备信息包括至少一个部件的部件信息。
在一些应用场景中,一个部件的部件信息位于一个采集响应页面上,即该部件信息可以通过一个数据采集请求获取到。为便于描述,在此将这种部件信息约定为第一部件信息。在本实施例中,若所述设备信息包括的部件信息均为第一部件信息,则针对需要的每个第一部件信息,可以在目标配置文件中设置用于获取该第一部件信息所需的采集请求参数,并将其封装成一个采集请求模板。
在此情况下,所述目标配置文件中还可以包括至少一个采集请求模板。对应地,如图5所示,步骤S32可以包括图5所示的步骤。
步骤S51,针对每个采集请求模板,根据所述访问信息、所述登录权限信息及该采集请求模板中配置的采集请求参数生成数据采集请求。
其中,所述采集请求参数可以包括:请求方式,具体可以为GET方式、POST方式等;需要的部件信息的访问路径等。
此外,相关技术中的数据采集请求通常也可以包括上述的Content-Type字段、Accept字段、Accept-Language字段、Connection字段及Referer字段等,则所述采集请求参数还可以包括用于设置在以上字段中的值。
在实施时,管理设备100可以将所述访问信息、所述登录权限信息和所述采集请求参数按照一定顺序拼接形成所述数据采集请求。
步骤S52,将所述数据采集请求发送至所述目标管理服务器。
在所述设备信息仅包括第一部件信息的情况下,所述目标配置文件中的各采集请求模板相互独立,管理设备100对于根据所述目标配置文件中的各采集请求模板生成数据采集请求的顺序没有限制,只要确保根据所述目标配置文件中的每个采集请求模板生成对应的数据采集请求即可。例如,管理设备100可以按照采集请求模板的设置顺序,依次根据每个采集请求模板生成对应的数据采集请求并发送给目标管理服务器。又如,管理设备100可以按照随机的顺序根据每个采集请求模板依次生成对应的数据采集请求并发送给目标管理服务器。
在又一些应用场景中,一个部件的部件信息可能分布于多个采集响应页面,即该部件信息需要通过多个数据采集请求才能获取到,在此将这种部件信息约定为第二部件信息。
下面以存储器信息为例对第二部件信息进行说明:假设存储器包括逻辑存储和物理存储两部分,则通常需要先发送数据采集请求,以从目标管理服务器获取一整体页面,该整体页面通常包括存储器的基本配置信息及与逻辑存储和物理存储分别对应的页面标签;用户点击与逻辑存储对应的页面标签,可以发送新的数据采集请求,以从目标管理服务器获取包括逻辑存储信息的页面;用户点击与物理存储对应的页面标签,可以发送新的数据采集请求,以从目标管理服务器获取包括物理存储信息的页面。其中,所述新的数据采集请求携带有所述整体页面中的部分参数。
为便于描述,在此将所述整体页面约定为父层级采集请求页面,将包括所述逻辑存储信息的页面和包括所述物理存储信息的页面约定为子层级采集请求页面。将用于获取父层级采集请求页面的数据采集请求约定为父层级数据采集请求,将用于获取子层级采集请求页面的数据采集请求约定为子层级采集请求。
在本实施例中,所述设备信息包括的每个部件信息可以是第一部件信息或第二部件信息。针对所述设备信息包括每个的部件信息(即:需要的每个部件信息),可以在目标配置文件中设置与该部件信息对应的一个请求模板组。
其中,若该部件信息为第一部件信息,则该请求模板组包括一个采集请求模板,该采集请求模板中包括用于获取该第一部件信息的数据采集请求需要的采集请求参数。
若该部件信息为第二部件信息,则该请求模板组包括具有层级关系的多个采集请求模板,其中一个包括用于获取所述第二部件信息的父层级数据采集请求需要的采集请求参数,在此称为父层级采集请求模板;其他为用于获取所述第二部件信息的子层级采集请求需要的采集请求参数,在此称为子层级采集请求模板。
基于以上情况,所述目标配置文件还可以包括至少一个请求模板组,所述请求模板组中包括从目标管理服务器获取所述目标被管理设备的预设部件信息所需的采集请求参数,所述设备信息包括所述预设部件信息。其中,所述预设部件信息即为需要的部件信息,具体可以为上述的第一部件信息或第二部件信息。
对应地,在第一种实施方式中,步骤S32可以包括图6所示的步骤。
步骤S61,针对每个请求模板组,若所述请求模板组中包括具有层级关系的采集请求模板,则根据所述层级关系从所述请求模板组中确定父层级采集请求模板,根据所述登录权限信息、所述访问信息和所述父层级采集请求模板中设置的采集请求参数生成父层级数据采集请求并发送至所述目标管理服务器。
在实施时,可以在子层级采集请求模板中设置第二字段,该第二字段用于存储该子层级采集请求模板对应的父层级采集请求模板的标识信息。在实施时,管理设备100若检测到所述请求模板组中的任一采集请求模板包括所述第二字段,即可将该第二字段中的标识信息所指示的采集请求模板确定为父层级采集请求模板。
步骤S62,在接收到所述目标管理服务器根据所述父层级数据采集请求返回的父层级采集响应页面时,从所述父层级采集响应页面中获取所述目标配置文件指定的参数信息,以及根据所述层级关系确定子层级采集请求模板。
其中,所述目标配置文件中可以设置有与所述父层级采集请求模板关联的子层级采集请求模板的标识信息,以及需要从父层级采集响应页面中获取的所述参数信息。
可选地,在后文的描述中,目标配置文件中可以设置有与各采集请求模板一一对应的采集响应模板,则在与所述父层级采集请求模板对应的父层级采集响应模板中可以设置有第三字段和第四字段,所述第三字段用于存储所述子层级采集请求模板的标识信息,所述第四字段用于存储需要从父层级采集响应页面中获取的所述参数信息。如此,在根据所述父层级采集响应模板解析父层级采集响应页面时,可以根据所述父层级采集响应模板的第三字段的值确定子层级采集请求模板,以及根据所述父层级采集响应模板的第四字段的值确定需要父层级采集响应页面获取的参数信息。
步骤S63,根据所述参数信息、所述登录权限信息、所述访问信息及所述子层级采集请求模板中配置的采集请求参数生成子层级数据采集请求并发送给所述目标管理服务器。
其中,管理设备100可以将所述参数信息、所述登录权限信息、所述访问信息及所述子层级采集请求模板中的采集请求参数按照一定顺序拼接,以形成所述子层级数据采集请求。
在第二种实施方式中,步骤S32可以包括如下步骤:
若所述请求模板组中包括不具有层级关系的采集请求模板,则针对所述请求模板组中的每个采集请求模板,根据所述登录权限信息、所述访问信息和该采集请求模板中配置的采集请求参数生成数据采集请求并发送给所述目标管理服务器。
上述步骤的具体实现方式与图5所示的步骤类似,在此不再赘述。
在其他的实施方式中,若所述目标配置文件中包括多个请求模板组,则可能存在部分请求模板组包括不具有层级关系的采集请求模板,而其他请求模板组包括具有层级关系的采集请求模板的情况。因此,步骤S32可以同时包括上述第一种实施方式中的步骤和上述第二种实施方式中的步骤。
通过以上过程,可以获取到包括需要的部件信息的采集响应页面。
在本实施例中,为了使得管理设备100能够直接使用所述需要的部件信息,在获得采集响应页面之后,可以从该采集响应页面中解析出所述需要的部件信息。对应地,所述目标配置文件中还可以包括与各采集请求模板一一对应的采集响应模板。其中,所述采集响应模板中包括:目标被管理设备的预设部件信息所在的采集响应页面的数据格式以及所述预设部件信息在该采集响应页面中的第二位置信息。管理设备100中存储有所述数据格式和解析所述数据格式的解析工具之间的对应关系。
在此情况下,本实施例提供的数据采集方法还可以包括以下步骤:
在接收到所述目标管理服务器根据任一数据采集请求返回的采集响应页面时,根据用于生成该数据采集请求的目标采集请求模板所对应的目标采集响应模板从所述采集响应页面中获取所述预设部件信息。
其中,所述预设部件信息是指所述目标被管理设备的需要获取的部件信息。可选地,所述数据格式例如可以是JSON(JavaScriptObjectNotation,JS对象简谱)、XML(eXtensibleMarkup Language,可扩展标记语言)、HTML等中的一种。其中,JSON可以和GSON解析工具对应,XML可以和xmlUtil工具对应,HTML可以和JSOUP工具对应。
详细地,上述根据用于生成该数据采集请求的目标采集请求模板所对应的目标采集响应模板从所述采集响应页面中获取所述预设部件信息的步骤,可以包括图7所示的步骤。
步骤S71,将所述目标采集响应模板中设置的数据格式确定为所述采集响应页面的目标数据格式,以及将所述目标采集响应模板中设置的第二位置信息指示的位置确定为所述需要的预设部件信息在所述采集响应页面中的目标位置。
步骤S72,调用与所述目标数据格式对应的解析工具,从所述采集响应页面的所述目标位置解析出所述需要的预设部件信息。
例如,若所述目标数据格式为JSON格式,则可以调用GSON解析工具来实现步骤S72;若所述目标数据格式为XML格式,则可以调用xmlUtil工具来实现步骤S72,;若所述目标数据格式为HTML格式,则可以调用JSOUP工具来实现步骤S72。
其中,HTML格式可以进一步分为HTML页面标签和JavaScript两种类型,HTML页面标签可以通过JSOUP工具提供的类似jQuery的选择器来进行解析,JavaScript可以直接调用JSOUP工具进行解析。
在一些情况下,所述采集响应页面的数据格式可能是无法通过已有的解析工具解析的特定数据格式,此时可以通过自定义的解析工具来解析,并在采集响应模板中设置用于调用所述自定义的解析工具的第一接口。管理设备100在所述采集响应页面的数据格式为上述特定数据格式时,可以调用采集响应模板中设置的所述第一接口来对所述采集响应页面进行解析。
所述预设部件信息在采集响应页面中可能具有特殊格式,例如,所述预设部件信息中穿插有特殊字符。在此情况下,所述采集响应模板中还可以设置有与所述预设部件信息的特殊格式对应的正则表达式。在实施时,管理设备100可以在所述采集响应页面的所述目标位置搜索符合所述正则表达式的信息作为所述预设部件信息。
在一些情况下,为了将所述预设部件信息处理成能被管理设备100识别的信息,可以将获取到的所述预设部件信息存储到能够被管理设备100识别的数据对象中。详细地,可以在所述采集响应模板中设置用于创建所述数据对象的创建方法的第二接口,管理设备100在接收到所述采集响应页面时,可以调用所述第二接口来创建一能够被管理设备100识别的数据对象,并将从所述采集响应页面中获取的所述预设部件信息存储于创建的数据对象中。
可选地,所述采集响应模板中还可以设置有所述预设部件信息的保存地址,所述保存地址可以是管理设备100中的某一位置,也可以是不同于管理设备100的其他设备的地址。管理设备100在获得所述预设部件信息后,可以将所述预设部件信息发送至所述保存地址进行保存。如此,可以将其他需要采集设备信息的平台的地址作为所述保存地址存储到采集响应模板中,从而使得该平台能够实现设备信息的采集。
下面以图1中示出的被管理设备300A是目标被管理设备、管理服务器400A是目标管理服务器为例,对本实施例提供的数据采集方法做进一步的阐述。
管理服务器400A中存储有被管理设备300A的控制器(Controller)信息和风扇(Fan)信息,其中,控制器信息包括基本配置信息、附件(Enclosure)信息和驱动(VDisks)信息。
用户通过浏览器访问管理服务器400A中的设备信息的过程如下:
当用户通过浏览器登录管理服务器400A后,管理服务器400A返回包括登录权限信息的页面h1(即:登录响应页面),并进入一页面h2(例如,管理服务器400A的首页),该页面h2上显示有与风扇信息对应的页面标签tab1以及与控制器信息对应的页面标签tab2;
在浏览器展示页面h2之后,若用户点击页面h2上的页面标签tab1,则浏览器可以接收到管理服务器400A返回的包括风扇信息的页面h3;若用户点击页面标签tab2,则浏览器可以接收到管理服务器400A返回的页面h4,页面h4包括控制器信息中的基本配置信息、与附件信息对应的页面标签tab3以及与日志驱动信息对应的页面标签tab4;
在浏览器展示页面h4后,若用户点击页面h4上的页面标签tab3,则浏览器可以接收到管理服务器400A返回的页面h5,页面h5中包括附件信息;若用户点击页面h4上的页面标签tab4,则浏览器可以接收到管理服务器400A返回的页面h6,页面h6中包括日志驱动信息。
现通过本实施例提供的数据采集方法来模拟用户的上述访问操作,以从管理服务器400A获取到被管理设备300A的风扇信息和控制器信息。具体过程如下:
1、可以在管理设备100中创建与被管理设备300A的厂商信息(例如为X1)关联的文件夹,例如,该文件夹可以以厂商信息X1或者包括厂商信息X1的标识符命名。在此假设创建的文件夹的名称为X1。
2、在文件夹X1中设置与被管理设备300A的型号信息(例如为Y1)关联的配置文件M1。在配置文件M1中设置被管理设备300A的型号信息Y1,以建立配置文件M1和被管理设备300A的型号信息Y1之间的关联。
在本示例中,文件夹X1可能存储有多个配置文件,为了使得管理设备400A能够识别出具体的配置文件,可以采用特定标签来区分各个配置文件,例如,可以将一个配置文件的内容设置在标签<Dev>和</Dev>之间。所述标识信息和型号信息Y1可以设置于标签<Dev>中。例如,可以为如下形式:
<Dev type=Y1>
……
</Dev>
其中,配置文件M1的内容可以设置于<Dev>和</Dev>之间,被管理设备300A的型号信息可以设置于type字段中。实施时,管理设备100可以将<Devtype=Y1>和</Dev>之间的内容识别为和型号信息Y1关联的配置文件,并且,由于该配置文件位于文件夹X1中,因此该配置文件和厂商信息X1关联。
3、配置文件M1中包括登录请求模板T1和登录响应模板T2,登录请求模板T1包括登录管理服务器400A需要的登录请求参数,登录响应模板T2包括第一位置信息,该第一位置信息用于指示登录权限信息在登录响应页面h1中的位置。
由于配置文件M1中还可能包括其他请求模板和响应模板,可以采用特定标签来区分各个模板。在此示例中,采用标签<RequireX>和</RequireX>来标识登录请求模板,采用标签<ResponseX>和</ResponseX>来标识登录响应模板。
请参照图8(a),其中示例性地示出了登录请求模板T1。
其中,登录管理服务器400A需要的登录请求参数可以包括:登录响应页面h1的访问路径、登录请求的请求方式以及需要设置于登录请求的请求头中的参数。在登录请求模板T1中,url字段的值可以充当登录响应页面h1的访问路径,method字段的值可以充当登录请求的请求方式。<keyValue>标签中的value字段的值可以充当需要设置在登录请求的请求头中的参数,key字段的值表示该参数在登陆请求的请求头中所处的字段。
登录请求模板T1中还设置有标识信息,id字段的值可以充当该标识信息。此外,若管理服务器400A对登录请求中的部分参数有格式要求,则登录请求模板T1中还可以包括一处理方法的调用接口,该处理方法用于将该部分参数处理成符合该格式要求的数据。在图8(a)所示的示例中,handle字段的值可以充当该调用接口。
请参照图8(b),其中示例性地示出了登录响应模板T2。
其中,标签<ClassEntity>和</ClassEntity>用于标识需要从登录响应页面h1中获取的信息。在本示例中,需要从登录响应页面h1获取的信息为登录权限信息。在其他示例中,还可以从登录响应页面h1获取其他信息。
登录响应模板T2中的第一位置信息包括:登录权限信息在登录响应页面h1中所处的区域,可以设置于<ClassEntity>标签中的location字段;以及,登录权限信息在所述区域所处的具体字段,可以设置于<keyField>标签中的key字段。在图8(b)示出的示例中,登录权限信息位于登录响应页面h1的Header标签对应的区域,且位于Header标签中的cookie字段。当然,在其他示例中,登录权限信息也可以位于其他区域的其他字段。
登录响应模板T2还包括:
标识信息,可以设置于id字段;
登录响应页面h1的数据格式,可以设置于<ResponseX>标签中的type字段;
用于处理登录权限信息的处理模板,可以设置于<keyField>标签中的template字段;其中,将从登录响应页面h1获取到的登录权限信息填充于该处理模板可以得到符合管理服务器400A的格式要求的登录权限信息;
用于存储获取到的登录权限信息的数据对象的名称,可以存储于<ClassEntity>标签中的name字段。其中,<ClassEntity>标签中的name字段可以充当本实施例中的第一字段。
管理设备100中存储有所述数据格式和用于解析该数据格式的解析工具的对应关系。若登录响应页面h1的数据格式为已有解析工具无法解析的特定格式,则登录响应模板T2还可以包括:用于解析所述特定格式的自定义解析工具的调用接口,可以设置于<ResponseX>标签中的handle字段。
在一些情况下,登录响应页面中可能存在一个或多个登录权限信息,可以将用于表示需要获取的登录权限信息的数量的数据设置于<ClassEntity>标签中的type字段。例如,上述登录响应模板T2中,<ClassEntity>标签中的type字段的值为single,可以确定只需从登录响应页面h1获取一个登录权限信息。若<ClassEntity>标签中的type字段的值为list或table,则可以确定需要从相应的登录响应页面中获取多个登录权限信息。
结合上述示出的登录请求模板T1和的登录响应模板T2,可以通过以下过程模拟用户对管理服务器400A的登录操作:
(1)获取被管理设备300A的厂商信息和型号信息,以及管理服务器400A的访问信息,该访问信息例如可以包括管理服务器400A的使用的通信协议HTTPS、服务端口标识80、IP地址、用户名和密码;
(2)根据被管理设备300A的厂商信息查找到文件夹X1,从文件夹X1中查找设置有被管理设备300A的型号信息Y1的配置文件M1作为目标配置文件,从配置文件M1中查找“<RequireX></RequireX>”标签,将该标签所标识的内容确定为登录请求模板;
(3)将通信协议类型HTTPS、服务端口标识80和IP地址、所述登录请求模板中的url字段的值和method字段的值以及各个<keyValue>标签中的value字段的值按照一定顺序拼接形成登录请求;其中,各个<keyValue>标签中的value字段的值可以位于登录请求的请求头中;
(4)将用户名、密码和生成的登录请求作为参数传递给采用HttPClient创建的客户端,从而将用户名、密码和该登录请求发送给管理服务器400A;
(5)管理设备100接收管理服务器400A返回的登录响应页面h1,从配置文件M1中查找标识信息和登录请求模板T1的标识信息相同的登录响应模板,即:登录响应模板T2;
(6)管理设备100将登录响应模板T2的<ResponseX>标签中的type字段的值确定为登录响应页面h1的数据格式,即为HTML格式;以及,根据登录响应模板T2的<ClassEntity>标签中的location字段的值确定登录权限信息位于登录响应页面h1的Header标签对应的区域,根据登录响应模板T2的<keyField>标签中的key字段的值确定登录权限信息处于登录响应页面h1的cookie字段;
(7)管理设备100根据存储的JSOUP工具和HTML格式的对应关系,调用JSOUP工具,从登录响应页面h1的Header标签中搜索cookie字段,获取cookie字段的值作为所述登录权限信息;
(8)管理设备100按照登录响应模板T2的<keyField>标签中的template字段所设置的处理模板来处理获取到的登录权限信息,再创建以<ClassEntity>标签中的name字段的值(即,cookie)命名的数据对象,并将处理后的登录权限信息存储于该数据对象cookie中。
4、配置文件M1中还包括采集请求模板T3、T4、T5和T6。其中,采集请求模板T3包括获取页面h3(其中包括风扇信息)所需的采集请求参数,采集请求模板T4包括获取页面h4所需的采集请求参数,采集请求模板T5包括获取页面h5所需的采集请求参数,采集请求模板T6包括获取页面h6所需的采集请求参数。在此示例中,每个采集请求模板可以用特定标签(例如,“<RequireY></RequireY>”)标识。
请参照图9(a),其中示例性地示出了采集请求模板T3。
其中,采集请求模板T3中的采集请求参数包括:风扇信息的访问路径,可以设置于<RequireY>标签的url字段;用于获取页面h3的数据采集请求的请求方式,可以设置于method字段;以及,该数据采集请求的请求头需要的参数。<keyValue>标签中的value字段的值可以充当需要设置在该采集请求的请求头中的参数,key字段的值表示该参数在该数据采集请求的请求头中所处的字段。
在采集请求模板T3中,其中一个<keyValue>标签的key字段的值为Cookie,表示用于获取风扇信息的数据采集请求的请求头具有Cookie字段,管理设备100从登录响应页面h1中获取到的登录权限信息可以设置于生成的数据采集请求的请求头的Cookie字段。
此外,采集请求模板T3还可以包括标识信息,可以设置于<RequireY>标签的id字段。若用于获取页面h3的数据采集请求中的部分参数需要进行特殊处理,则采集请求模板T3还可以包括:用于进行所述特殊处理的处理方法的调用接口,可以设置于handle字段中。
管理设备100根据所述访问信息及采集请求模板T3生成用于获取页面h3的数据采集请求的过程可以如下:
(9)将所述通信协议类型HTTPS、所述服务端口标识80、所述IP地址、保存在所述数据对象cookie中的登录权限信息、采集请求模板T3中的url字段的值和method字段的值以及各个<keyValue>标签中的value字段的值按照一定顺序拼接形成数据采集请求;
(10)将该数据采集请求作为参数传递给HttpClient客户端,以将该数据采集请求发送给管理服务器400A;
(11)接收管理服务器400A返回的页面h3。
配置文件M1中还包括用于解析页面h3的采集响应模板T3’。请参照图9(b),其中示例性地示出了采集响应模板T3’。
其中,标签<ClassEntity>和</ClassEntity>用于标识需要从页面h3中获取的部件信息,在此示例中,需要获取的部件信息为风扇信息。
采集响应模板T3’包括:页面h3的数据格式,可以设置于<ResponseY>标签中的type字段;用于指示风扇信息在页面h3中的位置的第二位置信息。所述第二位置信息包括:风扇信息在页面h3中所处的区域,可以设置于<ClassEntity>标签中的key字段;以及,风扇信息在该区域所处的具体字段,可以设置于<keyField>标签中的key字段。
采集响应模板T3’还可以包括:标识信息,可以设置于id字段;从页面h3中获取的风扇信息的保存地址,可以设置于<ResponseY>标签中的save字段。在一些情况下,如果该保存地址为不同于管理设备100的其他设备的地址,上述采集请求模板T3’中还可以设置向该保存地址发送获取到的风扇信息的方式,例如为GET方式、POST方式、PUT方式等。
若页面h3的数据格式为无法采用已有解析工具解析的特殊格式,则采集响应模板T3’还可以包括:能够解析该特殊格式的自定义工具的第一接口,该第一接口设置于<ResponseY>标签中的handle字段。
此外,采集响应模板T3’还可以包括:第二接口,可以设置于<ClassEntity>标签中的class字段。通过调用该第二接口可以创建用于存储获取到的风扇信息的数据对象,该数据对象可以以<ClassEntity>标签中的name字段的值命名。
根据采集响应模板T3’对接收到的页面h3进行解析的过程可以如下:
(12)在发送用于获取页面h3的数据采集请求时,记录用于生成该数据采集请求的采集请求模板的标识信息为10;
(13)在接收到页面h3时,从配置文件M1中查找标识信息为10的采集响应模板,即:采集响应模板T3’;将采集响应模板T3’的<ResponseY>标签中的type字段的值确定为页面h3的数据格式,即:XML格式;
(14)根据存储的解析工具和数据格式的对应关系,调用xmlUtil工具,在页面h3的页面标签Fan所对应的区域中搜索字段name和speed;其中,搜索到的name字段的值和speed字段的值即为需要从页面h3中获取的风扇信息;
(15)调用字段class中设置的第二接口(即,com.h3c.XXXX.entity.Fan),创建以<ClassEntity>标签中的name字段的值命名的数据对象,该数据对象具有name和speed两个属性;
(16)将搜索到的name字段的值作为创建的数据对象Fan的name属性的值,将搜索到的speed字段的值作为创建的数据对象Fan的speed属性的值,将再将数据对象Fan保存到save字段设置的保存地址中。
在本示例中,页面h4、h5和h6为具有层级关系的页面,其中页面h4可以充当本实施例中的父层级采集响应页面,页面h5和h6可以充当本实施例中的子层级采集响应页面。用于获取页面h4的数据采集请求所对应的采集请求模板T4为父层级采集请求模板,分别用于获取页面h5和h6的数据采集请求所对应的采集请求模板T5和T6为子层级采集请求模板。
请参照图10,图10(a)示例性地示出了采集请求模板T4,图10(b)示例性地示出了采集请求模板T5,图10(c)示例性地示出了采集请求模板T6。
采集请求模板T4、T5和T6中各个字段的含义与上述的采集请求模板T3中的相应字段的含义类似,在此不再赘述。其区别在于,在子层级采集请求模板T5和T6中,设置有renferId字段。其中,renferId字段可以充当本实施例中描述的第二字段。referId字段的值为父层级采集请求模板T4的标识信息,即:11。在本示例中,管理设备100可以将具有层级关系的多个采集请求模板划分到一个请求模板组,将独立的采集请求模板划分到一个请求模板组。例如,上述采集请求模板T3可以属于一个请求模板组(例如为group1),上述采集请求模板T4、T5和T6可以属于一个请求模板组(例如为group2)。
在实施时,管理设备100可以按照任意顺序访问请求模板组group1和请求模板组group2。在此假设先访问group1,后访问group2。对于请求模板组group1,管理设备100可以按照上述的步骤(9)-(10)生成用于获取页面h3的数据采集请求,并发送给管理服务器400。对于请求模板组group2,管理设备100可以按照如下过程分别生成用于获取页面h4、h5和h6的数据采集请求:
(17)从请求模板组group2中查找renferId字段,将renferId字段中的标识信息所指示的采集请求模板(即:采集请求模板T4)确定为父层级采集请求模板;
(18)按照如上述的步骤(9)-(10)的方式,基于确定的父层级采集请求模板T4,生成用于获取页面h4的数据采集请求并发送给管理服务器400A;
(19)接收管理服务器400A返回的页面h4;
(20)从页面h4中获取配置文件M1指定的参数信息,将设置有renferId字段的采集请求模板(即:采集请求模板T5和T6)确定为子层级采集请求模板;
(21)按照如上述的步骤(9)-(10)的方式,基于确定的子层级采集请求模板T5和T6,分别生成用于获取页面h5和h6的数据采集请求并发送给管理服务器400A;在此步骤中,生成两个数据采集请求的顺序没有限制;
(22)接收管理服务器400A返回的页面h5,以及接收管理服务器400A返回的页面h6。在此步骤中,接收到页面h5和h6的顺序和步骤(21)中发送两个数据采集请求的顺序相关。
在本示例中,配置文件M1中还设置有分别用于解析页面h4、h5和h6的三个采集响应模板h4’、h5’和h6’。其中,采集响应模板h4’可以充当本实施例中的父层级采集响应模板,采集响应模板h5’和h6’可以充当本实施例中的子层级采集响应模板。
请参照图11,图11(a)中示例性地示出了采集响应模板T4’,图11(b)中示例性地示出了采集响应模板T5’,图11(c)示例性地示出了采集响应模板T6’。
采集响应模板T4’、T5’和T6’中的各个字段的含义和上文描述的采集响应模板T3’中的相应字段类似,在此不再赘述。其区别在于,上述步骤(20)中描述的配置文件M1指定的参数信息可以设置于父层级采集响应模板T4’中。具体地,所述指定的参数信息可以设置于采集响应模板T3’的paramKey字段中,所述paramKey字段可以充当本实施例中的第四字段。
此外,采集响应模板T4’中还可以设置有采集请求模板T4的子层级采集请求模板的标识信息,即:子层级采集请求模板T5的标识信息“12”以及子层级采集请求模板T6的标识信息“13”。所述子层级采集请求模板的标识信息具体可以设置于childId字段中,所述childId字段可以充当本实施例中的第三字段。在以上描述的步骤(20)中,也可以根据父层级采集响应模板T4’的childId字段中的值来确定子层级采集请求模板,具体地,可以将childId字段中设置的标识信息所指示的采集请求模板确定子层级采集请求模板。
在本示例中,管理设备100在接收到页面h4时,可以根据采集响应模板T4’解析页面h4;管理设备100在接收到页面h5时,可以根据采集响应模板T5’解析页面h5;管理设备100在接收到页面h6时,可以根据采集响应模板T6’解析页面h6。其中,具体解析方式和上述的步骤(12)-(16)类似,在此不再赘述。
请参照图12,图12为本实施例提供的管理设备100的一种硬件结构示意图。该管理设备100可以包括处理器130及机器可读存储介质120。处理器130与机器可读存储介质120可经由系统总线140通信。并且,机器可读存储介质120存储有机器可执行指令,通过读取并执行机器可读存储介质120中与数据采集逻辑对应的机器可执行指令,处理器130可执行上文描述的数据采集方法。
本文中提到的机器可读存储介质120可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:RAM(Radom Access Memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。
请参阅图13,图13是本实施例提供的一种数据采集装置110的功能模块框图。数据采集装置110包括至少一个可以以软件形式存储于机器可读存储介质120中的功能模块。从功能上划分,数据采集装置110可以包括获取模块111、查找模块112和模拟访问模块113。
其中,获取模块111用于获取需要访问的目标被管理设备的属性信息及所述目标被管理设备对应的目标管理服务器的访问信息。
在本实施例中,获取模块111可以执行步骤S21,关于获取模块111的描述可以参照对步骤S21的详细描述。
查找模块112用于从预存的配置文件中查找与所述目标被管理设备的类别信息关联的目标配置文件。
在本实施例中,查找模块112可以执行步骤S22,关于查找模块111的描述可以参照对步骤S22的详细描述。
模拟访问模块113用于根据所述访问信息和所述目标配置文件模拟用户对所述目标管理服务器的访问操作,以使所述目标管理服务器返回所述目标被管理设备的设备信息。
在本实施例中,模拟访问模块113可以执行步骤S23,关于模拟访问模块113的描述具体可以参照对步骤S23的详细描述。
本实施例还提供一种存储介质,其上存储有机器可执行指令,该机器可执行指令被执行时,可以实现本实施例提供的数据采集方法。
综上所述,本公开提供一种数据采集方法、装置、管理设备及存储介质,应用于网管系统中。该网管系统包括管理设备和多个被管理设备,每个被管理设备具有一管理服务器。管理设备获取需要访问的目标被管理设备的属性信息及目标被管理设备对应的目标管理服务器的访问信息,从预存的配置文件中查找与该属性信息关联的目标配置文件;根据访问信息和目标配置文件模拟用户对目标管理服务器的访问操作,以使目标管理服务器返回目标被管理设备的设备信息。如此,可以不必依赖于被管理设备提供的信息交互接口对被管理设备的设备信息进行采集,从而实现对各被管理设备的有效监控和纳管。
在本公开所提供的实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本公开的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本公开各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述,仅为本公开的具体实施方式,但本公开的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。

Claims (10)

1.一种数据采集方法,其特征在于,应用于网管系统中的管理设备,所述网管系统还包括多个被管理设备,每个被管理设备具有一管理服务器;所述方法包括:
获取需要访问的目标被管理设备的属性信息及所述目标被管理设备对应的目标管理服务器的访问信息;
从预存的配置文件中查找与所述属性信息关联的目标配置文件;
根据所述访问信息和所述目标配置文件模拟用户对所述目标管理服务器的访问操作,以使所述目标管理服务器返回所述目标被管理设备的设备信息。
2.根据权利要求1所述的方法,其特征在于,所述访问操作包括登录操作和数据采集操作;
则,所述根据所述访问信息和所述目标配置文件模拟用户对所述目标管理服务器的访问操作,包括:
根据所述访问信息和所述目标配置文件模拟用户对所述目标管理服务器进行所述登录操作,得到所述目标管理服务器返回的登录权限信息;
根据所述登录权限信息、所述访问信息和所述目标配置文件模拟用户对所述目标管理服务器进行所述数据采集操作,得到所述目标管理服务器返回的包括所述设备信息的采集响应页面。
3.根据权利要求2所述的方法,其特征在于,所述目标配置文件包括相互对应的登录请求模板和登录响应模板,所述登录请求模板中设置有登录所述目标管理服务器需要的登录请求参数,所述登录响应模板中设置有登录权限信息在所述目标管理服务器返回的登录响应页面中的第一位置信息;
则,所述根据所述访问信息和所述目标配置文件模拟用户所述目标管理服务器的所述登录操作,得到所述目标管理服务器返回的登录权限信息,包括:
根据所述访问信息以及所述登录请求参数生成登录请求,并发送至所述目标管理服务器;
接收所述目标管理服务器针对所述登录请求返回的登录响应页面,根据所述第一位置信息从所述登录响应页面获取所述登录权限信息。
4.根据权利要求2所述的方法,其特征在于,所述目标配置文件包括至少一个请求模板组,所述请求模板组中包括从所述目标管理服务器获取所述目标被管理设备的预设部件信息所需的采集请求参数,所述设备信息包括所述预设部件信息;
则,所述根据所述登录权限信息、所述访问信息和所述目标配置文件模拟用户对所述目标管理服务器的所述数据采集操作,包括:
针对每个请求模板组,若所述请求模板组中包括具有层级关系的采集请求模板,则根据所述层级关系从所述请求模板组中确定父层级采集请求模板,根据所述登录权限信息、所述访问信息和所述父层级采集请求模板中设置的采集请求参数生成父层级数据采集请求并发送至所述目标管理服务器;在接收到所述目标管理服务器根据所述父层级数据采集请求返回的父层级采集响应页面时,从所述父层级采集响应页面中获取所述目标配置文件指定的参数信息,以及根据所述层级关系确定子层级采集请求模板;根据所述参数信息、所述登录权限信息、所述访问信息及所述子层级采集请求模板中配置的采集请求参数生成子层级数据采集请求并发送给所述目标管理服务器;和/或,
若所述请求模板组中包括不具有层级关系的采集请求模板,则针对所述请求模板组中的每个采集请求模板,根据所述登录权限信息、所述访问信息和该采集请求模板中配置的采集请求参数生成数据采集请求并发送给所述目标管理服务器。
5.根据权利要求2所述的方法,其特征在于,所述目标配置文件还包括至少一个采集请求模板;
则,所述根据所述登录权限信息、所述访问信息和所述目标配置文件模拟用户对所述目标管理服务器的所述数据采集操作,包括:
针对每个采集请求模板,根据所述访问信息、所述登录权限信息及该采集请求模板中配置的采集请求参数生成数据采集请求;
将所述数据采集请求发送至所述目标管理服务器。
6.根据权利要求4或5所述的方法,其特征在于,所述目标配置文件还包括与各采集请求模板一一对应的采集响应模板,所述采集响应模板中包括:所述目标被管理设备的预设部件信息所在的采集响应页面的数据格式和所述预设部件信息在所述采集响应页面中的第二位置信息;所述管理设备中存储有所述数据格式和解析所述数据格式的解析工具之间的对应关系;所述方法还包括:
在接收到所述目标管理服务器根据任一数据采集请求返回的采集响应页面时,根据用于生成该数据采集请求的目标采集请求模板所对应的目标采集响应模板从所述采集响应页面中获取需要的预设部件信息。
7.根据权利要求6所述的方法,其特征在于,所述根据用于生成该数据采集请求的目标采集请求模板所对应的目标采集响应模板从所述采集响应页面中获取需要的预设部件信息,包括:
将所述目标采集响应模板中设置的数据格式确定为所述采集响应页面的目标数据格式,以及将所述目标采集响应模板中设置的第二位置信息指示的位置确定为所述需要的预设部件信息在所述采集响应页面中的目标位置;
调用与所述目标数据格式对应的解析工具,从所述采集响应页面的所述目标位置解析出所述需要的预设部件信息。
8.一种数据采集装置,其特征在于,应用于网管系统中的管理设备,所述网管系统还包括多个被管理设备,每个被管理设备具有一管理服务器;所述装置包括:
获取模块,用于获取需要访问的目标被管理设备的属性信息及所述目标被管理设备对应的目标管理服务器的访问信息;
查找模块,用于从预存的配置文件中查找与所述目标被管理设备的类别信息关联的目标配置文件;
模拟访问模块,用于根据所述访问信息和所述目标配置文件模拟用户对所述目标管理服务器的访问操作,以使所述目标管理服务器返回所述目标被管理设备的设备信息。
9.一种管理设备,其特征在于,包括处理器及机器可读存储介质,所述机器可读存储介质存储有机器可执行指令,所述机器可执行指令促使所述处理器实现:权利要求1-7中任意一项所述的方法。
10.一种存储介质,其特征在于,所述存储介质存储有机器可执行指令,所述机器可执行指令被执行时,实现权利要求1-7中任意一项所述的方法。
CN201910101456.XA 2019-01-31 2019-01-31 数据采集方法、装置、管理设备及存储介质 Active CN109889379B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910101456.XA CN109889379B (zh) 2019-01-31 2019-01-31 数据采集方法、装置、管理设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910101456.XA CN109889379B (zh) 2019-01-31 2019-01-31 数据采集方法、装置、管理设备及存储介质

Publications (2)

Publication Number Publication Date
CN109889379A CN109889379A (zh) 2019-06-14
CN109889379B true CN109889379B (zh) 2022-03-11

Family

ID=66927683

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910101456.XA Active CN109889379B (zh) 2019-01-31 2019-01-31 数据采集方法、装置、管理设备及存储介质

Country Status (1)

Country Link
CN (1) CN109889379B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110716974A (zh) * 2019-09-29 2020-01-21 宜通世纪物联网研究院(广州)有限公司 物联网设备与平台的动态交互方法、系统及存储介质
CN113110251A (zh) * 2021-05-19 2021-07-13 重庆忽米网络科技有限公司 一种用于物联网设备数据采集的数据配置方法
CN113965571B (zh) * 2021-10-29 2023-09-15 北京锐安科技有限公司 一种分布式嵌入式设备的管理方法、装置、设备及介质
CN115859934A (zh) * 2022-12-15 2023-03-28 立讯精密组件(苏州)有限公司 一种数据处理方法、装置、电子设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101094104A (zh) * 2007-07-30 2007-12-26 中兴通讯股份有限公司 一种通过安全网管代理进行设备管理的方法及其装置
CN101163005A (zh) * 2006-10-13 2008-04-16 中兴通讯股份有限公司 嵌入式web网管的客户端管理方法
CN101588268A (zh) * 2009-06-29 2009-11-25 杭州华三通信技术有限公司 通用可扩展的管理设备配置文件的方法及设备
CN104333463A (zh) * 2014-10-27 2015-02-04 武汉烽火网络有限责任公司 嵌入式Web网管实现多设备共镜像的系统及方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104980461B (zh) * 2014-04-04 2018-10-02 中兴通讯股份有限公司 页面推送方法、装置、服务器和集中式网络管理控制器

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101163005A (zh) * 2006-10-13 2008-04-16 中兴通讯股份有限公司 嵌入式web网管的客户端管理方法
CN101094104A (zh) * 2007-07-30 2007-12-26 中兴通讯股份有限公司 一种通过安全网管代理进行设备管理的方法及其装置
CN101588268A (zh) * 2009-06-29 2009-11-25 杭州华三通信技术有限公司 通用可扩展的管理设备配置文件的方法及设备
CN104333463A (zh) * 2014-10-27 2015-02-04 武汉烽火网络有限责任公司 嵌入式Web网管实现多设备共镜像的系统及方法

Also Published As

Publication number Publication date
CN109889379A (zh) 2019-06-14

Similar Documents

Publication Publication Date Title
CN109889379B (zh) 数据采集方法、装置、管理设备及存储介质
CN111522922B (zh) 日志信息查询方法、装置、存储介质及计算机设备
US10362050B2 (en) System and methods for scalably identifying and characterizing structural differences between document object models
US12112144B2 (en) API specification generation
US9208309B2 (en) Dynamically scanning a web application through use of web traffic information
US20190020683A1 (en) Automatic generation of low-interaction honeypots
WO2003056468A1 (en) Testing dynamic information returned by web servers
CN104618449B (zh) 一种实现web单点登录的方法及装置
US9426171B1 (en) Detecting network attacks based on network records
US9473516B1 (en) Detecting network attacks based on a hash
KR102033416B1 (ko) 문서로부터 추출되는 데이터를 생성하는 방법 및 그 장치
CN103886024A (zh) 一种基于多层业务关联的数据库审计方法及系统
US20070055930A1 (en) Tool for monitoring rules for a rules-based transformation engine
CN105407186A (zh) 获取子域名的方法和装置
JP2010123115A (ja) コンピューティング機器、ウェブページコンテンツ管理方法およびコンピュータ読み取り可能な媒体
CN105516390A (zh) 域名管理的方法和装置
CN111209325A (zh) 业务系统接口识别方法、装置及存储介质
Scott et al. YANG module for NETCONF monitoring
EP2003591B1 (en) Method and system for authenticating a user
US11768994B1 (en) Methods, systems, and computer readable mediums for generating a curated user interface (UI) marker
US10348811B2 (en) Service to invoke companion applications
EP3502925A1 (en) Computer system and method for extracting dynamic content from websites
US7546631B1 (en) Embedded management system for a physical device having virtual elements
Cisco Adding/Importing Inventory Data
Cisco Preparing to Use Resource Manager Modules

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant