CN110912782B - 一种数据采集方法、装置及存储介质 - Google Patents
一种数据采集方法、装置及存储介质 Download PDFInfo
- Publication number
- CN110912782B CN110912782B CN201911301521.XA CN201911301521A CN110912782B CN 110912782 B CN110912782 B CN 110912782B CN 201911301521 A CN201911301521 A CN 201911301521A CN 110912782 B CN110912782 B CN 110912782B
- Authority
- CN
- China
- Prior art keywords
- data
- acquisition
- acquired
- rule
- parsing
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 110
- 238000004458 analytical method Methods 0.000 claims abstract description 202
- 238000013480 data collection Methods 0.000 claims abstract description 99
- 238000012545 processing Methods 0.000 claims description 49
- 238000001914 filtration Methods 0.000 claims description 17
- 238000004891 communication Methods 0.000 claims description 10
- 230000008569 process Effects 0.000 abstract description 46
- 238000010586 diagram Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 9
- 238000004590 computer program Methods 0.000 description 7
- 238000007405 data analysis Methods 0.000 description 5
- 230000001364 causal effect Effects 0.000 description 3
- 238000002372 labelling Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/04—Processing captured monitoring data, e.g. for logfile generation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/12—Network monitoring probes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/18—Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Mining & Analysis (AREA)
- Computer Security & Cryptography (AREA)
- Recording Measured Values (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请提供一种数据采集方法、装置及存储介质,用于简化数据采集过程。该方法包括:获得数据采集任务;其中,所述数据采集任务包括用于确定被采集设备的第一设备描述信息;确定与所述数据采集任务关联的至少一个解析规则;其中,所述至少一个解析规则属于解析规则集合,所述解析规则集合包括用于解析不同网络协议的数据的解析规则;根据所述至少一个解析规则,对所述被采集设备产生的数据进行解析,获得所述被采集设备的采集数据。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种数据采集方法、装置及存储介质。
背景技术
随着科技的发展,数据采集方法越智能化。在某些情况下,例如采集网络数据的时候,由于实际应用中的被采集设备的生产商或设备型号等方面各不相同,造成网络数据来源多样,网络数据的格式多样,使得在采集网络数据的时候,时常需要开发人员针对不同采集情况修改并调试代码,数据采集过程较为复杂。
发明内容
本申请实施例提供一种数据采集方法、装置及存储介质,用于简化数据采集过程。
第一方面,提供一种数据采集方法,该方法包括:
获得数据采集任务;其中,所述数据采集任务包括用于确定被采集设备的第一设备描述信息;
确定与所述数据采集任务关联的至少一个解析规则;其中,所述至少一个解析规则属于解析规则集合,所述解析规则集合包括用于解析不同网络协议的数据的解析规则;
根据所述至少一个解析规则,对所述被采集设备产生的数据进行解析,获得所述被采集设备的采集数据。
本申请实施例中,在获得第一设备描述信息之后,可以基于第一设备描述信息从不同网络协议对应的数据的解析规则中匹配解析规则,从而可以采集并解析不同网络协议设备所对应的数据,在对不同的被采集设备进行数据采集的过程中,只需要匹配对应的解析规则,相较于传统的在采集不同网络协议对应的数据的过程中,需要程序人员手动修改采集规则,或者,需要程序人员手动切换不同的网络协议对应的解析规则的方法,本申请实施例中,采集数据过程更加简单,自动化程度更高;且,采集数据的过程不需要用户过多参与,用户的使用过程更加方便。
可选的,获得数据采集任务,包括:
获取被采集设备的IP地址;
根据所述IP地址与所述被采集设备建立通信连接;
获得所述被采集设备的第一设备描述信息;其中,所述第一设备描述信息包括所述被采集设备的产商和所述IP地址;
根据所述第一设备描述信息,生成数据采集任务。
本申请实施例中,可以通过IP地址获取完整的第一设备描述信息,减少了需要用户提供的信息,提高了用户的使用体验,且不需要用户手动输入过多信息,避免了用户输入错误导致的采集数据过程异常等情况。
可选的,所述数据采集任务还包括第一采集项,确定与所述数据采集任务关联的至少一个解析规则,包括:
在解析规则集合中,确定与所述第一设备描述信息匹配的第一解析规则子集合;
在所述第一解析规则子集合中,确定解析所述第一采集项对应的数据所需的第一解析规则;
若确定所述第一解析规则关联第二采集项,则确定解析所述第二采集项对应的数据所需的第二解析规则;其中,与第一设备描述信息关联的至少一个解析规则包括所述第一解析规则和所述第二解析规则。
本申请实施例中,解析规则可能包含关联的采集项,需要确定与关联的采集项匹配的第二解析规则,通过自动确定解析规则和采集项之间的关联关系,使得获得采集数据的过程更加自动化,减少了用户需要输入的采集项的数量,并且,自动确定解析规则和采集项之间的关联关系可以适应更复杂的数据采集场景,使得采集的数据准确性更高。
可选的,根据所述至少一个解析规则,对所述被采集设备产生的数据进行解析,获得所述被采集设备的采集数据,包括:
若所述数据采集任务不包括所述第一采集项对应的外部采集项参数值,则根据所述第二解析规则对所述第二采集项对应的数据进行解析,获得所述第二采集项的数据采集结果;根据所述数据采集结果以及所述第一解析规则,对所述第一采集项对应的数据进行解析,获得所述被采集设备的采集数据;或者,
若所述数据采集任务还包括所述第一采集项对应的外部采集项参数值,则根据所述外部采集项参数值以及所述第一解析规则,对所述第一采集项对应的数据进行解析,获得所述被采集设备的采集数据。
本申请实施例中,根据解析规则进行数据采集和解析的过程中,可以直接匹配第一解析规则关联的第二采集项,根据获得的第二采集项的数据采集结果,获得所述被采集设备的采集数据,适应更复杂的数据采集过程。或者,可以获取一些外部采集项参数值的参数值,根据外部采集项参数值的参数值,获得所述被采集设备的采集数据,第二采集项的数据采集结果可以是由解析规则解析数据得到,也可以是外部指定的值。根据外部采集项参数值的参数值可以间接控制解析规则解析数据,从而可以获得满足外部采集项参数值限定的采集数据,使得所获得的采集数据更满足用户的需求,在一定程度上减少了传输无用数据的流量消耗。
可选的,确定与所述数据采集任务关联的至少一个解析规则,包括:
若确定所述数据采集任务的任务标识与缓存的历史数据采集任务的任务标识相同,则将所述历史数据采集任务关联的解析规则确定为与所述第一设备描述信息关联的解析规则;其中,所述数据采集任务的任务标识是对所述第一设备描述信息和/或所述数据采集任务中的采集项计算得到的。
本申请实施例中,可以将每个数据采集任务以及对应的解析规则存储至缓存中,在执行本次数据采集任务时,可以从缓存中确定与本次数据采集任务相同的历史数据采集任务,并将历史数据采集任务对应的解析规则确定为本次数据采集任务的解析规则,可以相对减少采集数据过程中的计算开销。
可选的,所述至少一个解析规则中包含各个解析规则对应的采集项之间的组合方式,根据所述至少一个解析规则,对所述被采集设备产生的数据进行解析,获得所述被采集设备的采集数据,包括:
获取所述数据采集任务中的各个采集项所对应的所述被采集设备产生的初始数据;
对各个初始数据进行解析,获得各个采集项所对应的解析后的数据;
按照所述组合方式,对各个解析后的数据进行组合,获得所述被采集设备的采集数据。
本申请实施例中,在对采集数据进行解析之后,可以根据各个解析规则之间的采集项的组合方式,对每个采集项对应的解析后的数据进行组合,使得组合后的数据的完整性更强,结构化程度更高,使得组合后的数据之间的层级关系更加明确,组合后的数据更完整,以及可读性更高。
可选的,所述方法还包括:
若确定满足预设格式的配置信息,解析所述配置信息,获得待添加解析规则;
若所述解析规则集合中不存在所述待添加解析规则相同的解析规则,则将所述待添加解析规则写入所述解析规则集合中。
本申请实施例中,可以为解析规则集合添加新的解析规则,使得解析规则集合所能解析的数据的范围更加广泛,满足更多用户的需求,并且,通过添加满足预设格式的配置信息即可添加新的解析规则,添加解析规则的方式简单,在一定程度上提高了用户的可操作性。
可选的,所述解析规则集合中每一解析规则关联一个处理单元,每个处理单元用于实现一解析规则。
本申请实施例中,每个解析规则可以关联一个处理单元,使得采集数据的时候,可以通过多个处理单元并行执行不同的解析规则,提高采集数据的效率,减少了用户等待的时间,提高了用户的使用体验。并且,并行处理可以在同一时间采集不同的数据,对于后续分析数据的因果关系等提供了条件,在一定程度上减低了后续数据分析工作的难度。
可选的,每个处理单元包括执行器和解析器,执行器用于获取一解析规则对应的被采集设备产生的数据,解析器用于解析对应的执行器获取的数据。
本申请实施例中,一个处理单元可以分成执行器和解析器,执行器用于一种网络协议的数据的获取,解析器用于一种数据格式的解析,从不同网络协议采集数据只需使用对应协议的执行器,采集到的数据使用一个数据解析器对其解析,通过组合执行器和解析器作为一个处理单元完成数据处理,使得解析器和执行器是解耦的状态,数据获取可解析的过程更加高效。
可选的,所述数据采集任务还包括采集项、各个采集项之间的组合方式或用于对采集数据进行过滤的过滤规则中的一种或多种。
本申请实施例中,数据采集任务可以包括多种信息,从而可以更加准确的匹配与数据采集任务关联的解析规则,使得获得的被采集设备的采集数据的准确性更高,获得被采集设备的采集数据的过程的自动化程度更高。
第二方面,提供一种数据采集的装置,包括:
获取模块:用于获得数据采集任务;其中,所述数据采集任务包括用于确定被采集设备的第一设备描述信息;
处理模块:用于确定与所述数据采集任务关联的至少一个解析规则;其中,所述至少一个解析规则属于解析规则集合,所述解析规则集合包括用于解析不同网络协议的设备对应的数据的解析规则;以及根据所述至少一个解析规则,对所述第一设备描述信息所对应的所述被采集设备产生的数据进行解析,获得所述被采集设备的采集数据。
可选的,所述获取模块具体用于:获取被采集设备的IP地址;以及,获得所述被采集设备的第一设备描述信息;其中,所述第一设备描述信息包括所述被采集设备的产商和所述IP地址;
所述处理模块具体用于:根据所述IP地址与所述被采集设备建立通信连接;以及,根据所述第一设备描述信息,生成数据采集任务。
可选的,所述数据采集任务还包括第一采集项,所述处理模块具体用于:
在解析规则集合中,确定与所述第一设备描述信息匹配的第一解析规则子集合;
在所述第一解析规则子集合中,确定解析所述第一采集项对应的数据所需的第一解析规则;
若确定所述第一解析规则关联第二采集项,则确定解析所述第二采集项对应的数据所需的第二解析规则;其中,与第一设备描述信息关联的至少一个解析规则包括所述第一解析规则和所述第二解析规则。
可选的,所述处理模块具体用于:
若所述数据采集任务不包括所述第一采集项对应的外部采集项参数值,则根据所述第二解析规则对所述第二采集项对应的数据进行解析,获得所述第二采集项的数据采集结果;根据所述数据采集结果以及所述第一解析规则,对所述第一采集项对应的数据进行解析,获得所述被采集设备的采集数据;或者,
若所述数据采集任务还包括所述第一采集项对应的外部采集项参数值,则根据所述外部采集项参数值以及所述第一解析规则,对所述第一采集项对应的数据进行解析,获得所述被采集设备的采集数据。
可选的,所述处理模块具体用于:
若确定所述数据采集任务的任务标识与缓存的历史数据采集任务的任务标识相同,则将所述历史数据采集任务关联的解析规则确定为与所述第一设备描述信息关联的解析规则;其中,所述数据采集任务的任务标识是对所述第一设备描述信息和/或所述数据采集任务中的采集项计算得到的。
可选的,所述获取模块具体用于:
获取所述数据采集任务中的各个采集项所对应的所述被采集设备产生的初始数据;
对各个初始数据进行解析,获得各个采集项所对应的解析后的数据;
按照所述组合方式,对各个解析后的数据进行组合,获得所述被采集设备的采集数据。
可选的,所述处理模块还用于:
若确定满足预设格式的配置信息,解析所述配置信息,获得待添加解析规则;
若所述解析规则集合中不存在所述待添加解析规则相同的解析规则,则将所述待添加解析规则写入所述解析规则集合中。
可选的,所述解析规则集合中每一解析规则关联一个处理单元,每个处理单元用于实现一解析规则。
可选的,每个处理单元包括执行器和解析器,所述执行器用于获取一解析规则对应的所述被采集设备产生的数据,所述解析器用于解析所述解析器对应的所述执行器获取的数据。
可选的,所述数据采集任务还包括采集项、采集项之间的组合方式或用于对采集数据进行过滤的过滤规则中的一种或多种。
第三方面,提供一种数据采集的装置,包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序指令执行第一方面中任一所述的方法。
第四方面,提供一种存储介质,所述存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行第一方面中任一所述的方法。
附图说明
图1为本申请实施例提供的数据采集方法的一种应用场景;
图2为本申请实施例提供的数据采集方法的一种流程图;
图3为本申请实施例提供的确定被采集设备的设备描述信息的一种流程图;
图4为本申请实施例提供的解析规则集合的一种结构示意图;
图5为本申请实施例提供的确定与数据采集任务关联的至少一个解析规则一种流程图;
图6为本申请实施例提供的获得被采集设备的采集数据的一种流程图;
图7为本申请实施例提供的一种数据采集的装置的结构示意图一;
图8为本申请实施例提供的一种数据采集的装置的结构示意图二。
具体实施方式
为了使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
另外,本申请实施例中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。
为了简化数据采集过程,本申请提供一种数据采集方法,请参考图1,为数据采集方法的一种应用场景,该应用场景中包括供用户操作的设备101、数据采集装置102和被采集设备103。图1中被采集设备103包括第一网络设备104、第二网络设备105、第一服务器106和第二服务器107。供用户操作的设备101和数据采集装置102之间可以通信,数据采集装置102和被采集设备103之间可以通信,通过对供用户操作的设备101进行操作,用户可以采集被采集设备103的数据。
其中,图1是以供用户操作的设备101为终端设备为例,实际上不限制供用户操作的设备101的具体类型。图1是以数据采集装置102为终端设备对应的服务器为例,实际上不限制数据采集装置102的具体类型。图1是以被采集设备103为第一网络设备104、第二网络设备105、第一服务器106和第二服务器107为例,实际上不限制被采集设备103的具体类型。被采集设备103可以是一个或多个,本申请实施例中不限制被采集设备103的数量。
基于图1的应用场景,下面对本申请实施例中的数据采集方法进行介绍,请参考图2,为数据采集方法的一种流程图。该方法包括:
S21,获得数据采集任务;
S22,确定与数据采集任务关联的至少一个解析规则;
S23,根据至少一个解析规则,对设备描述信息所对应的被采集设备产生的数据进行解析,获得被采集设备103的采集数据。
下面先对本申请实施例中的总体思路进行介绍:
供用户操作的设备101获得来自用户的数据采集请求,并向数据采集装置102发送该数据采集请求,数据采集装置102接收来自供用户操作的设备101的数据采集请求。数据采集装置102对接收的数据采集请求进行解析,获得该数据采集请求中用于确定被采集设备103的第一设备描述信息,生成对应的数据采集任务。数据采集装置102根据得到数据采集任务,在解析规则集合中,确定与数据采集任务关联的至少一个解析规则。数据采集装置102根据确定出的至少一个解析规则,对数据采集任务对应的被采集设备103产生的数据进行解析,得到被采集设备103的采集数据。
本申请实施例中,在解析规则集合中,为数据采集任务确定与数据采集任务关联的解析规则,根据确定的解析规则,获得被采集设备103的采集数据。其中的解析规则可以是对通过不同网络协议获得的数据进行解析的解析规则,因此,在获得被采集设备103产生的数据的过程中,可以自动匹配不同的网络协议,在对被采集设备103产生的数据进行解析的过程中,可以采用对应的解析规则进行解析,使得数据采集装置102获得被采集设备103的采集数据时,不受网络协议的限制,使得数据采集装置102可以获得多种来源的被采集设备103的采集数据。并且,本申请实施例中,将解析不同的数据格式的方法封装成不同的解析规则,数据采集装置102在对被采集设备103产生的数据进行解析的过程中,可以自动适配需要的解析规则,相较于现有的需要程序人员修改解析规则以采集不同数据格式的数据的方法,或者,需要程序人员手动切换其他网络协议对应的解析规则的方法以采集不同网络协议的数据的方法,本申请实施例中的数据采集的过程更加简单。
在介绍完本申请实施例的总体思路之后,下面对各个步骤的具体实施方式进行详细说明。
数据采集装置102在执行S21,获取数据采集任务之前,供用户操作的设备101可以接收来自用户的数据采集请求。
具体的,用户可以通过操作供用户操作的设备101,向供用户操作的设备101提交数据采集请求,供用户操作的设备101接收来自用户的数据采集请求。
在供用户操作的设备101接收来自用户的数据采集请求之后,数据采集装置102执行S21,获取数据采集任务。
具体的,供用户操作的设备101向数据采集装置102发送数据采集请求,数据采集装置102接收来自供用户操作的设备101的数据采集请求,并根据数据采集请求生成数据采集任务。数据采集任务可以包括用于确定被采集设备103的第一设备描述信息。第一设备描述信息可以包括被采集设备103的地址信息。地址信息可以是被采集设备103的IP地址,数据采集装置102可以通过IP地址确定被采集设备103,从而与被采集设备103建立通信连接;或者,地址信息可以是地址掩码或通配形式的地址描述符,数据采集装置102所在的网络系统存储了全部可用的设备地址信息集合,或者,数据采集装置102可以通过公开的接口向网络系统获取全部可用的设备地址信息集合,在全部可用的设备地址信息集合中,数据采集装置102通过地址掩码或通配形式的地址描述符,确定出被采集设备103的IP地址,数据采集装置102可以通过IP地址确定被采集设备103,从而与被采集设备103建立通信连接。
数据采集装置102在与被采集设备103建立通信连接之后,可以通过不同的网络协议向被采集设备103获取数据。数据采集装置102向被采集设备103获取的数据可以是被采集设备103的全部数据,或者,可以是通过被采集设备103传输的全部数据。不同的网络协议可以采用公共接口进行数据传输,或者,可以采用不同的接口进行数据传输,具体不作限制。
第一设备描述信息中除了包括地址信息以外,还可以包括被采集设备103的其他设备信息,其他设备信息可以是被采集设备103的产商、被采集设备103的设备型号和被采集设备103中采集软件的版本中的一种或多种。下面对其他设备信息的来源进行说明。
其他设备信息可以是来自用户输入;或者,
其他设备信息可以通过地址信息确定出来;或者,
其他设备信息中的一部分信息可以是来自用户输入,其他设备信息中的另外一部分信息可以通过来自用户输入的一部分信息确定出来。
下面对确定被采集设备103的其他设备信息的过程进行介绍。
请参考图3,为确定被采集设备103的其他设备信息的一种流程图,数据采集装置102确定被采集设备103的其他设备信息的具体流程介绍如下,其中,步骤S32和步骤S33的执行顺序可以互换,具体不作限制。
S31,数据采集装置102向被采集设备103发送产商查询信息,确定被采集设备103的产商。
具体的,数据采集装置102通过地址信息与被采集设备103建立通信连接之后,可以向被采集设备103发送产商查询信息,被采集设备103接收来自数据采集装置102的产商查询信息,并向数据采集装置102返回产商信息,数据采集装置102接收来自被采集设备103的产商信息,确定被采集设备103的产商。
例如,数据采集装置102可以采用简单网络管理协议(simple networkmanagement protocol,SNMP)中提供的产商查询方法确定被采集设备103的产商。数据采集装置102向被采集设备103发送公有对象标识符(object identifiers,OID):1.3.6.1.2.1.1.2.0,被采集设备103接收来自数据采集装置102的OID,并返回产商码:4881。数据采集装置102接收来自被采集设备103的产商码,并根据接收的产商码确定被采集设备103的产商为A。
S32,数据采集装置102向被采集设备103发送设备型号查询信息,确定被采集设备103的设备型号。
具体的,数据采集装置102向被采集设备103发送设备型号查询信息,被采集设备103接收来自数据采集装置102的设备型号查询信息,并向数据采集装置102返回设备型号信息,数据采集装置102接收来自被采集设备103的设备型号信息,确定被采集设备103的设备型号。
例如,数据采集装置102可以采用SNMP网络协议中提供的私有OID确定被采集设备103的设备型号。具体查询过程与查询被采集设备103的产商的过程相同,在此不再赘述。
S33,数据采集装置102向被采集设备103发送软件版本查询信息,确定被采集设备103的软件版本。
具体的,数据采集装置102向被采集设备103发送软件版本查询信息,被采集设备103接收来自数据采集装置102的软件版本查询信息,并向数据采集装置102返回软件版本信息,数据采集装置102接收来自被采集设备103的软件版本信息,确定被采集设备103的软件版本。
例如,数据采集装置102可以采用SNMP网络协议中提供的私有OID确定被采集设备103的软件版本。具体查询过程与查询被采集设备103的产商的过程相同,在此不再赘述。
作为一种实施例,数据采集任务除了包括第一设备描述信息之外,还可以包括第一采集项。
具体的,用户可能不需要采集被采集设备103的全部数据,或者,用户可能不需要采集通过被采集设备103传输的全部数据。数据采集任务除了包括第一设备描述信息之外,还可以包括第一采集项,第一采集项用于限定用户想要采集的数据,数据采集装置102可以只对第一采集项对应的数据进行采集。用户提交的数据采集请求中可以包括具体的采集需求,数据采集装置102接收来自供用户操作的设备101的数据采集请求之后,生成数据采集任务。在该数据采集任务中,还可以包括第一采集项,用于表示用户的具体的数据采集需求,其中,第一采集项可以是一个,或者,可以是多个,具体不作限制。第一采集项可以理解为针对被采集设备103的参数类型,例如被采集设备103的温度、CPU使用率、内存使用率,等等。
数据采集装置102获取数据采集任务之后,执行S22,确定与数据采集任务关联的至少一个解析规则。至少一个解析规则属于解析规则集合,至少一个解析规则包括与数据采集任务中的第一采集项匹配的解析规则,还可以包括与这些匹配出的解析规则关联的第二采集项对应的其他解析规则。例如,至少一个解析规则中第一解析规则为与数据采集任务中第一采集项匹配的解析规则,至少一个解析规则中第二解析规则为与第一解析规则关联的第二采集项匹配的解析规则,下面对依据不同数据来源确定至少一个解析规则的方式进行举例说明。
一:
数据采集装置102可以从解析规则集合中,确定与数据采集任务匹配的至少一个解析规则。
具体的,解析规则集合中存储有各种可以用于解析被采集设备103产生的数据的解析规则,数据采集装置102在获得第一设备描述信息之后,可以根据该第一设备描述信息从解析规则集合中确定与第一设备描述信息匹配的第一解析规则子集合,在第一解析规则子集合中,确定解析数据采集任务中的第一采集项对应的数据所需的第一解析规则。第一解析规则子集合可以理解为规则集合中的部分或全部解析规则。如果第一解析规则关联第二解析规则,则可以将第二解析规则确定为与数据采集任务匹配的至少一个解析规则。
在一种可能的实施例中,数据采集任务中涉及的被采集设备103可以是一个或多个,具体不作限制,数据采集装置102可以分别确定可以解析每个被采集设备103产生的数据的解析规则。
在一种可能的实施例中,第一设备描述信息可以是精确的设备描述信息或模糊的设备描述信息。精确的设备描述信息表示该设备描述信息更加详细,模糊的设备描述信息表示该设备描述信息更加宽泛,数据采集装置102在获得模糊的第一设备描述信息之后,可以直接根据模糊的第一设备描述信息对被采集设备103进行数据采集,或者,可以进一步获取精确的第一设备描述信息,再进行对被采集设备103的数据采集,进一步获取精确的第一设备描述信息的方式可以参照前文步骤S31~S33论述的内容,在此不再赘述。
例如,用户可能需要采集具有某一特征的设备的数据,在数据采集请求中输入了被采集设备103的设备描述信息,该设备描述信息可以是精确的设备描述信息,如包括被采集设备103的产商、设备型号、采集软件的版本等,或者,该设备描述信息可以是模糊的设备描述信息,如仅包括被采集设备103的产商。
在解析规则集合中,数据采集装置102可以为精确的第一设备描述信息匹配解析规则,所确定出的解析规则的范围更加小,或者,可以为模糊的第一描述信息匹配解析规则,所确定出的解析规则的范围更加大。
具体的,一个解析规则所声明的设备描述信息可以是精确的设备描述信息,或者,可以是模糊的设备描述信息,能与解析规则声明的精确的设备描述信息匹配的被采集设备103的数量更少,能与解析规则声明的模糊的设备描述信息匹配的被采集设备103的数量更多。声明模糊的设备描述信息的方式可以是使用正则表达式描述设备型号、采集软件的软件版本等;或者,可以是使用轻量级目录访问协议(lightweight directory accessprotocol,LDAP)描述设备型号、采集软件的软件版本等;或者,可以是几种精确的设备描述信息的组合;或者,可以是将设备描述信息作为采集项,例如,将产商作为数据采集任务中的采集项,等等。
其中,解析规则集合中包括所有可以用于解析不同网络协议对应的数据的解析规则,解析规则集合的结构可以是树结构或表形式等,本申请不限制解析规则的结构。解析规则集合中每个解析规则具有解析某个或某些被采集设备的数据的功能。每个解析规则包括以下中的一种或几种:
(1)被采集设备103的设备类型信息,设备类型信息包括产商、软件版本、设备型号等中的一种或几种。也就是,该解析规则能够解析的设备所对应的设备类型信息;
(2)解析规则对应的采集项,即对外公布自身所拥有的解析能力集;
(3)解析规则所关联的采集项,是指实现某个解析规则,可能要依赖的其他采集项。可以基于依赖的采集项,可找到依赖的其他采集项对应的解析规则;
(4)各个解析规则之间的采集项之间的组合方式,用于说明如何组装各个采集项的层级关系、平级关系、以及是否追加到列表中等动作。
在一种可能的实施例中,可以基于满足预设格式的配置信息,扩展解析规则集合。扩展的解析规则可以是一种新的网络协议的数据采集的支持,或者,可以是一种新的设备类型的数据采集的支持,或者,可以是一个新的采集项的数据采集的支持中的一种或多种,具体不作限制。
具体的,可以扩展或注销解析规则集合中的解析规则,对解析规则集合进行动态管理。一个解析规则可以具有描述解析规则所能解析的网络协议类型对应的数据的定义元素,或者,可以具有描述解析规则支持的设备类型的定义元素,或者,可以具有解析规则单元产生的采集项的定义元素,或者,可以具有描述解析规则可能关联的采集项的定义元素,或者,具有描述采集项简单组合方式的定义元素,或者,可以具有描述解析规则解析数据的处理过程的定义元素中的一种或多种。
具体扩展解析规则的方法有多种,下面首先以其中的三种扩展方法为例进行介绍。
B1:
以注解封装解析规则,根据声明的注解,扩展解析规则集合。
具体的,在采集软件的后端文件中,可以以代码的形式编写解析规则,并以注解的方式标注该解析规则,即声明了该解析规则,从而使得数据采集装置102的扫描模块根据该注解声明,获取该解析规则。在采集软件启动或者在采集软件运行时,扫描模块在采集软件的软件包中扫描以注解标注的解析规则,将扫描到的以注解标注的解析规则注册到解析规则集合中。
其中,标注解析规则可以有多种,下面以其中的一种为例进行介绍。
具体的,@protocol,标注解析规则所需的网络协议。一种网络协议作为一种数据采集代码类实现,@protocol中声明的网络协议类型对应一个网络协议数据采集类,采用该数据采集类执行对应的网络协议的数据采集;@deviceType,标注所关联的设备类型信息,如设备的产商、设备型号、采集软件的软件版本中的一种或多种;@produce,标注解析规则所能解析的采集项,并且,包含获取该采集项对应的数据的方式,可以与@protocol中声明的网络协议类型配合,如对于SNMP协议,可以声明可以解析的采集项为产商,获取方式为使用OID为1.3.6.1.2.1.1.2.0的方式;@require,标注解析规则关联的采集项;@combineWay,标注采集项的结构化的组合方式;@parser,标注数据解析过程。一种数据格式的解析以代码方式实现为一个类,@parser中声明的一个解析过程对应一个解析规则。将一个解析规则实现为一个代码类,在该代码类上标注注解,从而声明了该解析规则具备的能力。
B2:
根据以该配置文件声明的解析规则,扩展解析规则集合。
具体的,可以在采集软件的后端文件中,新增不同解析规则对应的文件,并编写新增的解析规则对应的配置文件,该配置文件用于指示新增的解析规则对应的文件的位置,以使数据采集装置102中的扫描模块根据配置文件的指示信息,确定解析规则的文件位置,并将该解析规则添加到解析规则集合中,并继续扫描下一个以配置文件声明的解析规则。
例如,用户编写可扩展标记语言(eXtensible markup language,XML)文件,在XML文件中标注了解析规则文件的位置,扫描模块获取到该XML文件后,获得解析规则文件的位置,扫描模块根据该位置信息,获得该位置信息对应的解析规则,并将解析规则添加到解析规则集合中;或者,用户编写业务描述语言(domain specific lanaguage,DSL)文件,在DSL文件的头信息中标注了解析规则文件的位置,从而扫描模块可以将该解析规则添加到解析规则集合中。
B3:
根据以业务描述语言(domain specific lanaguage,DSL)文件声明的解析规则,扩展解析规则集合。
具体的,可以将采集流程实现为一个基于动态语言的DSL文件,使得扩展解析规则的过程更加快速、灵活。在DSL中,数据解析的过程可以由一定数量的子过程组成,每个子过程处理特定的数据解析步骤,可以将每个子过程封装成一个DSL中的语法,通过组合语法的顺序组装解析过程,从而处理各种类型的数据解析。
其中,DSL文件的编写方式有多种,下面以其中的一种为例进行介绍,即按照区块定义各项的内容,具体如下表1。
请参考表1,为一种DSL文件中区块划分的方法。
表1
例如,device区块标注设备的产商、设备型号,采集软件的版本等设备类型信息;parser区块标注一个解析规则的解析过程;revision区块标注版本信息,用于版本控制。
其中,parser区块内部可以进一步划分,请参考表2,为一种parser区块的内部区块划分的方法。
表2
例如,produce区块标注解析规则所能解析的采集项对应的数据的采集项集合;require区块标注解析规则关联的采集项;command区块标注获取数据的方式等;pipeline区块标注解析数据的方式等。
在一种可能的实施例中,DSL文件的格式可以有多种,下面对其中的一种文件的格式为例,进行介绍。
具体的,被采集设备103的产商为“A”,设备型号为“N18k”,采集软件的版本为“10.14”,采用“show arp”,通过地址解析协议(address resolution protocol,ARP)获取数据,采集项为“arpTable”,并通过解析规则解析数据,具体如下:
revision‘2019-01-01’
device{
manufacturer'A'//定义产商
softVersion'10.14'//定义软件版本
model'N18k'//定义设备型号
}
parser{
command{
ssh'show arp'
}
produce'arpTable'
pipeline{
[解析规则1]{
参数1参数值
...
参数1参数值
}
[解析规则2]{
参数1参数值
...
参数1参数值
}
[解析规则n]{
参数1参数值
...
参数1参数值
}
}
}
在一种可能的实施例中,数据采集装置102存在一个DSL文件导入的接口,用于将DSL文件动态导入,解析DSL文件中的内容,并解析规则注册到解析规则集合中。
在一种可能的实施例中,扩展解析规则集合可以通过扫描模块向特定的文件位置进行扫描,获得解析规则,例如上述的B1和B2,或者,可以通过设置特定接口供采集软件主动读取解析规则,例如上述的B3,或者,可以按照模块化开发的方式,如开放服务网关标准(open service gateway initiative,OSGi)方式,将采集软件运行在支持模块化的容器中,如基于OSGi的轻量级KARAF容器,而将新增的解析规则连同配置文件独立编译成一个软件包,借助容器的热部署能力,实现动态加载软件包,加载时扫描软件包的配置文件,并解析配置文件中的内容,将解析规则注册到解析规则集合中。
例如,请参考图4,为解析规则集合的一种结构示意图。
具体的,从根开始解析规则集合分为网络设备集合对应的解析规则集合和服务器集合对应的解析规则集合,网络设备集合的下一级为网络协议集合,网络协议集合的下一级为被采集设备103的产商集合,被采集设备103的产商集合的下一级为被采集设备103的设备型号集合,被采集设备103的设备型号集合的下一级为被采集设备103中采集软件的版本,等等。
二:
数据采集装置102可以从缓存的历史数据采集任务中,确定与第一设备描述信息匹配的第一解析规则。
具体的,在缓存中,可以存储每次或者预设时间段内的数据采集任务和数据采集任务对应的解析规则,如果数据采集装置102接收的来自终端设备的第一设备描述信息与缓存中存储的历史数据采集任务中的第二设备描述信息相同,那么将第二设备描述信息对应的解析规则确定为第一设备描述信息关联的解析规则。缓存可以是数据采集装置102中的缓存,或者,可以是其他缓存设备,或者,可以是云平台,具体缓存方式不作限制。
前面论述了利用两种不同数据来源确定至少一个解析规则的方式,下面对至少一个解析规则的方式进行说明。
确定方式一:
确定与第一设备描述信息匹配的解析规则;
将匹配的解析规则确定为至少一个解析规则。
确定方式二:
确定与第一设备描述信息匹配的第一解析规则子集合;
若数据采集任务包括第一采集项,则确定第一解析规则子集合中,可以解析第一采集项对应的数据的第一解析规则;
若第一解析规则关联第二采集项,确定第二采集项对应的第二解析规则;其中,与数据采集任务关联的至少一个解析规则包括第一解析规则和第二解析规则。
请参考图5,为确定与数据采集任务关联的至少一个解析规则的一种流程图,数据采集装置102确定与所述设备描述信息关联的至少一个解析规则的具体流程介绍如下:
S51,数据采集装置102确定与数据采集任务匹配的第一解析规则。
具体的,数据采集装置102根据接收的数据采集任务,确定数据采集任务中的第一设备描述信息。数据采集装置102根据得到的第一设备描述信息,确定与第一设备描述信息匹配的第一解析规则子集合。如果数据采集任务中包括第一采集项,那么在第一解析规则子集合中,确定与数据采集任务中的第一采集项匹配的第一解析规则;如果数据采集任务中不包括第一采集项,那么第一解析规则子集合可以认为是第一解析规则。如前文所述,第一设备描述信息可以是被采集设备103的产商、被采集设备103的设备型号、被采集设备103中采集软件的版本、采集项等信息中的一种或多种。数据采集装置102分别匹配第一设备描述信息以及第一采集项中每个信息的解析规则,获得与数据采集任务匹配的第一解析规则。
S52,若第一解析规则关联第二采集项,数据采集装置102确定第二采集项对应的第二解析规则。
具体的,如果第一解析规则中关联其他未匹配解析规则的第二采集项,那么数据采集装置102继续确定分别匹配第一解析规则中关联的采集项中每个采集项的解析规则,获得与第一解析规则关联的第二采集项匹配的第二解析规则。数据采集装置102确定出的与所述设备描述信息关联的至少一个解析规则包括第一解析规则的第二解析规则。
在一种可能的实施例中,第一设备描述信息中可能包括多个设备描述信息,每确定一个设备描述信息关联的解析规则之后,可以将该设备描述信息从第一设备描述信息中删除,以防数据采集装置102重复确定该设备描述信息关联的解析规则。
在一种可能的实施例中,数据采集任务中的第一采集项可以是一个采集项,或者,可以是多个采集项。数据采集装置102每确定一个采集项关联的解析规则之后,可以将该采集项从第一采集项中删除,以防数据采集装置102重复确定该采集项关联的解析规则。
数据采集装置102确定与数据采集任务关联的至少一个解析规则之后,执行S23,根据至少一个解析规则,对被采集设备103产生的数据进行解析,获得被采集设备103的采集数据。
具体的,数据采集装置102根据至少一个解析规则中每个解析规则包含的获取数据的方法,确定数据的获取方式,并对被采集设备103进行数据采集,得到初始数据。数据采集装置102根据解析规则对对应的初始数据进行解析,获得被采集设备103的采集数据。数据采集装置102的数据采集过程和初始数据的解析过程可以同时进行,或者,数据采集装置102可以在获得所有的初始数据之后,再对所有的初始数据进行解析,具体不作限制。
下面对获得被采集设备103的采集数据的方法进行介绍。
获得采集数据的方法一:
至少一个解析规则中包含各个解析规则之间的设备描述信息的组合方式以及每个解析规则所能解析的采集项,根据至少一个解析规则各个采集项对应的数据,获得每个采集项所对应的解析后的数据;将每个采集项所对应的解析后的数据按照对应的组合方式组合,获得被采集设备的采集数据。
具体的,数据采集装置102确定出的与数据采集任务关联的至少一个解析规则中包含每个解析规则之间的采集项的组合方式,在数据采集装置102对初始数据进行解析之后,获得数据采集任务中的第一采集项中每个采集项对应的采集数据。数据采集装置102根据设备描述信息的组合方式,对每个采集项对应的采集数据进行组合,获得被采集设备103的采集数据。组合方式可以是父级-子级组合、平级组合或列表组合等,具体组合方式不作限制。
例如,端口数据可能需要通过不同的解析规则获得解析后的每个采集项对应的采集数据,第一解析规则可以得到端口的ID,即portId为2,第二解析规则可以获得可传输数据量,即bandwidth为1000,那么这两个解析后的数据的组合方式可以根据设备描述信息的组合方式确定,也就是说,portId和bandwidth为平级,那么,组合后的数据为"ports":[{"portId":"Gi0/1","bandwidth":1000}]。
获得采集数据的方法二:
请参考图6,为获得被采集设备103的采集数据的一种流程图,具体获得被采集设备103的采集数据的过程可以描述如下。
S61,数据采集装置102确定数据采集任务中是否包括外部采集项参数值。
具体的,数据采集装置102根据至少一个解析规则中每个解析规则包含的获取数据的方法,确定数据的采集方式,数据采集装置102确定数据采集任务中是否包括外部采集项参数值。外部采集项参数值可以是采集软件在采集数据的过程中产生的中间信息,或者,可以是用户输入的参数信息,具体不作限制。其中,在数据采集任务中包括外部采集项参数值的情况下,确定与数据采集任务关联的至少一个解析规则时,在S51确定第一解析规则之后,不需要执行S52,确定第二采集项对应的第二解析规则。
例如,解析规则包含的采集项中包括端口信息,且,用户限定了该端口信息为Gi0/1端口,那么数据采集装置102确定的数据采集方式为通过安全(secure shell,SSH)协议获取端口数据,且,用户限定了端口为Gi0/1端口,即表示解析规则包含外部采集项参数值Gi0/1。
S62,若确定数据采集任务中包括外部采集项参数值,则数据采集装置102将外部采集项参数值设置在数据采集过程的上下文环境中。
具体的,如果数据采集任务中包括外部采集项参数值,数据采集装置102将外部采集项参数值设置在数据采集过程的上下文环境中。上下文环境可以是一个变量存储器,用于存储解析规则涉及的外部采集项参数值。
例如,数据采集装置102需要通过SSH协议获取端口数据,那么数据采集装置102可以从用户输入的采集项中获取端口ID作为端口的参数值,并设置在上下文环境中,使得数据采集装置102可以采集该ID对应的端口的数据。数据采集装置102需要获取的端口ID即为外部采集项,需要获取的端口ID对应的值即为外部采集项参数值。
S63,数据采集装置102根据外部采集项参数值,以及至少一个解析规则,获得被采集设备103产生的数据;
具体的,数据采集装置102根据获取的外部采集项参数值,以及至少一个解析规则,对被采集设备103进行数据采集,获得初始数据。
例如,数据采集装置102需要通过SSH协议获取端口数据时,数据采集装置102获取的端口ID的参数值为2,那么数据采集装置102执行show interface[2]命令,采集端口ID为2的端口的数据。
作为一种实施例,在获得采集数据的过程中,网络协议可能由于某种原因无法正常工作,数据采集装置102可以将无法正常工作的网络协议从解析规则集合中移除,以防数据采集设备在为第一设备描述信息匹配解析规则的时候,在无法正常工作的网络协议中进行匹配。
S64,若确定数据采集任务中不包括外部采集项参数值,则数据采集装置102根据至少一个解析规则,获得被采集设备103产生的数据。
具体的,数据采集装置102根据至少一个解析规则,获得被采集设备103产生的数据。
S65,数据采集装置102对被采集设备103产生的数据进行解析,获得被采集设备103的采集数据。
具体的,数据采集装置102获取被采集设备103产生的数据,得到初始数据。在得到初始数据之后,数据采集装置102根据至少一个解析规则,对初始数据进行解析,得到至少一个解析规则中包括的第一设备描述信息中每个设备描述信息对应的数据。
在一种可能的实施例中,数据采集任务中的第一采集项中每个采集项与数据的对应关系可以规定为“键-值”格式的对应关系。第一采集项中每个采集项为一个键,该采集项对应的数据为该键对应的值。数据采集装置102对初始数据进行解析后,得到的解析后的数据以“键-值”格式存储或者传输。
例如,采集项为中央处理器(central processing unit,CPU)的使用率(cpuUsage),采集的CPU的使用率为20,也就是说,键为“cpuUsage”,该键对应的值为20,那么解析后的数据格式可以是{“cpuUsage”:20}。
获得采集数据的方法三:
解析规则集合中的每一个解析规则可以关联一个处理单元,该数据采集装置102中的处理单元可以用于执行对应的解析规则,使得数据采集装置102在为不同采集项匹配解析规则的时候可以并行处理,加快数据采集装置102的处理速度。并且,并行处理可以在同一时间采集不同的数据,对于后续分析数据的因果关系等提供了条件,在一定程度上减低了后续数据分析工作的难度。
例如,如果需要分析一个设备的CPU占用率一直居高不下的原因,可能存在内存、设备温度、网络IO繁忙等各种因素导致,此时,如果能在同一个时间点上采集到CPU使用率、内存、设备温度、网络IO等数据,那么在数据分析因果关系时就有很大的便利,若分别在不同时间点采集这些数据,则数据分析时需要额外的手段预处理数据,无疑增加了工序和降低了准确性。
进一步的,每个处理单元包括执行器和解析器,执行器用于获取一解析规则对应的被采集设备产生的数据,解析器用于对应的执行器获取的数据,实现多种采集数据的同步采集和解析,使得采集和解析过程解耦。
作为一种实施例,上述三种获得采集数据的方法可以结合实现。例如通过多个处理单元实现方法一或方法二中获得采集数据过程。
作为一种实施例,在获得每个采集项对应的数据之后,数据采集装置102可以根据预设的过滤规则,对被采集设备103的采集数据进行过滤,获得过滤后的采集数据。预设的过滤规则可以是用户通过终端设备输入的过滤规则,或者,可以是预先存储在数据采集装置102中的过滤规则,具体不作限制。
具体的,对于数据采集装置102根据用户输入的数据采集任务,获得的被采集设备103的采集数据,数据采集装置102可以根据预设的过滤规则做进一步的过滤,或者,可以发送至终端设备,令终端设备根据预设的过滤规则做进一步的过滤,获得采集数据中用户关注的数据。
例如,数据采集装置102设置在一告警系统中,数据采集装置102可以对被采集设备103采集CPU使用率,此时,采集数据包括所有被采集设备103的CPU使用率,然而,用户关注的只有CPU使用率高于某一阈值的数据,在这种情况下,可以设置过滤规则为过滤CPU使用率小于60的数据,从而,用户只会得到CPU使用率大于或者等于60的设备的数据。
在一种可能的实施例中,数据采集装置102在获得被采集设备103的采集数据之后,可以将该采集数据返回至终端设备,或者,可以将该采集数据发送至消息中间件。
具体的,数据采集装置102获得被采集设备103的采集数据之后,向终端设备发送采集数据,终端设备接收来自数据采集装置102的采集数据,终端设备可以做进一步处理,或者,可以直接向用户展示该采集数据,具体不作限制;或者,数据采集装置102将采集数据存储至消息中间件,以便其他平台间数据的交流等,消息中间件可以是kafka、ActiveMQ等,具体不作限制。
基于同一发明构思,本申请实施例提供一种数据采集的装置,该装置能够实现前述的数据采集的方法对应的功能。该装置相当于前文论述的数据采集装置102。请参考图7,该装置包括获取模块701和处理模块702。其中:
获取模块701:用于获得数据采集任务;其中,数据采集任务包括用于确定被采集设备的第一设备描述信息;
处理模块702:用于确定与数据采集任务关联的至少一个解析规则;其中,至少一个解析规则属于解析规则集合,解析规则集合包括用于解析不同网络协议的设备对应的数据的解析规则;以及根据至少一个解析规则,对第一设备描述信息所对应的被采集设备产生的数据进行解析,获得被采集设备的采集数据。
在一种可能的实施例中,获取模块701具体用于:
获取被采集设备的IP地址;以及,获得被采集设备的第一设备描述信息;其中,第一设备描述信息包括被采集设备的产商和IP地址;
处理模块702具体用于:
根据IP地址与被采集设备建立通信连接;以及,根据第一设备描述信息,生成数据采集任务。
在一种可能的实施例中,数据采集任务还包括第一采集项,处理模块702具体用于:
在解析规则集合中,确定与第一设备描述信息匹配的第一解析规则子集合;
在第一解析规则子集合中,确定解析第一采集项对应的数据所需的第一解析规则;
若确定第一解析规则关联第二采集项,则确定解析第二采集项对应的数据所需的第二解析规则;其中,与第一设备描述信息关联的至少一个解析规则包括第一解析规则和第二解析规则。
在一种可能的实施例中,处理模块702具体用于:
若数据采集任务不包括第一采集项对应的外部采集项参数值,则根据第二解析规则对第二采集项对应的数据进行解析,获得第二采集项的数据采集结果;根据数据采集结果以及第一解析规则,对第一采集项对应的数据进行解析,获得被采集设备的采集数据;或者,
若数据采集任务还包括第一采集项对应的外部采集项参数值,则根据外部采集项参数值以及第一解析规则,对第一采集项对应的数据进行解析,获得被采集设备的采集数据。
在一种可能的实施例中,处理模块702具体用于:
若确定数据采集任务的任务标识与缓存的历史数据采集任务的任务标识相同,则将历史数据采集任务关联的解析规则确定为与第一设备描述信息关联的解析规则;其中,数据采集任务的任务标识是对第一设备描述信息和/或数据采集任务中的采集项计算得到的。
在一种可能的实施例中,获取模块701具体用于:
获取数据采集任务中的各个采集项所对应的被采集设备产生的初始数据;
处理模块702具体用于:
对各个初始数据进行解析,获得各个采集项所对应的解析后的数据;
按照组合方式,对各个解析后的数据进行组合,获得被采集设备的采集数据。
在一种可能的实施例中,处理模块702还用于:
若确定满足预设格式的配置信息,解析配置信息,获得待添加解析规则;
若解析规则集合中不存在待添加解析规则相同的解析规则,则将待添加解析规则写入解析规则集合中。
在一种可能的实施例中,解析规则集合中每一解析规则关联一个处理单元,每个处理单元用于实现一解析规则。
在一种可能的实施例中,每个处理单元包括执行器和解析器,执行器用于获取一解析规则对应的被采集设备产生的数据,解析器用于解析对应的执行器获取的数据。
在一种可能的实施例中,数据采集任务还包括采集项、各个采集项之间的组合方式或用于对采集数据进行过滤的过滤规则中的一种或多种。
基于同一发明构思,本申请实施例提供一种数据采集的装置,该装置相当于前文论述的数据采集装置102,请参见图8,该装置包括:
至少一个处理器801,以及与至少一个处理器801连接的存储器802。本申请实施例中不限定处理器801与存储器802之间的具体连接介质,图8中是以处理器801和存储器802之间通过总线800连接为例。总线800在图8中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。总线800可以分为地址总线、数据总线、控制总线等,为便于表示,图8中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。或者,处理器801也可以称为控制器,对于名称不做限制。
在本申请实施例中,存储器802存储有可被至少一个处理器801执行的指令,至少一个处理器801通过执行存储器802存储的指令,可以执行前文论述的数据采集方法。处理器801可以实现图7所示的装置中各个模块的功能。
其中,处理器801是该装置的控制中心,可以利用各种接口和线路连接整个该装置的各个部分,通过运行或执行存储在存储器802内的指令以及调用存储在存储器802内的数据,该装置的各种功能和处理数据,从而对该装置进行整体监控。
在一种可能的实施例中,处理器801可包括一个或多个处理单元,处理器801可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、当前用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器801中。在一些实施例中,处理器801和存储器802可以在同一芯片上实现,在一些实施例中,它们也可以在独立的芯片上分别实现。
处理器801可以是通用处理器,例如中央处理器(CPU)、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的数据采集的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器802作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储器802可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机访问存储器(Random AccessMemory,RAM)、静态随机访问存储器(Static Random Access Memory,SRAM)、可编程只读存储器(Programmable Read Only Memory,PROM)、只读存储器(Read Only Memory,ROM)、带电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、磁性存储器、磁盘、光盘等等。存储器802是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本申请实施例中的存储器802还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
通过对处理器801进行设计编程,可以将前述实施例中介绍的数据采集的方法所对应的代码固化到芯片内,从而使芯片在运行时能够执行图2所示的实施例的数据采集的方法的步骤。如何对处理器801进行设计编程为本领域技术人员所公知的技术,这里不再赘述。
基于同一发明构思,本申请实施例还提供一种存储介质,该存储介质存储有计算机指令,当该计算机指令在计算机上运行时,使得计算机执行前文论述数据采集的方法。
在一些可能的实施例中,本申请提供的数据采集的方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在装置上运行时,程序代码用于使该装置执行本说明书上述描述的根据本申请各种示例性实施方式的数据采集的方法中的步骤。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (12)
1.一种数据采集方法,其特征在于,包括:
获得数据采集任务;其中,所述数据采集任务包括用于确定被采集设备的第一设备描述信息;
确定与所述数据采集任务关联的至少一个解析规则;其中,所述至少一个解析规则属于解析规则集合,所述解析规则集合包括用于解析不同网络协议的数据的解析规则;
根据所述至少一个解析规则,对所述被采集设备产生的数据进行解析,获得所述被采集设备的采集数据;
其中,所述数据采集任务还包括第一采集项,确定与所述数据采集任务关联的至少一个解析规则,包括:
在解析规则集合中,确定与所述第一设备描述信息匹配的第一解析规则子集合;
在所述第一解析规则子集合中,确定解析所述第一采集项对应的数据所需的第一解析规则;
若确定所述第一解析规则关联第二采集项,则确定解析所述第二采集项对应的数据所需的第二解析规则;其中,与第一设备描述信息关联的至少一个解析规则包括所述第一解析规则和所述第二解析规则。
2.根据权利要求1所述的方法,其特征在于,获得数据采集任务,包括:
获取被采集设备的IP地址;
根据所述IP地址与所述被采集设备建立通信连接;
获得所述被采集设备的第一设备描述信息;其中,所述第一设备描述信息包括所述被采集设备的产商和所述IP地址;
根据所述第一设备描述信息,生成数据采集任务。
3.根据权利要求1所述的方法,其特征在于,根据所述至少一个解析规则,对所述被采集设备产生的数据进行解析,获得所述被采集设备的采集数据,包括:
若所述数据采集任务不包括所述第一采集项对应的外部采集项参数值,则根据所述第二解析规则对所述第二采集项对应的数据进行解析,获得所述第二采集项的数据采集结果;根据所述数据采集结果以及所述第一解析规则,对所述第一采集项对应的数据进行解析,获得所述被采集设备的采集数据;或者,
若所述数据采集任务还包括所述第一采集项对应的外部采集项参数值,则根据所述外部采集项参数值以及所述第一解析规则,对所述第一采集项对应的数据进行解析,获得所述被采集设备的采集数据。
4.根据权利要求1所述的方法,其特征在于,确定与所述数据采集任务关联的至少一个解析规则,包括:
若确定所述数据采集任务的任务标识与缓存的历史数据采集任务的任务标识相同,则将所述历史数据采集任务关联的解析规则确定为与所述第一设备描述信息关联的解析规则;其中,所述数据采集任务的任务标识是对所述第一设备描述信息和/或所述数据采集任务中的采集项计算得到的。
5.根据权利要求1所述的方法,其特征在于,所述至少一个解析规则中包含各个解析规则对应的采集项之间的组合方式,根据所述至少一个解析规则,对所述被采集设备产生的数据进行解析,获得所述被采集设备的采集数据,包括:
获取所述数据采集任务中的各个采集项所对应的所述被采集设备产生的初始数据;
对各个初始数据进行解析,获得各个采集项所对应的解析后的数据;
按照所述组合方式,对各个解析后的数据进行组合,获得所述被采集设备的采集数据。
6.根据权利要求1-5任一所述的方法,其特征在于,所述方法还包括:
若确定满足预设格式的配置信息,解析所述配置信息,获得待添加解析规则;
若所述解析规则集合中不存在所述待添加解析规则相同的解析规则,则将所述待添加解析规则写入所述解析规则集合中。
7.根据权利要求1-5任一所述的方法,其特征在于,所述解析规则集合中每一解析规则关联一个处理单元,每个处理单元用于实现一解析规则。
8.根据权利要求7所述的方法,其特征在于,每个处理单元包括执行器和解析器,执行器用于获取一解析规则对应的所述被采集设备产生的数据,解析器用于解析对应的执行器获取的数据。
9.根据权利要求1-5任一所述的方法,其特征在于,所述数据采集任务还包括采集项、各个采集项之间的组合方式或用于对采集数据进行过滤的过滤规则中的一种或多种。
10.一种数据采集的装置,其特征在于,包括:
获取模块:用于获得数据采集任务;其中,所述数据采集任务包括用于确定被采集设备的第一设备描述信息;
处理模块:用于确定与所述数据采集任务关联的至少一个解析规则;其中,所述至少一个解析规则属于解析规则集合,所述解析规则集合包括用于解析不同网络协议的设备对应的数据的解析规则;以及根据所述至少一个解析规则,对所述第一设备描述信息所对应的所述被采集设备产生的数据进行解析,获得所述被采集设备的采集数据;
所述数据采集任务还包括第一采集项,所述处理模块具体用于:
在解析规则集合中,确定与所述第一设备描述信息匹配的第一解析规则子集合;
在所述第一解析规则子集合中,确定解析所述第一采集项对应的数据所需的第一解析规则;
若确定所述第一解析规则关联第二采集项,则确定解析所述第二采集项对应的数据所需的第二解析规则;其中,与第一设备描述信息关联的至少一个解析规则包括所述第一解析规则和所述第二解析规则。
11.一种数据采集的装置,其特征在于,包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序指令执行如权利要求1~9中任一项所述的方法。
12.一种存储介质,其特征在于,所述存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如权利要求1~9中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911301521.XA CN110912782B (zh) | 2019-12-17 | 2019-12-17 | 一种数据采集方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911301521.XA CN110912782B (zh) | 2019-12-17 | 2019-12-17 | 一种数据采集方法、装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110912782A CN110912782A (zh) | 2020-03-24 |
CN110912782B true CN110912782B (zh) | 2022-08-16 |
Family
ID=69826004
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911301521.XA Active CN110912782B (zh) | 2019-12-17 | 2019-12-17 | 一种数据采集方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110912782B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111767276B (zh) * | 2020-06-29 | 2024-03-15 | 北京百度网讯科技有限公司 | 数据存储方法、装置、电子设备及存储介质 |
CN112131283B (zh) * | 2020-09-30 | 2024-07-19 | 重庆市海普软件产业有限公司 | 一种可灵活扩展的智能采集系统 |
CN112491909B (zh) * | 2020-12-01 | 2023-09-01 | 三六零数字安全科技集团有限公司 | 基于doh协议的流量标识方法、装置、设备及存储介质 |
CN113515543B (zh) * | 2021-03-23 | 2024-02-13 | 广东便捷神科技股份有限公司 | 一种无人售货机自动提货方法及系统 |
CN114900387B (zh) * | 2022-05-10 | 2024-06-04 | 中移(杭州)信息技术有限公司 | 设备的跨平台融合接入方法、系统、网关及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109450922A (zh) * | 2018-11-29 | 2019-03-08 | 厦门科灿信息技术有限公司 | 一种通信数据解析方法、装置及相关设备 |
CN109766206A (zh) * | 2018-12-29 | 2019-05-17 | 北京中电普华信息技术有限公司 | 一种日志采集方法及系统 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7827132B2 (en) * | 2006-09-14 | 2010-11-02 | International Business Machines Corporation | Peer based event conversion |
CN103840955B (zh) * | 2012-11-22 | 2017-10-03 | 中国银联股份有限公司 | 分布式it系统的运营维护系统及运营维护管理方法 |
KR102144853B1 (ko) * | 2016-04-08 | 2020-08-14 | 한국전자통신연구원 | 규칙 기반 실시간 데이터 스트림 처리 방법 및 장치 |
CN107643932B (zh) * | 2017-08-31 | 2020-12-25 | 深圳天珑无线科技有限公司 | 一种数据采集方法、采集装置以及存储装置 |
CN110309113B (zh) * | 2018-03-06 | 2023-05-26 | 阿里巴巴集团控股有限公司 | 日志解析方法、系统及设备 |
CN108520043A (zh) * | 2018-03-30 | 2018-09-11 | 纳思达股份有限公司 | 数据对象采集方法、装置及系统、计算机可读存储介质 |
CN109768623B (zh) * | 2019-02-02 | 2020-03-31 | 鼎信信息科技有限责任公司 | 电力系统的监控方法、装置、计算机设备和存储介质 |
CN110417734A (zh) * | 2019-06-24 | 2019-11-05 | 广州迈峰网络科技有限公司 | 远程设备数据采集方法、装置和系统 |
-
2019
- 2019-12-17 CN CN201911301521.XA patent/CN110912782B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109450922A (zh) * | 2018-11-29 | 2019-03-08 | 厦门科灿信息技术有限公司 | 一种通信数据解析方法、装置及相关设备 |
CN109766206A (zh) * | 2018-12-29 | 2019-05-17 | 北京中电普华信息技术有限公司 | 一种日志采集方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN110912782A (zh) | 2020-03-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110912782B (zh) | 一种数据采集方法、装置及存储介质 | |
CN110933146B (zh) | 一种数据转换方法、装置和服务器 | |
CN109194617B (zh) | Xml报文的自动解析、封装方法和装置 | |
US7483959B2 (en) | Method and system for extensible data gathering | |
CN108696381B (zh) | 一种协议配置方法及装置 | |
US7007269B2 (en) | Method of providing open access to application profiling data | |
Bockermann et al. | The streams framework | |
US10013414B2 (en) | System and method for metadata enhanced inventory management of a communications system | |
US20060058982A1 (en) | Data relay device and data management system using the same | |
CN111683066B (zh) | 异构系统集成方法、装置、计算机设备和存储介质 | |
CN114490268A (zh) | 全链路监控方法、装置、设备、存储介质和程序产品 | |
CN112436964B (zh) | 一种设备适配方法及网络管理装置 | |
Chen et al. | Introduction to OPNET network simulation | |
CN111984505B (zh) | 一种运维数据采集装置及采集方法 | |
US7650346B2 (en) | User-defined type consistency checker | |
CN112187509A (zh) | 多架构云平台执行日志管理方法、系统、终端及存储介质 | |
CN114095535B (zh) | 一种将物理设备时序变量自动映射为数字模型的方法 | |
CN114025027A (zh) | 数据传输脚本的运行方法、装置、存储介质和电子装置 | |
CN111488144A (zh) | 一种数据处理方法以及设备 | |
CN116991929A (zh) | 基于医院大数据的微服务系统 | |
CN112311679B (zh) | 状态检测方法、装置、电子设备及可读存储介质 | |
CN112688884B (zh) | 加密流量自定义应用识别方法、系统、装置及存储介质 | |
KR20090090047A (ko) | Rfid 비즈니스 인식 프레임워크 | |
CN116743886A (zh) | 基于物联网的工业控制设备数据采集系统 | |
CN111913700B (zh) | 一种云-端交互协议分析方法、装置、设备及存储介质 |
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 |