本发明涉及计算机技术领域,特别涉及一种数据采集方法及装置。
背景技术:
随着信息技术的发展,数据中心的设备越来越多。为了保证各个设备的正常运行,运维人员需对各个设备的工作状态进行实时监控,而如何对各个设备的各项数据进行实时准确的采集显得尤为重要。
目前,数据中心的各个设备进行数据采集时,需运维人员逐个登陆设备,对各个设备上的各种数据进行采集。例如,采集服务器的网口速率、网口输出流量和网口输入流量等。
由于数据中心的设备较多,需要采集的数据量较大,通过上述方法进行数据采集的效率较低。
技术实现要素:
本发明实施例提供了一种数据采集方法及装置,能提高数据采集效率。
第一方面,本发明实施例提供了一种数据采集方法,包括:
构建协议模型,所述协议模型中包括至少一个设备的信道信息与至少一种通信协议之间的对应关系;
确定待采集设备的信道信息;
根据所述协议模型,确定与所述待采集设备的信道信息相对应的通信协议;
根据与所述待采集设备对应的通信协议,对所述待采集设备进行数据采集。
优选地,
进一步包括:预先构建数据库配置表,所述数据库配置表中包括所述至少一个设备的配置信息;
所述构建协议模型,包括:
根据所述数据库配置表中的至少一个设备的配置信息,确定每一个所述设备分别对应的通信协议;
根据每一个所述设备分别对应的通信协议,对所述至少一个设备的配置信息进行分组;
分别为每组所述配置信息分配对应的信道,并确定每个信道的信道信息;
根据所述通信协议和所述信道信息,对各组所述配置信息进行封装,形成所述协议模型。
优选地,
所述根据所述通信协议和所述信道信息,进行封装,形成所述协议模型,包括:
根据每组所述配置信息对应的通信协议和所述信道信息,分别对每组配置信息进行封装;
根据简单网络管理协议snmp,对封装后的配置信息进行再次封装,形成所述协议模型。
优选地,
所述根据所述协议模型,确定与所述待采集设备的信道信息相对应的通信协议,包括:
根据snmp,读取所述协议模型;
根据所述待采集设备的信道信息,确定所述待采集设备的配置信息对应的分组;
根据确定出的分组结果,确定与所述待采集设备的信道信息相对应的通信协议。
优选地,
在所述根据与所述待采集设备对应的通信协议,对所述待采集设备进行数据采集之后,进一步包括:
将采集到的所述待采集设备的数据存入预设的信息表。
第二方面,本发明实施例提供了一种数据采集装置,包括:构建单元、确定单元和采集单元;其中,
所述构建单元,用于构建协议模型,所述协议模型中包括至少一个设备的信道信息与至少一种通信协议之间的对应关系;
所述确定单元,用于确定待采集设备的信道信息;并根据所述协议模型,确定与所述待采集设备的信道信息相对应的通信协议;
所述采集单元,用于根据与所述待采集设备对应的通信协议,对所述待采集设备进行数据采集。
优选地,
所述构建单元,包括:配置表构建子单元、通信协议确定子单元、分组子单元和封装子单元;其中,
所述配置表构建子单元,用于预先构建数据库配置表,所述数据库配置表中包括所述至少一个设备的配置信息;
所述通信协议确定子单元,用于根据所述数据库配置表中的至少一个设备的配置信息,确定每一个所述设备分别对应的通信协议;
所述分组子单元,用于根据每一个所述设备分别对应的通信协议,对所述至少一个设备的配置信息进行分组;
所述封装子单元,用于分别为每组所述配置信息分配对应的信道,并确定每个信道的信道信息;根据所述通信协议和所述信道信息,对各组所述配置信息进行封装,形成所述协议模型。
优选地,
所述封装子单元,用于根据每组所述配置信息对应的通信协议和所述信道信息,分别对每组配置信息进行封装;根据简单网络管理协议snmp,对封装后的配置信息进行再次封装,形成所述协议模型。
优选地,
所述确定单元,用于根据snmp,读取所述协议模型;根据所述待采集设备的信道信息,确定所述待采集设备的配置信息对应的分组;根据确定出的分组结果,确定与所述待采集设备的信道信息相对应的通信协议。
优选地,
所述采集单元,进一步用于将采集到的所述待采集设备的数据存入预设的信息表。
本发明实施例提供了一种数据采集方法及装置,通过首先构建包括有至少一个设备与至少一种通信协议的对应关系的协议模型,然后在确定待采集设备的信道信息之后,根据构建的协议模型,确定与待采集设备的信道信息相对应的通信协议,并根据确定出的通信协议,对待采集设备进行数据采集。由此可根据各个设备对应的通信协议,自动完成数据采集过程,而不必再通过运维人员逐个登陆设备进行数据采集,由此提高了数据采集效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例提供的一种数据采集方法的流程图;
图2是本发明另一个实施例提供的一种数据采集方法的流程图;
图3是本发明一个实施例提供的一种数据采集装置的结构示意图;
图4是本发明另一个实施例提供的一种数据采集装置的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明实施例提供了一种数据采集方法,该方法可以包括以下步骤:
步骤101:构建协议模型,所述协议模型中包括至少一个设备的信道信息与至少一种通信协议之间的对应关系;
步骤102:确定待采集设备的信道信息;
步骤103:根据所述协议模型,确定与所述待采集设备的信道信息相对应的通信协议;
步骤104:根据与所述待采集设备对应的通信协议,对所述待采集设备进行数据采集。
上述实施例中,通过首先构建包括有至少一个设备与至少一种通信协议的对应关系的协议模型,然后在确定待采集设备的信道信息之后,根据构建的协议模型,确定与待采集设备的信道信息相对应的通信协议,并根据确定出的通信协议,对待采集设备进行数据采集。由此可根据各个设备对应的通信协议,自动完成数据采集过程,而不必再通过运维人员逐个登陆设备进行数据采集,由此提高了数据采集效率。
本发明一个实施例中,该方法可以进一步包括:预先构建数据库配置表,所述数据库配置表中包括所述至少一个设备的配置信息;
步骤101的具体实施方式,可以包括:
根据所述数据库配置表中的至少一个设备的配置信息,确定每一个所述设备分别对应的通信协议;
根据每一个所述设备分别对应的通信协议,对所述至少一个设备的配置信息进行分组;
分别为每组所述配置信息分配对应的信道,并确定每个信道的信道信息;
根据所述通信协议和所述信道信息,对各组所述配置信息进行封装,形成所述协议模型。
具体地,本发明一个实施例中,所述根据所述通信协议和所述信道信息,进行封装,形成所述协议模型,包括:
根据每组所述配置信息对应的通信协议和所述信道信息,分别对每组配置信息进行封装;
根据简单网络管理协议snmp,对封装后的配置信息进行再次封装,形成所述协议模型。
举例来说,预先将各个设备的配置信息,例如服务器的名称、型号、内存、硬盘大小等静态数据,也包括服务器的网口速率、网口输入流量、网口输出流量和网口管理状态,以及系统cpu负载、温度、电压、风扇等动态信息。在构建协议模型时,确定具体的数据对应的通信协议,具体地,与网络相关的数据(如网口速率、网口输入流量、网口输出流量、网口管理状态等)采用简单网络管理协议(simplenetworkmanagementprotocol,snmp)进行采集;与硬件参数相关的数据(如温度、电压、风扇等)采用智能型平台管理接口(intelligentplatformmanagementinterface,ipmi)协议进行采集;不间断电源(uninterruptiblepowersystem,ups)和精密空调用modus协议进行采集,包括供电参数、负载率或送风温度等。然后将具有相同通信协议的配置信息分为一组,并为此组配置信息分配对应的信道,例如,snmp通信协议对应信道a,ipmi通信协议对应信道b,modus通信协议对应信道c,然后将snmp、ipmi和modus等通信协议以及其分别对应的信道信息进行分别封装后,再用snmp进行统一封装其进行封装,形成协议模型。这使得协议模型可通过snmp纳入一个统一的采集策略引擎中,协议模型中又包括了多种通信协议,便于数据的采集和传输,从而进一步提高的数据采集效率。
对应地,本发明一个实施例中,步骤103的具体实施方式,可以包括:
根据snmp,读取所述协议模型;
根据所述待采集设备的信道信息,确定所述待采集设备的配置信息对应的分组;
根据确定出的分组结果,确定与所述待采集设备的信道信息相对应的通信协议。
在数据采集时,则可根据snmp,读取构建好的协议模型,然后根据待采集设备的信道信息,确定该待采集设备的配置信息对应的分组,然后根据确定出的分组结果,确定出待采集设备的通信协议。例如,采集服务器的网口速率时,首先确定出其信道为c,然后可根据信道c确定出其配置信息对应snmp组,则确定出可采用snmp对网口速率进行采集。这使得在数据采集时,准确利用对应的通信协议,对各个设备的数据进行采集,在提高数据采集效率的同时,提高数据采集的准确性。
本发明一个实施例中,在步骤104之后,进一步包括:
将采集到的所述待采集设备的数据存入预设的信息表。
在这里,将采集到的数据存入预设的信息表,则可通过对比信息表中的实时信息和数据库配置表中的配置信息,确定当前设备是否出现故障。通过信息表和配置表进行对比,简化对比过程的工作量,从而提高故障确定的实时性。
如图2所示,本发明实施例提供了一种数据采集方法,该方法包括以下步骤:
步骤201:预先构建数据库配置表,所述数据库配置表中包括所述至少一个设备的配置信息。
例如,设备的配置信息可包括服务器的名称、型号、内存、硬盘大小、网口速率、网口输入流量、网口输出流量和网口管理状态,以及系统cpu负载、温度、电压、风扇等。
步骤202:根据所述数据库配置表中的至少一个设备的配置信息,确定每一个所述设备分别对应的通信协议。
具体地,与网络相关的数据(如网口速率、网口输入流量、网口输出流量、网口管理状态等)采用snmp进行采集;与硬件参数相关的数据(如温度、电压、风扇等)采用ipmi协议进行采集;ups和精密空调用modus协议进行采集。
步骤203:根据每一个所述设备分别对应的通信协议,对所述至少一个设备的配置信息进行分组,并分别为每组所述配置信息分配对应的信道,并确定每个信道的信道信息。
例如,snmp通信协议对应信道a,ipmi通信协议对应信道b,modus通信协议对应信道c。
步骤204:根据每组所述配置信息对应的通信协议和所述信道信息,分别对每组配置信息进行封装,并根据简单网络管理协议snmp,对封装后的配置信息进行再次封装,形成协议模型。
将snmp、ipmi和modus等通信协议以及其分别对应的信道信息进行分别封装后,再用snmp进行统一封装其进行封装,形成协议模型。这使得协议模型可通过snmp纳入一个统一的采集策略引擎中。
步骤205:确定待采集设备的信道信息。
例如,采集服务器的网口速率时,确定出其信道信息为信道为c。
步骤206:根据snmp,读取所述协议模型,并根据所述待采集设备的信道信息,确定所述待采集设备的配置信息对应的分组。
步骤207:根据确定出的分组结果,确定与所述待采集设备的信道信息相对应的通信协议。
步骤208:根据与所述待采集设备对应的通信协议,对所述待采集设备进行数据采集。
在这里,可根据信道c确定出其配置信息对应snmp组,则确定出可采用snmp对网口速率进行采集。
上述实施例中,通过首先构建包括有至少一个设备与至少一种通信协议的对应关系的协议模型,然后在确定待采集设备的信道信息之后,根据构建的协议模型,确定与待采集设备的信道信息相对应的通信协议,并根据确定出的通信协议,对待采集设备进行数据采集。由此可根据各个设备对应的通信协议,自动完成数据采集过程,而不必再通过运维人员逐个登陆设备进行数据采集,由此提高了数据采集效率。
如图3所示,本发明实施例提供了一种数据采集装置,包括:构建单元301、确定单元302和采集单元303;其中,
所述构建单元301,用于构建协议模型,所述协议模型中包括至少一个设备的信道信息与至少一种通信协议之间的对应关系;
所述确定单元302,用于确定待采集设备的信道信息;并根据所述协议模型,确定与所述待采集设备的信道信息相对应的通信协议;
所述采集单元303,用于根据与所述待采集设备对应的通信协议,对所述待采集设备进行数据采集。
上述实施例中,通过首先构建包括有至少一个设备与至少一种通信协议的对应关系的协议模型,然后在确定待采集设备的信道信息之后,根据构建的协议模型,确定与待采集设备的信道信息相对应的通信协议,并根据确定出的通信协议,对待采集设备进行数据采集。由此可根据各个设备对应的通信协议,自动完成数据采集过程,而不必再通过运维人员逐个登陆设备进行数据采集,由此提高了数据采集效率。
如图4所示,本发明一个实施例中,所述构建单元101,包括:配置表构建子单元401、通信协议确定子单元402、分组子单元403和封装子单元404;其中,
所述配置表构建子单元401,用于预先构建数据库配置表,所述数据库配置表中包括所述至少一个设备的配置信息;
所述通信协议确定子单元402,用于根据所述数据库配置表中的至少一个设备的配置信息,确定每一个所述设备分别对应的通信协议;
所述分组子单元403,用于根据每一个所述设备分别对应的通信协议,对所述至少一个设备的配置信息进行分组;
所述封装子单元404,用于分别为每组所述配置信息分配对应的信道,并确定每个信道的信道信息;根据所述通信协议和所述信道信息,对各组所述配置信息进行封装,形成所述协议模型。
具体地,本发明一个实施例中,所述封装子单元404,用于根据每组所述配置信息对应的通信协议和所述信道信息,分别对每组配置信息进行封装;根据简单网络管理协议snmp,对封装后的配置信息进行再次封装,形成所述协议模型。
举例来说,预先将各个设备的配置信息,例如服务器的名称、型号、内存、硬盘大小等静态数据,也包括服务器的网口速率、网口输入流量、网口输出流量和网口管理状态,以及系统cpu负载、温度、电压、风扇等动态信息。在构建协议模型时,确定具体的数据对应的通信协议,具体地,与网络相关的数据(如网口速率、网口输入流量、网口输出流量、网口管理状态等)采用简单网络管理协议(simplenetworkmanagementprotocol,snmp)进行采集;与硬件参数相关的数据(如温度、电压、风扇等)采用智能型平台管理接口(intelligentplatformmanagementinterface,ipmi)协议进行采集;不间断电源(uninterruptiblepowersystem,ups)和精密空调用modus协议进行采集,包括供电参数、负载率或送风温度等。然后将具有相同通信协议的配置信息分为一组,并为此组配置信息分配对应的信道,例如,snmp通信协议对应信道a,ipmi通信协议对应信道b,modus通信协议对应信道c,然后将snmp、ipmi和modus等通信协议以及其分别对应的信道信息进行分别封装后,再用snmp进行统一封装其进行封装,形成协议模型。这使得协议模型可通过snmp纳入一个统一的采集策略引擎中,协议模型中又包括了多种通信协议,便于数据的采集和传输,从而进一步提高的数据采集效率。
对应地,本发明一个实施例中,所述确定单元302,用于根据snmp,读取所述协议模型;根据所述待采集设备的信道信息,确定所述待采集设备的配置信息对应的分组;根据确定出的分组结果,确定与所述待采集设备的信道信息相对应的通信协议。
在数据采集时,则可根据snmp,读取构建好的协议模型,然后根据待采集设备的信道信息,确定该待采集设备的配置信息对应的分组,然后根据确定出的分组结果,确定出待采集设备的通信协议。例如,采集服务器的网口速率时,首先确定出其信道为c,然后可根据信道c确定出其配置信息对应snmp组,则确定出可采用snmp对网口速率进行采集。这使得在数据采集时,准确利用对应的通信协议,对各个设备的数据进行采集,在提高数据采集效率的同时,提高数据采集的准确性。
本发明一个实施例中,所述采集单元303,进一步用于将采集到的所述待采集设备的数据存入预设的信息表。
在这里,将采集到的数据存入预设的信息表,则可通过对比信息表中的实时信息和数据库配置表中的配置信息,确定当前设备是否出现故障。通过信息表和配置表进行对比,简化对比过程的工作量,从而提高故障确定的实时性。
上述装置内的各单元之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
本发明还提供了一种可读介质,包括执行指令,当存储控制器的处理器执行所述执行指令时,所述存储控制器执行本发明上述任一实施例提供的方法。
另外,本发明还提供了一种存储控制器,包括:处理器、存储器和总线;所述存储器用于存储执行指令,所述处理器与所述存储器通过所述总线连接,当所述存储控制器运行时,所述处理器执行所述存储器存储的所述执行指令,以使所述存储控制器执行本发明上述任一实施例提供的方法。
综上所述,本发明各个实施例至少具有如下有益效果:
1、在本发明实施例中,通过首先构建包括有至少一个设备与至少一种通信协议的对应关系的协议模型,然后在确定待采集设备的信道信息之后,根据构建的协议模型,确定与待采集设备的信道信息相对应的通信协议,并根据确定出的通信协议,对待采集设备进行数据采集。由此可根据各个设备对应的通信协议,自动完成数据采集过程,而不必再通过运维人员逐个登陆设备进行数据采集,由此提高了数据采集效率。
2、在本发明实施例中,根据各个设备分别对应的通信协议,对各个设备的配置信息进行分组,并为每组配置信息分配对应的信道,并确定各个信道的信道信息,然后根据每组配置信息对应的通信协议和信息信息,对配置信息进行封装,而后再根据snmp,对封装后的配置信息进行统一封装,形成协议模型。这使得协议模型可通过snmp纳入一个统一的采集策略引擎中,协议模型中又包括了多种通信协议,便于数据的采集和传输,从而进一步提高的数据采集效率。
3、在本发明实施例中,在数据采集时,根据snmp读取构建好的协议模型,然后根据待采集设备的信道信息,确定该待采集设备的配置信息对应的分组,然后根据确定出的分组结果,确定出待采集设备的通信协议。这使得在数据采集时,准确利用对应的通信协议,对各个设备的数据进行采集,在提高数据采集效率的同时,提高数据采集的准确性。
4、在本发明实施例中,将采集到的数据存入预设的信息表,则可通过对比信息表中的实时信息和数据库配置表中的配置信息,确定当前设备是否出现故障。通过信息表和配置表进行对比,简化对比过程的工作量,从而提高故障确定的实时性。
需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储在计算机可读取的存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质中。
最后需要说明的是:以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。