CN111475555A - 数据采集方法、电子设备和计算机可读存储介质 - Google Patents
数据采集方法、电子设备和计算机可读存储介质 Download PDFInfo
- Publication number
- CN111475555A CN111475555A CN202010170481.6A CN202010170481A CN111475555A CN 111475555 A CN111475555 A CN 111475555A CN 202010170481 A CN202010170481 A CN 202010170481A CN 111475555 A CN111475555 A CN 111475555A
- Authority
- CN
- China
- Prior art keywords
- acquisition
- data
- user
- operation instruction
- identification information
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 61
- 238000003860 storage Methods 0.000 title claims abstract description 11
- 230000009471 action Effects 0.000 claims description 16
- 238000013480 data collection Methods 0.000 claims description 9
- 238000009877 rendering Methods 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 6
- 239000000126 substance Substances 0.000 claims 1
- 238000012423 maintenance Methods 0.000 abstract description 16
- 238000012544 monitoring process Methods 0.000 description 6
- 230000003993 interaction Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 230000006854 communication Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000007175 bidirectional communication Effects 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000008713 feedback mechanism Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000003306 harvesting Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000033228 biological regulation Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000008358 core component Substances 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/252—Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Information Transfer Between Computers (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明实施例涉及数据采集领域,公开了一种数据采集方法、电子设备和计算机可读存储介质。本发明中,数据采集方法,应用于采集配置客户端,所述采集配置客户端预置有采集端中各采集实例的标识信息和用于对所述采集实例进行操作的操作指令,所述方法包括:获取用户选择的标识信息和操作指令;将所述用户选择的标识信息和操作指令发送至所述采集端,供所述采集端确定所述用户选择的标识信息对应的采集实例,并对确定的采集实例执行所述用户选择的操作指令,使得无需登录采集端人工修改采集程序,方便并简化了对于采集实例的运维。
Description
技术领域
本发明实施例涉及数据采集领域,特别涉及一种数据采集方法、电子设备和计算机可读存储介质。
背景技术
作为大数据生态圈的前端,实时数据采集是至关重要的一环。Flume接入kafka往HDFS写入数据,是实时大数据采集最常见的解决方案。主流的数据采集,涉及到采集实例的新增、修改、启动、停止等操作,都需要人工登录采集服务器修改采集程序进行人工运维。
然而,发明人发现相关技术中至少存在如下问题:登录采集服务器修改采集程序进行人工运维的方式繁杂且容易出错,不便于运维。
发明内容
本发明实施方式的目的在于提供一种数据采集方法、电子设备和计算机可读存储介质,使得无需登录采集端人工运维,方便并简化了对于采集实例的运维。
为解决上述技术问题,本发明的实施方式提供了一种数据采集方法,应用于采集配置客户端,所述采集配置客户端预置有采集端中各采集实例的标识信息和用于对所述采集实例进行操作的操作指令,所述方法包括:获取用户选择的标识信息和操作指令;将所述用户选择的标识信息和操作指令发送至所述采集端,供所述采集端确定所述用户选择的标识信息对应的采集实例,并对确定的采集实例执行所述用户选择的操作指令。
本发明的实施方式提供了一种数据采集方法,应用于采集端,所述采集端中预置有各采集实例与各标识信息的对应关系,所述方法包括:接收采集配置客户端发送的用户选择的标识信息和操作指令;其中,所述采集配置客户端预置有所述采集端中各采集实例的标识信息和用于对所述各采集实例进行操作的各操作指令;根据所述对应关系,确定所述用户选择的标识信息对应的采集实例;对确定的采集实例执行所述用户选择的操作指令。
本发明的实施方式还提供了一种电子设备,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,若所述电子设备为采集配置客户端,则所述至少一个处理器能够执行上述应用于采集配置客户端的数据采集方法;若所述电子设备为采集端,则所述至少一个处理器能够执行上述应用于采集端的数据采集方法。
本发明的实施方式还提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现上述应用于采集配置客户端的数据采集方法,或者实现上述应用于采集端的数据采集方法。
本发明实施方式相对于现有技术而言,提供了一种对用户友好即方便用户操作的采集配置客户端,采集配置客户端预置有采集端中各采集实例的标识信息和用于对采集实例进行操作的操作指令,方便了用户直接在采集配置客户端上根据实际需要选择标识信息和操作指令,采集配置客户端将用户选择的标识信息和操作指令发送给采集端,由采集端确定用户选择的标识信息对应的采集实例,并对确定的采集实例执行用户选择的操作指令。也就是说,本发明实施方式基于采集配置客户端与采集端之间的交互,完成对采集端的采集实例的运维,使得用户无需人工登录采集端修改复杂的采集程序,而可以直接在采集配置客户端选择标识信息和操作指令,即仅需要用户进行简单的选择操作,简化并方便了对采集实例的运维。而且,在一定程度上还降低了对运维人员的经验要求。
另外,所述将所述用户选择的标识信息和操作指令发送至所述采集端,包括:采用预设的编码模式对所述用户选择的标识信息和操作指令进行编码,得到编码后的数据;其中,所述预设的编码模式为Action://+Message,所述Action为所述用户选择的操作指令,所述Message包括所述用户选择的标识信息;将所述编码后的数据发送给所述采集端,供所述采集端对所述编码后的数据进行解码后确定所述用户选择的标识信息对应的采集实例,并对确定的采集实例执行所述用户选择的操作指令。上述编码模式即为类URL的方式,方便了采集端通过编码后的数据的头信息就直观的识别出操作指令,且通过后面的Message也方便了识别出待操作的采集实例的标识信息,从而确定标识信息对应的采集实例。
另外,所述获取采集配置信息,包括:获取大数据集群的集群特征和所述采集端的采集特征;其中,所述大数据集群用于写入采集的数据;所述集群特征用于表征所述大数据集群的繁忙程度,所述采集特征用于表征所述采集端的采集进度;根据所述集群特征、所述采集数据特征,以及预先训练的采集配置模型,获取采集配置信息。提供了一种获取采集服务的配置信息的具体方式,通过预先训练的采集配置模型有利于快速准确的得到相对较佳的配置信息。
另外,若所述操作指令为配置采集实例,则所述对确定的采集实例执行所述用户选择的操作指令,包括:获取采集配置信息;基于所述采集配置信息和预设的配置模板,通过渲染生成采集配置文件;根据所述采集配置文件,对所述确定的采集实例进行配置,并基于配置后的采集实例进行数据采集。基于获取的采集配置信息和预设的配置模板通过渲染生成采集配置文件,使得无需登陆采集端人为手工编写配置文件,有利于避免手写配置文件的繁杂且容易出错,有利于快速的得到正确的采集配置文件,方便了对采集进程的运维。
另外,在所述响应对所述采集实例的所述操作指令之后,还包括:获取大数据集群的集群特征和所述采集端的采集特征;其中,所述大数据集群用于写入采集的数据;所述集群特征用于表征所述大数据集群的繁忙程度,所述采集特征用于表征所述采集端的采集进度;根据所述集群特征和所述采集特征,对数据采集的采集策略进行调整;根据调整后的采集策略,进行数据采集。即本发明实施方式提供了一种带反馈机制的自适应大数据采集模式,可以根据集群特征和采集特征对采集策略进行自适应的调整,有利于在保证集群稳定性的同时,最大化采集效率与集群资源利用率。
另外,所述根据所述集群特征和所述采集特征,对进行数据采集时的采集策略进行调整,包括:根据所述集群特征和所述采集特征,对进行数据采集时的采集速率和采集频率进行调整;和/或;根据所述集群特征和所述采集特征,调整运行的采集实例的个数。根据集群特征和采集特征,动态调整采集速率和/或采集频率,有利于根据实际的场景控制采集速率和/或采集频率处于合理的范围内,在保证集群稳定性的同时,最大化采集效率与集群资源利用率。根据集群特征和采集特征,动态调整在采集端运行的采集实例的个数,从而可以利用数量合理的若干个采集实例并行采集数据,有利于保证集群良好协作,在不影响集群的情况下保证采集的高效性、稳定性和可运维性。
附图说明
一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定。
图1是根据本发明第一实施方式的数据采集方法的流程图;
图2是根据本发明第二实施方式的数据采集方法的流程图;
图3是根据本发明第三实施方式的数据采集方法的流程图;
图4是根据本发明第三实施方式的步骤303的子步骤的流程图;
图5是根据本发明第四实施方式的数据采集方法的流程图;
图6是根据本发明第四实施方式的数据采集方法的架构图;
图7是根据本发明第五实施方式的电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和更新,也可以实现本申请所要求保护的技术方案。以下各个实施例的划分是为了描述方便,不应对本发明的具体实现方式构成任何限定,各个实施例在不矛盾的前提下可以相互结合相互引用。
本发明的第一实施方式涉及一种数据采集方法,应用于采集配置客户端,采集配置客户端预置有采集端中各采集实例的标识信息和用于对采集实例进行不同操作的操作指令。其中,采集配置客户端可以为web或移动客户端等,采集配置客户端可以包括可视化的人机交互界面。采集端上运行着多个采集实例,且采集端中预置有各采集实例与各标识信息的对应关系,比如可以预先对采集实例进行编号,将编号作为标识信息,然而,在具体实现中,标识信息并不以此为限。
其中,采集配置客户端预置的采集端中各采集实例的标识信息可以为:采集配置客户端上可以预置有多个带有标识信息的按键,按键的标识信息即可表征采集实例的标识信息,该按键可以为虚拟按键也可以为实体按键。可选的,采集配置客户端上也可以直接显示采集端中各采集实例的标识信息。
另外,采集配置客户端预置的用于对采集实例进行操作的操作指令可以为:采集配置客户端上可以预置有多个分别代表不同操作指令的按键,该按键可以为虚拟按键也可以为实体按键。可选的,采集配置客户端上也可以直接显示不同的操作指令的名称。在具体实现中,操作指令可以为以下任意之一:配置采集实例、更新采集实例、启动采集实例、停止采集实例、重启采集实例、监控采集实例等,可以简称为:配置、更新、启动、停止、重启、监控等。
由于采集端通常同时运行有多个采集实例,因此用户可以在采集配置客户端选择标识信息和操作指令。比如,用户选择的标识信息为:“1”,选择的操作指令为“更新”,则表明用户希望对采集端中标识信息为1的采集实例执行更新操作。
下面对本实施方式的数据采集方法的实现细节进行具体的说明,以下内容仅为方便理解提供的实现细节,并非实施本方案的必须。本实施方式中的数据采集方法的流程图可以如图1所示,具体包括:
步骤101:获取用户选择的标识信息和操作指令。
在一个例子中,用户可以通过按压按键来选择标识信息和操作指令。比如采集配置客户端可以分别预置有用于表征标识信息的按键和用于表征操作指令的按键。采集配置客户端可以检测被按下的按键,根据被按下的按键确定该按键所表征的标识信息或是操作指令,从而获取用户选择的标识信息和操作指令。
在另一个例子中,用户可以直接在采集配置客户端上输入标识信息和操作指令。比如采集配置客户端可以向用户展示采集端中的采集实例的标识信息以及可执行的操作指令的名称,用户根据展示的信息可以直接输入标识信息和操作指令。比如,可以在采集配置客户端中调出虚拟键盘,通过虚拟键盘输入标识信息和操作指令。使得采集配置客户端通过用户输入的信息,获取用户选择的标识信息和操作指令。
在一个例子中,若用户选择的操作指令为新增采集配置,则还可以获取采集配置信息。其中,采集配置信息例如配置目录、文件前缀、采集的数据的数据格式、采集路径、采集的主题topic等。
在具体实现中,获取采集配置信息的方式可以为:接收用户在采集配置客户端输入的采集配置信息。采集配置客户端可以预设有多个配置项,比如:数据格式配置项、文件前缀配置项、采集的主题topic配置项等,用户可以根据采集配置客户端上的配置项,选择输入对应的配置信息。
可选的,获取采集配置信息的方式还可以为:获取大数据集群的集群特征和采集端的采集特征,根据集群特征、采集数据特征以及预先训练的采集配置模型,获取采集配置信息;其中,大数据集群用于写入采集的数据;集群特征用于表征大数据集群的繁忙程度,采集特征用于表征所述采集端的采集进度。也就是说,可以先获取当前时刻大数据集群的集群特征和采集端的采集特征,比如采集配置客户端可以分别与采集端和大数据集群建立通信,大数据集群获取集群特征后发送给采集配置客户端,采集端获取采集特征后发送给采集配置客户端,使得采集配置客户端可以获取到采集特征和集群特征。然后,将集群特征和采集特征输入预先训练的采集配置模型,输出采集配置信息。其中,集群特征可以包括以下任意之一或其组合:集群的核心组件的平均响应时长namenode rpc time、集群的内存利用率yarn、元数据数量metadata block size等,采集端的采集特征可以包括:待采集数据量kafka topic offset。集群特征可以反映当前大数据集群的繁忙程度,采集特征可以反映当前的采集进度。采集配置模型可以基于采集历史数据训练得到;其中,采集历史数据可以包括:历史配置信息、历史集群特征和历史采集特征。
步骤102:将用户选择的标识信息和操作指令发送至采集端,供采集端确定用户选择的标识信息对应的采集实例,并对确定的采集实例执行用户选择的操作指令。
在一个例子中,采集配置客户端可以与采集端直接进行通信,即采集配置客户端可以直接将用户选择的标识信息和操作指令发送至采集端。
在另一个例子中,采集配置客户端可以通过分布式消息中间件与采集端进行间接通信。即采集配置客户端可以将用户选择的标识信息和操作指令发送给分布式消息中间件,以供分布式消息中间件将用户选择的标识信息和操作指令转发至采集端。其中,分布式消息中间件可以为kafka、zookeeper等,基于分布式消息中间件可以解耦采集端与采集配置客户端,使得采集端与采集配置客户端的程序更加轻量化,便于实现采集端与采集配置客户端之间的双向信息传递,而且不用网络直连,有利于提高信息传递的网络安全。
在具体实现中,采集端中预置有各采集实例与各标识信息的对应关系,采集端根据预置的对应关系,确定用户选择的标识信息对应的采集实例。然后对确定的采集实例执行所述用户选择的操作指令,操作指令可以为:配置、更新、启动、停止、重启、监控等。若用户选择的操作指令为新增采集配置,则可以将用户选择的标识信息操作指令以及获取的采集配置信息发送至采集端,供采集端根据该采集配置信息生成采集配置文件,并基于该采集配置文件进行数据采集。
与现有技术相比,本实施方式提供了一种对用户友好即方便用户操作的采集配置客户端,采集配置客户端预置有采集端中各采集实例的标识信息和用于对采集实例进行不同操作的操作指令,方便了用户直接在采集配置客户端上根据实际需要选择标识信息和操作指令,采集配置客户端将用户选择的标识信息和操作指令发送给采集端,由采集端确定用户选择的标识信息对应的采集实例,并对确定的采集实例执行用户选择的操作指令。也就是说,本发明实施方式基于采集配置客户端与采集端之间的交互,完成对采集端的采集实例的运维,使得用户无需人工登录采集端修改复杂的采集程序,而可以直接在采集配置客户端选择标识信息和操作指令,即仅需要用户进行简单的选择操作,简化并方便了对采集实例的运维。而且,在一定程度上还降低了对运维人员的经验要求。
本发明的第二实施方式涉及一种数据采集方法。下面对本实施方式的数据采集方法的实现细节进行具体的说明,以下内容仅为方便理解提供的实现细节,并非实施本方案的必须。
本实施方式中的数据采集方法的流程图可以如图2所示,包括:
步骤201:获取用户选择的标识信息和操作指令。
步骤202:采用预设的编码模式对用户选择的标识信息和操作指令进行编码,得到编码后的数据。
其中,预设的编码模式为Action://+Message,Action为用户选择的操作指令,Message包括用户选择的标识信息。
在一个例子中,若用户选择的操作指令为配置采集实例,则采集配置客户端除了获取用户选择的标识信息和操作指令之外,还会获取采集配置信息,则上述编码模式中Message还包括采集配置信息。也就是说本步骤为:采用预设的编码模式对用户选择的标识信息、操作指令和采集配置信息进行编码,得到编码后的数据。
在一个例子中,还可以对Message进行进一步编码。比如,编码模式还可以为:Action://+Base64(JSON(Message)),也就是说,Message可以采用JSON格式,这样的好处是数据结构更加灵活。再对JSON格式的Message采用Base64进行编码,使得编码后的Message具有天然私密性的同时,可以压缩Message所占存储空间的大小,便于分享,通用性更高,前后端都通用。下面对Action://+Base64(JSON(Message))这一编码模式进行举例说明:
Action(操作指令)可以为:配置、更新、启动、停止、重启、监控等;
Message(消息体):Action为配置时,Message为采集实例的采集配置信息和标识信息,Action为更新、启动、停止、重启、监控等任意一个时,Message为采集实例的标识信息,比如采集实例的标识ID或者为该采集实例对应的采集配置文件的名称。
比如,新增一个采集实例即Action为配置时,编码后的消息数据可以如下:
newconfig://ew0KICAidiI6ICIyIiwNCiAgInBzIjogImxjbC55YW9mdW4udG9wIiwNCiAgIm FkZCI6ICJsY2wueWFvZnVuLnRvcCIsDQogICJwb3J0IjogIjQ0MyQiOiAid3MiLA0KICAidHlwZ SI6ICJub25lIiwNCiAgImhvc3QiOiAibGNsLnlhb2Z1bi50b3AiLA0KICAicGF0aCI6ICIvIiwNCiA gInRscyI6ICJ0bHMiDQp9
其中,newconfig表示Action为配置,Base64(JSON(Message))即为newconfig://后面的字符串。
步骤203:将编码后的数据发送给采集端,供采集端对编码后的数据进行解码后确定用户选择的标识信息对应的采集实例,并对确定的采集实例执行用户选择的操作指令。
具体的说,采集配置客户端可以直接将编码后的数据发送给采集端,或通过分布式消息中间件转发给采集端。
可以理解的是,由于采集配置客户端采用的编码模式为类URL的方式,采集端可以通过编码后的消息数据的头信息就直观的识别出操作指令Action,且通过后面的Message也方便了识别出确定的采集实例的标识信息或识别出采集实例的标识信息和采集配置信息。从而,采集端可以对确定的采集实例执行用户选择的操作指令。
若采集端接收到的编码后的数据中Message被进行进一步编码,则采集端可以基于对应的解码方式对Message进一步进行解码。可以理解的是,采集端和采集配置客户端可以预设好对应的编码方式和解码方式,从而顺利的进行数据交互。
与现有技术相比,本实施方式通过对要发送至采集端的信息以预设的编码模式进行编码,编码模式为类URL的方式,方便了采集端通过编码后的数据的头信息就直观的识别出操作指令,且通过后面的Message也方便了识别出待操作的采集实例的标识信息,从而确定待操作的采集实例。
本发明的第三实施方式涉及一种数据采集方法,应用于采集端,采集端可以为基于Flume采集程序的采集端,采集端中预置有各采集实例与各标识信息的对应关系。下面对本实施方式的数据采集方法的实现细节进行具体的说明,以下内容仅为方便理解提供的实现细节,并非实施本方案的必须。
本实施方式中的数据采集方法的流程图可以如图3所示,具体包括:
步骤301:接收采集配置客户端发送的用户选择的标识信息和操作指令。
其中,采集配置客户端预置有采集端中各采集实例的标识信息和用于对各采集实例进行操作的各操作指令。
步骤302:根据对应关系,确定用户选择的标识信息对应的采集实例。
也就是说,采集端中预置有各采集实例与各标识信息的对应关系,采集端根据预置的对应关系,确定用户选择的标识信息对应的采集实例。
步骤303:对确定的采集实例执行用户选择的操作指令。
当操作指令为启动/停止/重启时,则对确定的采集实例进行启动/停止/重启,从而可以控制开始进行基于该采集实例的数据采集、停止基于该采集实例的数据采集、重启基于该采集实例的数据采集。当操作指令为监控时,采集端可以实时监控该采集实例的运行过程,当探测到采集实例卡住时,可以自动重启该采集实例,并反馈该采集实例卡住的消息至采集配置客户端,保证数据采集的稳定性,可运维性。在具体实现中,还可以监控基于该采集实例采集的日志数据中是否出现异常,并将出现异常的信息反馈至采集配置客户端。在具体实现中,采集端可以预存有不同操作指令对应的执行程序,调用用户选择的操作指令对应的执行程序,以完成对确定的采集实例执行用户选择的操作指令。
当操作指令为更新时,可以理解为对确定的采集实例的采集配置文件进行更新,采集端可以从采集配置客户端发送的数据中解析得到更新后的采集配置信息,也可以根据上述的采集配置模型输出更新后的采集配置信息。从而可以根据更新后的采集配置信息对该采集实例的采集配置文件进行更新。然后,采集端可以根据更新后的采集配置文件进行数据采集。
当操作指令为配置时,采集端可以获取采集配置信息,基于采集配置信息和预设的配置模板,通过渲染生成采集配置文件,根据采集配置文件,对确定的采集实例进行配置,并基于配置后的采集实例进行数据采集。下面对操作指令为配置时,本步骤的具体实现方式进行说明,可以参考图4:
步骤3031:获取采集配置信息。
在一个例子中,采集配置短将采集配置信息发送给采集端或通过分布式消息中间件转发至采集端,即采集端可以直接接收采集配置客户端发送的采集配置信息或由分布式消息中间件转发的采集配置信息。
在另一个例子中,采集端接收得是由采集配置客户端编码后的数据,则采集端可以对编码后的数据进行解码,从而获取采集配置信息。比如,编码的数据的编码形式为:Action://+Message,则对该数据进行解码后,可以根据Message确定采集配置信息。
可选的,采集端还可以根据获取大数据集群的集群特征和采集端的采集特征,根据集群特征、采集数据特征以及预先训练的采集配置模型,获取采集配置信息。在具体实现中,若采集端确定用户选择的操作指令为配置采集实例,但并未接收到来自采集配置客户端发送的采集配置信息,则采集端也可以自己获取采集配置信息。
步骤3032:基于采集配置信息和预设的配置模板,通过渲染生成采集配置文件。
其中,预设的配置模板可以预先定义好,该配置模板中可以预先写好不同的采集配置文件中可以公用的信息。根据实际需要可以预先定义多个不同种类的配置模板,不同种类的配置模板中写入的公用信息可以不同。通过渲染自动生成采集实例对应的采集配置文件,可以理解为:将采集配置信息和预设的配置模板进行融合,将采集配置信息自动填入配置模板中,从而得到采集实例对应的采集配置文件。
在一个例子中,预设的配置模板可以存储在采集配置客户端,由采集配置客户端将配置模板发送给采集端,供采集端通过模板渲染生成采集配置文件。在具体实现中,配置模板也可以直接存储在采集端中,本实施方式对此不作具体限定。
在一个例子中,采集配置客户端可以将采集配置信息转换为二维码发送给预设的手机端,并将配置模板发送至手机端,手机端收到二维码,通过扫描二维码读取采集配置信息,然后手机端可以根据采集配置信息和配置模板,通过渲染生成采集配置文件,再把采集配置文件发给采集端。即手机端也可以轻松读取到采集配置信息,便于采集配置信息在手机端的快速分享与导入。
步骤3033:根据采集配置文件,对确定的采集实例进行配置,并基于配置后的采集实例进行数据采集。
也就是说,根据采集配置文件完成对确定的采集实例的配置,即将采集配置文件与确定的采集实例相关联,使得配置后的采集实例可以基于采集配置文件进行数据采集。在具体实现中,一个采集实例对应一个采集配置文件,采集端可以在接收到启动该采集实例的操作指令时,进行基于该采集实例的数据采集,也可以在生成采集配置文件后,自动启动采集实例进行数据采集。
需要说明的是,本实施方式中的上述各示例均为为方便理解进行的举例说明,并不对本发明的技术方案构成限定。
与现有技术相比,本实施方式中基于采集端与采集配置客户端之间的通信,使得采集端可以直接接收用户选择的标识信息和操作指令,从而直接对用户选择的标识信息对应的采集实例执行用户选择的操作指令,而无需人工登录采集端人为操作修改采集实例对应的采集程序,方便了在采集配置客户端进行采集实例的配置、启动、停止、重启、刷新、监控等,有利于实现一站式配置、启动、停止、重启、刷新、监控等服务,简化并方便了对采集实例的运维。
本发明的第四实施方式涉及一种数据采集方法。下面对本实施方式的数据采集方法的实现细节进行具体的说明,以下内容仅为方便理解提供的实现细节,并非实施本方案的必须。
本实施方式中的数据采集方法的流程图可以如图5所示,具体包括:
步骤501:接收采集配置客户端发送的用户选择的标识信息和操作指令。
步骤502:根据对应关系,确定用户选择的标识信息对应的采集实例。
步骤503:对确定的采集实例执行用户选择的操作指令。
其中,步骤501至步骤503分别与第一实施方式中步骤301至步骤303大致相同,为避免重复,在此不再一一赘述。
步骤504:获取大数据集群的集群特征和采集端的采集特征。
其中,大数据集群用于写入采集的数据。集群特征用于表征大数据集群的繁忙程度,采集特征用于表征采集端的采集进度。由于,集群特征和采集特征在第一实施方式中已经描述过,在此不再赘述。
步骤505:根据集群特征和采集特征,对数据采集的采集策略进行调整。
在一个例子中,可以根据集群特征和采集特征,对数据采集的采集速率和/或采集频率进行调整。比如说,若集群特征反映出当前大数据集群处理业务较多,较繁忙或是采集特征反映出采集端当前待采集的数据的数量较多,可以增大采集数据的采集速率和/或采集频率,反之可以降低采集速率和/或采集频率。采集速率和采集频率可以为采集配置文件中参数,在具体实现中,可以分别设置采集速率和采集频率的上限值和下限值,在采集速率的上限值和下限值之间调整采集速率,在采集频率的上限值和下限值之间调整采集频率,有利于在合理的范围内对采集速率和/或采集频率进行调整。
在一个例子中,可以预设集群特征和采集特征与采集速率和/或采集频率的对应关系,根据该对应关系,确定调整后的采集速率和/或采集频率。
在另一个例子中,若集群特征和/或采集特征满足预设的调整要求,则可以对采集速率和/或采集频率进行调整。其中,调整要求可以包括第一类调整要求和第二类调整要求,第一类调整要求包括以下任意之一或其组合:平均响应时长namenode rpc time小于第一预设时长、待采集数据量kafka topic offset大于第一预设数量、元数据数量metadatablock size小于第一预设数值、内存利用率yarn小于第一预设门限;第二类调整要求包括以下任意之一或其组合:平均响应时长namenode rpc time大于第二预设时长、待采集数据量kafka topic offset大于第二预设数量、元数据数量metadata block size大于第二预设数值、内存利用率yarn大于第二预设门限。其中,上述第一、二预设时长、第一、二预设数量、第一、二预设数值、第一、二预设门限均可以根据实际需要进行设置。在具体实现中,第二预设时长可以大于或等于第一预设时长,第一预设数量可以大于或等于第二预设数量,第二预设数值可以大于或等于第一预设数值,第二预设门限可以大于或等于第一预设门限。若集群特征和/或采集特征满足第一类调整要求,则增加采集频率和/或采集速率;若集群特征和/或采集特征满足第二类调整要求,则减小采集频率和/或采集速率。
在一个例子中,可以根据集群特征和采集特征,调整运行的采集实例的个数。采集端可以配置有采集实例的个数的初始值,在具体实现中,可以基于kafka分区数,和topic数据量合理配置采集实例个数的初始值。然后可以根据集群特征和采集特征,由采集端自动推荐出一个较佳的采集实例的个数。采集实例的个数可以预设最大值和最小值,在最大值和最小值之间动态调整采集实例的个数。比如,可以预设集群特征和采集特征与采集实例的个数的对应关系,根据该对应关系确定调整后的采集实例的个数。
在一个例子中,调整运行的采集实例的个数的方式可以为:当监控到的平均响应时长namenode rpc time大于设定阈值时(如10s),将采集实例个数减少1/3,当namenoderpc time在此后的一段时间持续递增,采集实例个数继续在此基础上减少1/3,直到减小到预设的最小值。当namenode rpc time降下来时,逐步递增采集实例的个数。
在一个例子中,调整运行的采集实例的个数的方式还可以为:监控待采集数据量kafka topic offset,当kafka topic offset值大于预设数量(比如100000)且namenoderpc time小于设定阈值(如10s),进行采集实例的动态递增。
步骤506:根据调整后的采集策略,进行数据采集。
也就是说,采集端在进行数据采集时,可以基于调整后的采集速率和/或采集频率,进行数据采集,和/或,基于调整后的若干个采集实例并行采集数据。
为进一步方便对本实施方式的理解,可以参考图6,图6为数据采集的架构图。其中,采集配置客户端601通过分布式消息中间件602与采集端603进行双向通信,采集端603可以为基于Flume采集程序的采集端。需要说明的是,本示例只是以采集配置客户端601通过分布式消息中间件602与采集端603进行双向通信为例,在具体实现中,采集配置客户端601与采集端603之间也可以直接进行通信。
采集配置客户端601,用于通过一种JSON Base64以及URL结合的方式生成编码后的数据,该编码后的数据可以表示为Action://+Base64(JSON(Message)),采集配置客户端601将编码后的数据发送至分布式消息中间件602,分布式消息中间件602再转发至采集端603。
消息解析模块6031用于对编码后的数据进行解析,确定用户选择的采集实例和对采集实例的操作指令。模型推荐模块6033,用于若解码得到操作指令为配置,则将集群特征和采集特征输入预先训练的采集配置模型,从而输出较佳的采集配置信息。模板渲染模块6032,用于若解码得到操作指令为配置,则根据获取的采集配置信息和预先定义好的配置模板,实时渲染出采集配置文件,自动配置并启动Flume采集实例。采集优化模块6034用于基于采集特征和集群特征,调整采集策略,包括采集速率、采集频率的调整,以及Flume采集实例个数的自适应动态增减,以最大化采集与集群的稳定性。
与现有技术相比,本实施方式中,提供了一种带反馈机制的自适应大数据采集模式,可以根据集群特征和采集特征对采集策略进行自适应的调整。根据集群特征和采集特征,动态调整采集速率和/或采集频率,有利于根据实际的场景控制采集速率和/或采集频率处于合理的范围内,在保证集群稳定性的同时,最大化采集效率与集群资源利用率。根据集群特征和采集特征,动态调整在采集端运行的采集实例的个数,从而可以利用数量合理的若干个采集实例并行采集数据,有利于保证集群良好协作,在不影响集群的情况下保证采集的高效性、稳定性和可运维性。
不难发现,本实施方式可以与第一或二实施方式相互相配合实施。第一或二实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第一或第二实施方式中。
上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包括相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的更新或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。
本发明第五实施方式涉及一种电子设备,如图7所示,包括:至少一个处理器701;以及,与至少一个处理器701通信连接的存储器702;其中,存储器702存储有可被至少一个处理器701执行的指令,指令被至少一个处理器701执行,其中,若所述电子设备为采集配置客户端,则所述至少一个处理器701能够执行如第一或二实施方式中所述的数据采集方法;若所述电子设备为采集端,则所述至少一个处理器701能够执行如第三或第四实施方式所述的数据采集方法。
其中,存储器702和处理器701采用总线方式连接,总线可以包括任意数量的互联的总线和桥,总线将一个或多个处理器701和存储器702的各种电路连接在一起。总线还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路连接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口在总线和收发机之间提供接口。收发机可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。经处理器701处理的数据通过天线在无线介质上进行传输,进一步,天线还接收数据并将数据传送给处理器701。
处理器701负责管理总线和通常的处理,还可以提供各种功能,包括定时,外围接口,电压调节、电源管理以及其他控制功能。而存储器702可以被用于存储处理器701在执行操作时所使用的数据。
本发明第六实施方式涉及一种计算机可读存储介质,存储有计算机程序。计算机程序被处理器执行时实现上述方法实施例。
即,本领域技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域的普通技术人员可以理解,上述各实施方式是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。
Claims (10)
1.一种数据采集方法,其特征在于,应用于采集配置客户端,所述采集配置客户端预置有采集端中各采集实例的标识信息和用于对所述采集实例进行操作的操作指令,所述方法包括:
获取用户选择的标识信息和操作指令;
将所述用户选择的标识信息和操作指令发送至所述采集端,供所述采集端确定所述用户选择的标识信息对应的采集实例,并对确定的采集实例执行所述用户选择的操作指令。
2.根据权利要求1所述的数据采集方法,其特征在于,所述将所述用户选择的标识信息和操作指令发送至所述采集端,包括:
采用预设的编码模式对所述用户选择的标识信息和操作指令进行编码,得到编码后的数据;其中,所述预设的编码模式为Action://+Message,所述Action为所述用户选择的操作指令,所述Message包括所述用户选择的标识信息;
将所述编码后的数据发送给所述采集端,供所述采集端对所述编码后的数据进行解码后确定所述用户选择的标识信息对应的采集实例,并对确定的采集实例执行所述用户选择的操作指令。
3.根据权利要求2所述的数据采集方法,其特征在于,若所述用户选择的操作指令为配置采集实例,则在所述获取用户选择的标识信息和操作指令之后,还包括:
获取采集配置信息;
所述采用预设的编码模式对所述用户选择的标识信息和操作指令进行编码,得到编码后的数据,包括:
采用预设的编码模式对所述采集配置信息、所述用户选择的标识信息和操作指令进行编码,得到编码后的数据;其中,所述预设的编码模式中的所述Message还包括所述采集配置信息,所述采集配置信息用于供所述采集端生成采集配置文件以完成对所述用户选择的标识信息对应的采集实例的配置。
4.根据权利要求3所述的数据采集方法,其特征在于,所述获取采集配置信息,包括:
获取大数据集群的集群特征和所述采集端的采集特征;其中,所述大数据集群用于写入采集的数据;所述集群特征用于表征所述大数据集群的繁忙程度,所述采集特征用于表征所述采集端的采集进度;
根据所述集群特征、所述采集特征以及预先训练的采集配置模型,获取采集配置信息。
5.一种数据采集方法,其特征在于,应用于采集端,所述采集端中预置有各采集实例与各标识信息的对应关系,所述方法包括:
接收采集配置客户端发送的用户选择的标识信息和操作指令;其中,所述采集配置客户端预置有所述采集端中各采集实例的标识信息和用于对所述各采集实例进行操作的各操作指令;
根据所述对应关系,确定所述用户选择的标识信息对应的采集实例;
对确定的采集实例执行所述用户选择的操作指令。
6.根据权利要求5所述的数据采集方法,其特征在于,若所述操作指令为配置采集实例,则所述对确定的采集实例执行所述用户选择的操作指令,包括:
获取采集配置信息;
基于所述采集配置信息和预设的配置模板,通过渲染生成采集配置文件;
根据所述采集配置文件,对所述确定的采集实例进行配置,并基于配置后的采集实例进行数据采集。
7.根据权利要求5所述的数据采集方法,其特征在于,在所述对确定的采集实例执行所述用户选择的操作指令之后,还包括:
获取大数据集群的集群特征和所述采集端的采集特征;其中,所述大数据集群用于写入采集的数据;所述集群特征用于表征所述大数据集群的繁忙程度,所述采集特征用于表征所述采集端的采集进度;
根据所述集群特征和所述采集特征,对数据采集的采集策略进行调整;
根据调整后的采集策略,进行数据采集。
8.根据权利要求7所述的数据采集方法,其特征在于,所述根据所述集群特征和所述采集特征,对进行数据采集时的采集策略进行调整,包括:
根据所述集群特征和所述采集特征,对数据采集的采集速率和采集频率进行调整;和/或;
根据所述集群特征和所述采集特征,调整运行的采集实例的个数。
9.一种电子设备,其特征在于,包括
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行;
若所述电子设备为采集配置客户端,则所述至少一个处理器能够执行如权利要求1至4中任一所述的数据采集方法;
若所述电子设备为采集端,则所述至少一个处理器能够执行如权利要求5至8中任一所述的数据采集方法。
10.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至4中任一项所述的数据采集方法,或者实现权利要求5至8中任一项所述的数据采集方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010170481.6A CN111475555B (zh) | 2020-03-12 | 2020-03-12 | 数据采集方法、电子设备和计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010170481.6A CN111475555B (zh) | 2020-03-12 | 2020-03-12 | 数据采集方法、电子设备和计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111475555A true CN111475555A (zh) | 2020-07-31 |
CN111475555B CN111475555B (zh) | 2024-01-30 |
Family
ID=71747402
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010170481.6A Active CN111475555B (zh) | 2020-03-12 | 2020-03-12 | 数据采集方法、电子设备和计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111475555B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114598602A (zh) * | 2022-03-09 | 2022-06-07 | 树根互联股份有限公司 | 数据获取方法、装置、计算机设备及计算机可读存储介质 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101369916A (zh) * | 2007-08-15 | 2009-02-18 | 中兴通讯股份有限公司 | 性能指标的采集方法 |
WO2011155023A1 (ja) * | 2010-06-08 | 2011-12-15 | 株式会社日立製作所 | 保守作業事例収集装置、保守作業事例収集方法及び保守作業事例収集プログラム |
US20130124669A1 (en) * | 2011-11-10 | 2013-05-16 | Eric Paul Anderson | System for monitoring eleastic cloud-based computing systems as a service |
US9298788B1 (en) * | 2013-03-11 | 2016-03-29 | DataTorrent, Inc. | Checkpointing in distributed streaming platform for real-time applications |
US20170093660A1 (en) * | 2015-09-29 | 2017-03-30 | International Business Machines Corporation | Inter-nodes multicasting communication in a monitoring infrastructure |
CN106960010A (zh) * | 2017-02-28 | 2017-07-18 | 普奥云信息科技(北京)有限公司 | 设备元数据生成装置 |
CN107544722A (zh) * | 2016-06-24 | 2018-01-05 | 平安科技(深圳)有限公司 | 一种监测方法及终端 |
CN108768791A (zh) * | 2018-07-04 | 2018-11-06 | 山东汇贸电子口岸有限公司 | 一种信息采集配置管理系统及方法 |
CN109284212A (zh) * | 2017-07-21 | 2019-01-29 | 中兴通讯股份有限公司 | 一种跟踪、监控软件行为的方法、装置及设备 |
CN109495347A (zh) * | 2018-12-10 | 2019-03-19 | 北京北信源信息安全技术有限公司 | 一种数据采集方法及系统 |
-
2020
- 2020-03-12 CN CN202010170481.6A patent/CN111475555B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101369916A (zh) * | 2007-08-15 | 2009-02-18 | 中兴通讯股份有限公司 | 性能指标的采集方法 |
WO2011155023A1 (ja) * | 2010-06-08 | 2011-12-15 | 株式会社日立製作所 | 保守作業事例収集装置、保守作業事例収集方法及び保守作業事例収集プログラム |
US20130124669A1 (en) * | 2011-11-10 | 2013-05-16 | Eric Paul Anderson | System for monitoring eleastic cloud-based computing systems as a service |
US9298788B1 (en) * | 2013-03-11 | 2016-03-29 | DataTorrent, Inc. | Checkpointing in distributed streaming platform for real-time applications |
US20170093660A1 (en) * | 2015-09-29 | 2017-03-30 | International Business Machines Corporation | Inter-nodes multicasting communication in a monitoring infrastructure |
CN107544722A (zh) * | 2016-06-24 | 2018-01-05 | 平安科技(深圳)有限公司 | 一种监测方法及终端 |
CN106960010A (zh) * | 2017-02-28 | 2017-07-18 | 普奥云信息科技(北京)有限公司 | 设备元数据生成装置 |
CN109284212A (zh) * | 2017-07-21 | 2019-01-29 | 中兴通讯股份有限公司 | 一种跟踪、监控软件行为的方法、装置及设备 |
CN108768791A (zh) * | 2018-07-04 | 2018-11-06 | 山东汇贸电子口岸有限公司 | 一种信息采集配置管理系统及方法 |
CN109495347A (zh) * | 2018-12-10 | 2019-03-19 | 北京北信源信息安全技术有限公司 | 一种数据采集方法及系统 |
Non-Patent Citations (1)
Title |
---|
焦慧萱: "基于O2O平台运营商的供应商评价选择研究" * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114598602A (zh) * | 2022-03-09 | 2022-06-07 | 树根互联股份有限公司 | 数据获取方法、装置、计算机设备及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111475555B (zh) | 2024-01-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108027725B (zh) | 指导终端设备操作的方法、装置和设备 | |
CN105825851B (zh) | 一种基于Android系统的语音控制方法及系统 | |
US11711431B2 (en) | Internet of things configurable event and action sequencing framework | |
CN104052797B (zh) | 分发控制系统、分发系统和分发控制方法 | |
CN109510754B (zh) | 在线文档生成方法、装置、系统和电子设备 | |
CN111651639B (zh) | 一种地址空间管理方法、装置、设备和介质 | |
CN111475555B (zh) | 数据采集方法、电子设备和计算机可读存储介质 | |
CN112003976A (zh) | 硬编硬解测试方法及装置 | |
CN110968367A (zh) | 一种电商商品字段配置方法、装置、服务器及存储介质 | |
CN113467832A (zh) | 设备控制处理方法、装置、存储介质及电子装置 | |
CN111090770A (zh) | 数据信息的获取方法、装置及系统、家用电器 | |
CN111143017B (zh) | 云操作系统交互处理方法、客户端及云操作系统 | |
AU2019101539A4 (en) | Android-based image and text information feedback terminal system | |
WO2018058895A1 (zh) | 一种基于rcs消息的终端控制方法及装置 | |
CN109032496A (zh) | 一种改变智能键盘按键显示及按键音的方法及系统 | |
CN105491406A (zh) | 一种视频分享装置、方法、系统和便携式设备 | |
CN107395493B (zh) | 一种基于意图Intent分享消息的方法及装置 | |
CN111064976A (zh) | 一种直播信息的发送方法及服务器 | |
WO2017193955A1 (zh) | 一种管理方法及系统、终端及服务器 | |
CN113300919A (zh) | 基于社交软件群组功能的智能家电控制方法与智能家电 | |
CN106850786B (zh) | 射频设备控制方法、服务器、射频主机和射频设备控制系统 | |
WO2020113434A1 (zh) | 处理时间记录的方法和装置 | |
CN113325745B (zh) | 一种设备控制方法、终端、存储介质及电子装置 | |
CN111901253B (zh) | 用于存储系统的流量控制方法、装置、介质及电子设备 | |
CN108540452B (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 |