数据采集方法、装置、电子设备及存储介质与流程

未命名 08-29 阅读:207 评论:0


1.本技术属于数据采集技术领域,特别是涉及一种数据中台的数据采集方法、装置、电子设备及存储介质。


背景技术:

2.数字化时代,越来越多的企业为挖掘数据价值,选择搭建可整合分散数据、并进行统一治理的数据中台。其中,数据采集是数据中台实现数据治理的第一个环节。
3.现有数据中台一般使用开源的数据同步工具采集数据,此方法多适用于无定制需求的数据采集。若要采集特定数据,则需要改动代码、设计对应的数据同步工具,不仅步骤繁琐导致效率低下,而且随着定制需求的增多,开发成本和维护难度也会显著增加,并不适用于存在多种定制数据的采集场景。
4.因此,如何设计出一种满足多样化定制数据采集需求的数据采集方法成为目前亟待解决的问题。


技术实现要素:

5.本技术的目的在于提供一种数据采集的方法、装置、电子设备及存储介质,能够满足多样化定制采集数据的需要。
6.第一方面,本技术实施例提供了一种数据采集方法,该方法包括:根据采集任务的采集需求确定采集任务的驱动参数和排程参数;驱动参数包括至少一个可调用采集驱动的参数,排程参数包括至少一个可调用采集排程的参数;启动采集任务后,根据驱动参数和排程参数采集目标数据。
7.在第一方面的一种可能的实现方式中,上述根据驱动参数和排程参数采集目标数据可以包括:根据驱动参数对应的配置参数,从至少一个可调用采集驱动中调用目标采集驱动;根据排程参数对应的配置参数,从至少一个可调用采集排程中调用目标采集排程;根据目标采集排程的采集时间和/或采集频率,利用目标采集驱动采集目标数据。
8.在第一方面的一种可能的实现方式中,在利用目标采集驱动采集目标数据时,该方法还包括:按照采集任务的采集路径参数所指示的数据采集路径,进行采集。
9.在第一方面的一种可能的实现方式中,按照采集任务的采集路径参数所指示的数据采集路径,进行采集,方法包括:按照采集任务的采集路径参数所指示的数据采集路径,利用目标采集驱动获取第一数据;当第一数据与目标数据格式一致时,将第一数据确定为目标数据;或者,当第一数据与目标数据格式不一致时,在目标采集驱动中对第一数据进行解析,得到目标数据。
10.在第一方面的一种可能的实现方式中,上述方法还包括:按照采集任务的存储路径参数所指示的存储位置和/或存储路径,对目标数据进行存储。
11.在第一方面的一种可能的实现方式中,上述方法还包括:当第一可调用采集驱动升级为第二可调用采集驱动时,将驱动参数中与第一可调用采集驱动对应的参数,修改为
与第二可调用采集驱动对应的参数。
12.在第一方面的一种可能的实现方式中,上述方法还包括:当第一可调用采集排程更换为第二可调用采集排程时,将排程参数中与第一可调用采集排程对应的参数,修改为与第二可调用采集排程对应的参数。
13.第二方面,本技术实施例提供了一种数据采集装置,该装置包括:配置模块,用于根据采集任务的采集需求确定采集任务的驱动参数和排程参数;驱动参数包括至少一个可调用采集驱动的参数,排程参数包括至少一个可调用采集排程的参数;采集模块,用于启动采集任务后,根据驱动参数和排程参数采集目标数据。
14.第三方面,本技术实施例提供了一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,处理器执行计算机程序时实现如上述第一方面或第二方面任意一种实现方式的方法。
15.第四方面,本技术实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述第一方面或第二方面任意一种实现方式的方法。
16.本技术实施例与现有技术相比存在的有益效果是:
17.本技术提出的一种数据采集方法,通过预先设置采集任务的驱动参数和排程参数,并根据设置好的驱动参数和排程参数执行采集任务,实现采集任务、采集驱动和采集排程这三个独立资源的解耦,并利用参数设置的方式将它们关联起来。此方法,使得采集程序的框架代码具备可重用性,当新增定制采集需求时,不需改动框架代码,根据需求设置对应的采集任务的参数后即可根据参数采集相应数据,这使得本方案具有很高的灵活性和适应性,可以用于满足多样化的定制需求,降低了开发和维护成本,提高了数据采集效率。
附图说明
18.图1为本技术一实施例提供的数据采集方法的应用场景示意图。
19.图2为本技术一实施例提供的数据采集方法的流程示意图。
20.图3为本技术另一实施例提供的数据采集方法的流程示意图。
21.图4为本技术另一实施例提供的数据采集方法的流程示意图。
22.图5为本技术一实施例提供的数据采集装置的结构示意图。
23.图6为本技术一实施例提供的电子设备的结构示意图。
具体实施方式
24.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
25.图1为本技术实施例提供的数据采集方法的使用场景示意图,包括:数据中台和数据源。
26.数据中台是指通过数据技术,对海量数据进行采集、计算、存储、加工,同时统一标准和口径。数据中台把数据统一之后,会形成标准数据,再进行存储,形成大数据资产层,进而可以为企业提供高效服务。
27.本技术实施例提供的数据采集方法适用于数据中台从数据源中采集数据的过程。
28.现有数据中台多采用开源的数据同步工具,将某一数据源的数据无差别地同步到数据中台,由此实现对数据的简单采集过程。当要实现定制采集时,例如只需采集某一类数据,则需要对数据同步工具的相关代码进行修改、以设计出适用于该定制需求的特定数据同步工具,不仅步骤繁琐,还会随着需求增加而开发出越来越多、适用于不同采集需求的工具,增大后期的维护难度和维护成本,并不能很好地满足便捷高效采集多样化定制数据的需要。
29.针对上述问题,本技术实施例利用采集驱动对数据进行定制采集,并根据设置好的驱动参数和排程参数执行采集任务,实现将采集任务、采集驱动和采集排程这三个独立资源解耦,并利用参数设置的方式将它们关联起来。当新增定制采集需求时,根据需求设置对应的采集任务的参数后即可根据参数采集相应数据,不需改动框架代码,可以用于满足多样化的定制需求,降低了开发和维护成本,提高了数据采集效率。
30.图2示出了本技术实施例提供的一种数据采集方法的实现流程图,图2包括以下步骤。
31.s201、根据采集任务的采集需求确定采集任务的驱动参数和排程参数。
32.采集任务是指采集特定数据的任务。
33.数据中台采集数据时,可以只采集特定的数据。这种采集不同于无差别的采集,是一种针对性的采集。具体地,采集特定数据可以指采集特定类别的数据,也可以指采集特定来源的数据。
34.将上述定制采集需求制定成任务,并利用本技术实施例的方法来完成,即可达到采集特定数据的目的。其中,该任务即为采集任务。也就是说,采集任务即为采集指定类别或指定来源等特定数据的任务。在一个例子中,数据中台(用户)产生采集雷达数据的需求时,即生成采集雷达数据的采集任务。
35.驱动参数用于指示执行采集任务时可调用的采集驱动,可以包括各可调用采集驱动的驱动名称和驱动版本。
36.应理解,采集任务的驱动参数中可以只有一个可调用采集驱动的参数,即只存在唯一的采集驱动可用于执行此项采集任务。在这种情况下,并不会直接将唯一可调用采集驱动的参数写入采集任务的驱动参数中,而是会执行本技术的完整步骤,只是在选择的时候会必然选定这个唯一的采集驱动。
37.还应理解,采集任务的驱动参数中还可以包括多个可调用采集驱动的参数,即同一项采集任务可以对应多个可调用的采集驱动,凡是可以执行此项采集任务的采集驱动都是可调用采集驱动。在这种情况下,将多个可调用采集驱动的参数均写入采集任务的驱动参数中。
38.同一采集任务对应的多个可调用采集驱动可以是完全不同的驱动,即多个可调用采集驱动之间是相对独立的,虽然都可以用于执行此项采集任务,但驱动的内核,如程序的编写方式或编写逻辑不相关联。具体地,可以表现在驱动参数中驱动名称的不同,例如驱动a和驱动b。相反的,同一采集任务对应的多个可调用采集驱动可以时也可以是同一驱动的不同版本,不同版本的形成可能是驱动程序的更新升级导致的。具体地,可以表现在驱动参数中驱动名称相同、但驱动版本不同,例如驱动a、版本1.0和驱动a、版本1.2。
39.为一项采集任务配置多个可调用采集驱动、进而在采集任务的驱动参数中写入多个可调用采集驱动的参数,这种方法的好处在于,给同一项采集任务配置了多个可以调用的采集驱动,即采集任务与采集驱动为一对多的关系,启动采集时可以从配置好的多个采集驱动中选择调用,增强了采集驱动的可选择性,同时可以实现采集驱动的灵活切换,省去了重新配置采集驱动的过程,提高了方案的灵活性和机动性。
40.还需要说明的是,针对只有一个采集驱动和一个采集排程的情况而言,本技术方案跟传统方案相比,依然是不同的,本技术相当于不需要纠结于具体数量的选择,只是选择可能包括了两个元素都只有一个情况。但是传统方案是唯一的采集驱动和唯一的采集排程,不会执行本技术中的这些步骤去选择某一个执行,而且不能包容其他采集驱动和采集排程的可能性,例如只有一个采集驱动但有多个采集排程的情况,以及只有一个采集排程但有多个采集驱动的情况,以及采集驱动和采集排程都是多个的情况。所以,本技术相比于传统方案是更灵活,包容性更高的方案。
41.在一种实现方式中,可调用采集驱动可以是由开发人员根据采集任务所需采集的数据类型编写的。在一个例子中,当采集任务为采集雷达数据时,编写用于从数据源中获取雷达数据的雷达数据采集驱动。
42.在另一种实现方式中,可调用采集驱动也可以是根据采集任务所需采集的数据类型,查找现有可用于获取该数据类型的驱动,并将其设置为该采集任务可调用的采集驱动。
43.也就是说,本技术方法提到的采集驱动并不限定来源,可以是驱动开发人员根据采集任务现编写的,也可以是从现有驱动中找到可用于执行采集任务的驱动、对其进行适应性修改得到的。
44.具体地,可以将编写的或查询得到的采集驱动打包成jar(java archive,java归档)包,并存储在驱动列表当中,以供后续调用,同时将该采集驱动的配置参数存储在驱动表中。
45.排程参数用于指示执行此项采集任务时可调用的采集排程,可以包括各可调用采集排程的排程id(identity document,编码)。
46.应理解,采集任务的排程参数中可以只有一个可调用采集排程的参数,即只存在唯一的采集排程可用于执行此项采集任务。在这种情况下,并不会直接将唯一可调用采集排程的参数写入采集任务的排程参数中,而是会执行本技术的完整步骤,只是在选择的时候会必然选定这个唯一的采集排程。
47.还应理解,采集任务的排程参数中还可以包括多个可调用采集驱排程的参数,即同一项采集任务可以对应多个可调用的采集排程。在这种情况下,将多个可调用采集排程的参数均写入采集任务的排程参数中。这种采集任务与采集排程关系为一对多的配置方式,给同一项采集任务提供了多个不同的采集排程来选择,同时可以实现采集排程的灵活切换,省去了重新配置采集排程的过程。
48.排程的定义是指将任务分配至资源的过程,而本技术实施例提到的采集排程是指采集计划。具体地,通过优化采集任务的采集顺序、采集时间等制定合理的采集计划,达到减少等待时间,提高采集效率的效果。也就是说,采集排程是用于确定采集过程中时间、频率等具体细节的采集计划。
49.s202、启动采集任务后,根据驱动参数和排程参数采集目标数据。
50.在利用本技术提出的方法采集数据时,先根据采集任务确定驱动参数和排程参数,完成对采集任务的参数需求的分析,即执行此项采集任务所需的采集驱动和采集排程。当启动采集任务后,根据采集任务的各种参数采集目标数据,即根据驱动参数和排程参数找到对应的工具或程序,利用得到的工具或程序采集目标数据。
51.在本技术实施例中,采集驱动和采集排程为独立设置的调用资源,通过预先设置采集任务的驱动参数和排程参数的方式,将它们与采集任务之间建立起通信。当启动采集时,可以直接根据相应参数调用上述两项资源,实现了采集任务、采集驱动、采集排程三者之间的解耦。当新增采集任务或原有采集任务的需要变化时,不需要更改框架代码,只需设置或修改对应的参数即可实现采集任务的新增或更新,这使得本方案具有很高的灵活性和适应性,可以用于满足多样化的定制需求,降低了开发和维护成本,提高了数据采集效率。
52.图3示出了本技术实施例提供的一种数据采集方法的实现流程图。图3可以看成是图2中步骤s202的一个示例,可以包括以下步骤。
53.s301、根据驱动参数对应的配置参数,从至少一个可调用采集驱动中调用目标采集驱动。
54.驱动参数对应的配置参数是指驱动参数对应的可调用采集驱动的配置参数。可调用采集驱动的配置参数是指可调用采集驱动的配置信息,可以包括但不限于驱动名称、驱动版本、启动配置和线程数、调用优先级、运行状态等信息。
55.根据驱动参数中记载的驱动名称和驱动版本号找到对应可调用采集驱动的配置参数,根据配置参数,选择至少一个可调用采集驱动中最适合此次采集任务的某一采集驱动,将其确定为目标采集驱动,并根据其配置参数调用该目标采集驱动。具体地,当确定目标采集驱动后,根据其配置参数中的启动配置,加载该目标采集驱动。
56.当采集任务的驱动参数中只有一个可调用采集驱动的参数时,说明此项采集任务只配置这一个采集驱动,该采集驱动即为目标采集驱动。在这种情况下,将执行本技术的完整步骤,即根据该参数(即驱动名称和驱动版本)找到该可调用采集驱动的配置参数,只是在根据配置参数选择目标采集驱动的时候会必然选定这个唯一的采集驱动。
57.当采集任务的驱动参数中包括多个可调用采集驱动的参数时,说明此项采集任务配置了多个采集驱动,需要从中选择出目标采集驱动。具体地,根据驱动参数(即驱动名称和驱动版本)找到对应的多个可调用采集驱动的配置参数,根据配置参数中的调用优先级参数选择出最适合此次采集任务的采集驱动,将其确定为目标采集驱动,并根据其配置参数中的启动配置参数调用该目标采集驱动。在一种实现方式中,根据配置参数确定目标采集驱动的方式可以是根据某种预设的规则,例如在采集驱动的配置参数中记载有调用优先级,只调用优先级最高的驱动,又例如在采集驱动的配置参数中记载有驱动版本,只调用版本最新的驱动。
58.在另一种实现方式中,根据配置参数确定目标采集驱动的方式还可以是由人工决定的,例如某一驱动或某一版本的驱动在采集某一固定来源的数据时效率最高,启动采集后,由工作人员根据驱动参数对应的配置参数,选择上述某一驱动或某一版本的驱动。
59.需要说明的是,本技术实施例对根据配置参数确定目标采集驱动的规则不作限定,可以在实际应用中由开发人员根据需求编写,体现了本技术方案的灵活性与适应性。
60.s302、根据排程参数对应的配置参数,从至少一个可调用采集排程中调用目标采
集排程。
61.排程参数对应的配置参数是指排程参数对应的可调用采集排程的配置参数。可调用采集排程的配置参数是指可调用采集排程的配置信息,可以包括但不限于排程id、采集时间、采集频率、运行状态等信息。排程id用于区分不同的采集排程。采集时间可以指此项采集排程执行时开始采集的时间。采集频率可以指此项采集排程两次采集的时间间隔。运行状态可以表明此项采集排程是否正在运行。
62.根据排程参数中记载的排程id找到对应可调用采集排程的配置参数,根据配置参数,选择至少一个可调用采集排程中最适合此次采集任务的某一采集排程,将其确定为目标采集排程,并根据其配置参数调用该目标采集排程。
63.需要说明的是,根据配置参数确定目标采集排程的方式可以是根据预先设定某种规则进行,也可以是由人工选择的,本技术对此不作限定,可以在实际应用中由开发人员根据需求编写规则。
64.s303、根据目标采集排程的采集时间和/或采集频率,利用目标采集驱动采集目标数据。
65.当经上述步骤s301确定目标采集驱动后,根据目标采集驱动的配置参数中的启动配置加载该目标采集驱动,并根据配置参数中的其他参数(如线程数)启动采集,与数据源建立联系、开辟数据下载通道。
66.采集启动后,经上述步骤s302确定目标采集排程,并根据目标采集排程的配置参数中的采集时间、采集频率等参数进行数据下载。在一种实现方式中,目标采集排程的配置参数中的采集时间为开始采集的时间,当到达采集时间后,即执行目标采集排程,根据配置参数中的采集频率进行数据的下载。
67.在本技术实施例中,叙述了如何根据设置好的驱动参数和排程参数采集目标数据的过程。其中,当设置采集驱动时对应配置了采集驱动的配置参数,其是对采集驱动程序各重要参数的表层显现。也就是说,采集驱动作为一项独立的程序资源,被分成底层的具体程序和表层用于表明该程序主要特征的参数文件,通俗地说,可以将采集驱动的配置参数看作为具体采集驱动程序的介绍目录。此方法的好处在于根据驱动参数调用采集驱动时,并非直接调用底层驱动程序本体,而是先找到对应的配置参数,根据配置参数选择合适的目标采集驱动,然后再调动。采集排程的配置参数的设计原理与采集驱动的配置参数相同。这种设计方式,使得具体的采集过程通过参数外显,当需要变动时,只需修改底层程序及对应参数,而不需要重新编写修改后的程序与采集任务之间的关联程序,缩短了开发流程,增强了现有程序的灵活性和适应性提高了数据采集效率。
68.在一种实现方式中,在利用目标采集驱动采集目标数据时,可以按照采集任务的采集路径参数所指示的数据采集路径,进行采集。
69.在此实现方式中,采集任务还可以包括采集路径参数。采集路径参数用于指示执行采集任务时,从何处采集对应的目标数据。也就是说,采集路径参数包括目标数据的来源路径。具体地,采集路径参数可以是某个数据库,也可以是某个存储地址。
70.启动采集后,根据采集路径参数确定数据采集路径,利用目标采集驱动从该数据采集路径中进行数据采集操作。
71.根据采集任务中配置的采集路径参数确定数据采集路径,通过在采集任务中配置
采集路径参数,可以在采集路径改变时,对应修改采集任务中对应的参数即可,无需修改程序代码,增强了本技术方法的机动性和灵活性。
72.图4可以看作是上述实现方式的一个示例,包括以下步骤。
73.s401、按照采集任务的采集路径参数所指示的数据采集路径,利用目标采集驱动获取第一数据。
74.第一数据是指利用目标采集驱动从数据采集路径对应的数据存储位置,下载得到的未经处理的原始数据,例如二进制编码数据。第一数据不利于后续数据的开发、治理和利用,需要被处理成统一格式的数据进行存储。
75.s402、当第一数据与目标数据格式一致时,将第一数据确定为目标数据。
76.s403、当第一数据与目标数据格式不一致时,在目标采集驱动中对第一数据进行解析,得到目标数据。
77.目标数据是符合存储格式、可直接存储并用于后续治理的数据。
78.当利用目标采集驱动获取到的第一数据与目标数据是同一数据格式时,将第一数据确认为目标数据,不需经过处理,可直接进行存储。
79.当利用目标采集驱动获取到的第一数据与目标数据的数据格式不一致时,在目标采集驱动中对第一数据进行解析处理,得到符合固定格式的目标数据。
80.在一种实现方式中,利用采集驱动对获取到的第一数据进行解析,可以得到目标数据。具体地,调用采集驱动的processfile(流程文件表)方法将下载得到的第一数据传入采集驱动里进行数据解析,得到目标数据。
81.在一个例子中,当采集雷达数据时,会根据采集任务中雷达数据的采集路径参数,利用雷达采集驱动到该路径中下载雷达文件。下载得到的雷达文件即为第一数据的一例。随后将雷达文件和采集该文件的时间通过processfile方法传入雷达采集驱动中,并利用该方法对雷达数据进行解析。具体地,先对雷达文件进行bz2解压,获取得到雷达的配置信息,根据雷达的配置信息解析雷达数据,生成雷达信息和二维数组的雷达数据。在此例中,目标数据即为解析得到的雷达信息和二维数组的雷达数据。最后,将解析得到的上述目标数据存储到采集任务中雷达数据的存储集合当中,至此完成一次雷达数据的采集任务。
82.上述方法实现了将采集得到的目标数据统一成固定格式存储,便于数据的存储及后续治理。
83.在一种实现方式中,根据采集任务的驱动参数和排程参数采集到目标数据后,可以按照采集任务的存储路径参数所指示的存储位置和/或存储路径,对目标数据进行存储。
84.在本实现方式中,采集任务还可以包括存储路径参数。存储路径参数用于指示执行采集任务时,将采集得到的目标数据存储至何处。也就是说,采集路径参数包括目标数据的存储位置和/或存储路径。具体地,存储位置可以是某个存储集合,存储路径可以是某个具体地址。
85.当利用目标采集驱动,根据目标采集排程采集得到目标数据后,将目标数据存储至存储路径参数指示的存储位置和/或存储路径。
86.上述方法可以将采集得到的目标数据存储至指定位置;且通过将数据存储路径配置到采集任务中,可以通过更改采集任务的存储路径参数直接实现存储地址的变更,无需修改程序代码,增强了本技术方法的机动性和灵活性。
87.在一个实施例中,采集任务配置的驱动参数对应的可调用采集驱动可以进行升级更新。当可调用采集驱动中的第一可调用采集驱动升级为第二可调用采集驱动时,将驱动参数中与第一可调用采集驱动对应的参数,修改为与第二可调用采集驱动对应的参数。在一个例子中,一项采集任务的驱动参数对应的可调用采集驱动的参数原本为驱动名称a、驱动版本1.0(第一可调用采集驱动的一例),当对该可调用采集驱动进行升级得到更新后的可调用采集驱动(第二可调用采集驱动的一例)时,将驱动参数对应的可调用采集驱动的参数修改为驱动名称a、驱动版本1.1。
88.此实施例可以实现对采集驱动的更新升级,且无需修改框架代码,只修改对应采集任务的驱动参数即可实现对采集任务配置更新,当后续采集时,可以直接根据更新后的采集任务的驱动参数调用升级后的采集驱动。
89.在一个实施例中,采集任务配置的排程参数对应的可调用采集排程可以更换。当可调用采集排程中的第一可调用采集排程更换为第二可调用采集排程时,将排程参数中与第一可调用采集排程对应的参数,修改为与第二可调用采集排程对应的参数。
90.此实施例可以实现对采集排程的更新升级,也无需修改框架代码,只修改对应采集任务的排程参数即可实现对采集任务配置的更新,当后续采集时,可以直接根据更新后的采集任务的排程参数调用升级后的采集排程。
91.在一个实施例中,一项采集任务可以设置大于等于两个的采集排程,即根据排程参数对应的配置参数,从至少一个可调用采集排程中调用多个目标采集排程。多个目标采集排程可以配置不同的采集时间。当执行此项采集任务时,会先加载目标采集驱动,利用目标采集驱动根据采集路径参数建立下载通道、启动采集,这个过程需要花费一段时间。而采集启动后跟从排程表中找到该采集任务对应的第一目标采集排程,并根据第一目标采集排程的配置判断是否到达采集时间。
92.当已到达第一目标采集排程的采集时间,执行第一目标采集排程,即采集驱动会根据第一目标采集排程的配置执行采集程序,从建立好的下载通道中,下载目标数据。
93.当未到达第一目标采集排程的采集时间,再进一步判断是否到达第二目标采集排程的采集时间。若已到达,则执行第二目标采集排程,即采集驱动会根据第二目标采集排程的配置执行采集程序,从建立好的下载通道中,下载目标数据。依次类推。
94.本实施例,给同一项采集任务配置采集时间不同的采集排程,可以实现根据建立下载通道所需的时间灵活选择对应的采集排程,缩短了等待时间,有效提高数据采集效率。
95.在一个实施例中,步骤s201中对每项采集任务进行配置得到的各种需求参数可以存储在任务表中。如表1所示的任务表,该任务表中存储所有采集任务的需求参数,采集任务的需求参数可以包括任务id、任务名称、采集路径参数、数据存储路径参数、驱动参数、排程参数、任务状态等参数,其中,驱动参数可以包括可调用采集驱动的驱动名称和驱动版本。
96.在一种实现方式中,当新增一项采集任务时,通过在任务表中新增任务id和名称,并配置此项采集任务的所需参数,即可根据配置好的参数执行此项采集任务。也就是说,当新增采集某一特定的数据的任务时,只需设置所需的采集驱动和采集排程,并将其相关参数写入此项任务对应参数中,便可根据该参数执行采集程序,不需要如现有采集方法般编写对应的数据同步工具,也不需要对采集程序的框架进行修改,显著提高了数据采集的效
率,减少了开发时间和开发难度。
97.表1
[0098][0099]
在一个实施例中,步骤s301中可调用采集驱动的配置参数可以存储在驱动表中。如表2所示的驱动表,该驱动表中存储有所有采集驱动的配置参数,配置参数可以有驱动id、任务名称、驱动名称、驱动版本、启动配置、线程数、调用优先级、运行状态等信息。驱动id用于区分不同的采集驱动。启动配置用于启动对应的采集驱动。运行状态用于表明此采集驱动是否正在运行。
[0100]
在一种实现方式中,当新增一项采集任务时,先根据采集任务所需采集的数据类型编写或查询对应的采集驱动,并在驱动表中记录该采集驱动的配置参数。
[0101]
表2
[0102][0103]
在一个实施例中,步骤s302中可调用采集排程的配置参数可以存储在排程表中。如表3所示的排程表,排程表中存储有所有采集排程的配置参数,配置参数可以包括排程id、采集时间、采集频率、运行状态等信息。排程id用于区分不同的采集排程。采集时间可以指此项采集排程执行时开始采集的时间。采集频率可以指此项采集排程两次采集的时间间隔。运行状态可以表明此项采集排程是否正在运行。
[0104]
在一种实现方式中,当新增一项采集任务时,根据采集任务设置对应的采集排程,并在排程表中存储该采集排程的配置参数。
[0105]
表3
[0106][0107]
设置任务表、驱动表、排程表分别存储采集任务的参数、采集驱动的配置参数、采集排程的配置参数,实现根据配置参数调用相关程序,当新增任务或条件改变时,可以通过
修改对应配置信息或参数的方式进行更新,而无须对形成框架的代码进行修改,降低了采集任务、采集驱动和采集排程之间的耦合关系,有效的提高了数据采集的效率。
[0108]
在一个实施例中,当一项采集任务仅对应唯一的可调用采集驱动和唯一的可调用采集排程时,本技术提出的数据采集方法可以包括以下步骤。
[0109]
首先,根据采集任务设置对应的采集驱动和采集排程。
[0110]
当新增采集任务后,根据该采集任务的内容设置用于获取该任务中特定数据的采集驱动。该采集驱动用于从数据源中获取数据。
[0111]
采集驱动可以是由开发人员根据采集任务编写的,也可以从现有程序中查询并改造得到的。将编写的或查询得到的采集驱动打包成jar包,并存储在驱动列表当中,以供后续调用,同时将该采集驱动的启动配置存储在驱动表中。
[0112]
当新增采集任务后,设置与该采集任务对应的采集排程。
[0113]
采集排程是与采集任务相关联的,用于确定执行采集任务时,即进行数据采集时的排程信息。
[0114]
其次,根据采集驱动确定采集任务配置信息中的驱动参数,根据采集排程确定采集任务配置信息中的排程参数。
[0115]
对每项采集任务进行配置,并将每项采集任务的配置信息存储在任务表中。
[0116]
在一种实现方式中,采集任务的配置信息至少可以包括在执行此次采集任务中用于获取特定数据的采集驱动的相关参数,以及用于确定采集时间的采集排程的相关参数。
[0117]
确定采集任务对应的采集驱动后,根据该采集驱动的相关配置信息写入采集任务配置信息中的驱动参数。具体地,驱动参数可以包括驱动名称和驱动版本号。
[0118]
确定采集任务对应的采集排程后,根据该采集排程的相关配置信息写入采集任务配置信息中的排程参数。具体地,排程参数可以包括排程id。
[0119]
最后,启动采集任务时,根据采集任务配置信息执行采集程序,采集目标数据。
[0120]
当启动采集任务时,根据采集任务配置的驱动参数调用相关驱动、根据采集任务配置的排程参数调用相关排程,对目标数据进行采集。
[0121]
对应前述实施例,当一项采集任务仅对应唯一的可调用采集驱动和唯一的可调用采集排程时,采集数据的方法还可以包括以下步骤。
[0122]
首先,根据驱动参数获取采集驱动的配置,根据采集驱动的配置调用采集驱动。
[0123]
采集驱动的配置是根据所述采集驱动设置的。
[0124]
根据采集任务配置中的驱动参数调用采集驱动。
[0125]
当启动采集任务时,根据采集任务配置信息中的驱动参数信息调用相应的采集驱动。具体地,调用的采集驱动是与驱动参数中记载的驱动名称和驱动版本是对应的。
[0126]
在一个实施例中,驱动表中存储有所有采集驱动的驱动配置参数。也就是说,根据采集任务设置对应的采集驱动后,驱动配置参数包括但不限于驱动名称、驱动版本号、驱动启动配置、线程数、采集状态、驱动最后更新时间等信息。在该实施例中,当启动第一采集任务时,根据第一采集任务配置中的驱动参数确定所需调用的采集驱动的名称和版本号;然后根据得到的名称和版本号在驱动表中找到该采集驱动对应的驱动配置;最后根据驱动配置,在对应的驱动目录里加载驱动,启动采集。
[0127]
其次,根据排程参数获取采集排程的配置,根据采集排程的配置确定采集排程。
[0128]
采集排程的配置是根据所述采集排程设置的。
[0129]
根据采集任务配置中的排程参数调用采集排程。
[0130]
当加载采集驱动、启动采集后,根据采集任务配置信息中的排程参数调用相应的采集排程。具体地,调用的采集排程是与排程参数中记载的排程id是对应的。
[0131]
在一个实施例中,排程表中存储有所有采集排程的排程配置参数。排程配置参数包括但不限于排程id、采集延迟时间、采集频率、下一次采集时间、排程状态等信息。在该实施例中,在已加载采集驱动、启动采集后,根据采集任务配置文件中的排程参数确定所需调用的采集排程的id;然后根据得到的名称在排程表中找到该采集排程对应的排程配置;最后根据排程配置,下载数据。
[0132]
最后,利用采集驱动,根据采集排程采集目标数据。
[0133]
上文主要结合附图对本技术实施例的方法进行了介绍。同时应理解,虽然如上所述的各实施例所涉及的流程图中的各个步骤依次显示,但是这些步骤并不是必然按照图中所示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。下面结合附图对本技术实施例的装置进行介绍。为了简洁,在下文介绍装置时,会进行适当省略,相关内容可以参照上文的方法中的相关描述,不再重复介绍。
[0134]
对应于上文实施例所述的数据采集方法,图5示出了本技术实施例提供的数据采集装置1000的结构框图,为了便于说明,仅示出了与本技术实施例相关的部分。
[0135]
参照图5,该数据采集装置1000包括:配置模块1001和采集模块1002。
[0136]
配置模块1001,用于根据采集任务确定采集任务的驱动参数和排程参数。
[0137]
其中,驱动参数包括至少一个可调用采集驱动的参数,排程参数包括至少一个可调用采集排程的参数。
[0138]
采集模块1002,用于启动采集任务后,根据驱动参数和排程参数采集目标数据。
[0139]
在一种实现方式中,采集模块1002还可以用于执行上述步骤s301至s303中的方法。
[0140]
在一种实现方式中,采集模块1002还可以用于执行上述步骤s401至s403中的方法。
[0141]
图6是本技术实施例提供的电子设备的结构示意图。如图6所示,该实施例的电子设备3000包括:至少一个处理器3100(图6仅示出一个)处理器、存储器3200以及存储在存储器3200中并可在至少一个处理器3100上运行的计算机程序3210,处理器3100执行计算机程序3210时实现上述实施例中的步骤。
[0142]
处理器3100可以是中央处理单元(central processing unit,cpu),该处理器3100还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的
处理器等。
[0143]
存储器3200在一些实施例中可以是电子设备3000的内部存储单元,例如电子设备3000的硬盘或内存。存储器3200在另一些实施例中也可以是电子设备3000的外部存储设备,例如电子设备3000上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。进一步地,存储器3200还可以既包括电子设备3000的内部存储单元也包括外部存储设备。存储器3200用于存储操作系统、应用程序、引导装载程序(boot loader)数据以及其他程序等,例如计算机程序的程序代码等。存储器3200还可以用于暂时地存储已经输出或者将要输出的数据。
[0144]
需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本技术方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
[0145]
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本技术的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0146]
本技术实施例还提供了一种网络设备,该网络设备包括:至少一个处理器、存储器以及存储在所述存储器中并可在所述至少一个处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任意各个方法实施例中的步骤。
[0147]
本技术实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现可实现上述各个方法实施例中的步骤。
[0148]
本技术实施例提供了一种计算机程序产品,当计算机程序产品在移动终端上运行时,使得移动终端执行时实现可实现上述各个方法实施例中的步骤。
[0149]
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质至少可以包括:能够将计算机程序代码携带到拍照装置/终端设备的任何实体或装置、记录介质、计算机存储器、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、电载波信号、电信信号以及软件分发介质。例如u盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。
[0150]
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记
载的部分,可以参见其它实施例的相关描述。
[0151]
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
[0152]
在本技术所提供的实施例中,应该理解到,所揭露的装置/网络设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/网络设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
[0153]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0154]
以上所述实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围,均应包含在本技术的保护范围之内。
[0155]
以上描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本技术实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本技术。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本技术的描述。
[0156]
应当理解,当在本技术说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
[0157]
还应当理解,在本技术说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
[0158]
如在本技术说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
[0159]
另外,在本技术说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
[0160]
在本技术说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本技术的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。

技术特征:
1.一种数据采集方法,其特征在于,包括:根据采集任务的采集需求确定所述采集任务的驱动参数和排程参数;所述驱动参数包括至少一个可调用采集驱动的参数,所述排程参数包括至少一个可调用采集排程的参数;启动所述采集任务后,根据所述驱动参数和所述排程参数采集目标数据。2.根据权利要求1所述的方法,其特征在于,所述根据所述驱动参数和所述排程参数采集目标数据,包括:根据所述驱动参数对应的配置参数,从所述至少一个可调用采集驱动中调用目标采集驱动;根据所述排程参数对应的配置参数,从所述至少一个可调用采集排程中调用目标采集排程;根据所述目标采集排程的采集时间和/或采集频率,利用所述目标采集驱动采集所述目标数据。3.根据权利要求2所述的方法,其特征在于,在利用所述目标采集驱动采集所述目标数据时,所述方法还包括:按照所述采集任务的采集路径参数所指示的数据采集路径,进行采集。4.根据权利要求3所述的方法,其特征在于,所述按照所述采集任务的采集路径参数所指示的数据采集路径,进行采集,包括:按照所述采集任务的采集路径参数所指示的数据采集路径,利用所述目标采集驱动获取第一数据;当所述第一数据与所述目标数据格式一致时,将所述第一数据确定为所述目标数据;或者,当所述第一数据与所述目标数据格式不一致时,在所述目标采集驱动中对所述第一数据进行解析,得到所述目标数据。5.根据权利要求1所述的方法,其特征在于,所述方法还包括;按照所述采集任务的存储路径参数所指示的存储位置和/或存储路径,对所述目标数据进行存储。6.根据权利要求1至5中任一项所述的方法,其特征在于,所述方法还包括:当第一可调用采集驱动升级为第二可调用采集驱动时,将所述驱动参数中与所述第一可调用采集驱动对应的参数,修改为与所述第二可调用采集驱动对应的参数。7.根据权利要求1至5中任一项所述的方法,其特征在于,所述方法还包括:当第一可调用采集排程更换为第二可调用采集排程时,将所述排程参数中与所述第一可调用采集排程对应的参数,修改为与所述第二可调用采集排程对应的参数。8.一种数据采集装置,其特征在于,包括:配置模块,用于根据采集任务的采集需求确定所述采集任务的驱动参数和排程参数;所述驱动参数包括至少一个可调用采集驱动的参数,所述排程参数包括至少一个可调用采集排程的参数;采集模块,用于启动所述采集任务后,根据所述驱动参数和所述排程参数采集目标数据。9.一种电子设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上
运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述的方法。10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的方法。

技术总结
本申请适用于数据采集技术领域,提供了一种数据采集方法、装置、电子设备及存储介质。该方法包括:根据采集任务的采集需求确定采集任务的驱动参数和排程参数,其中,驱动参数包括至少一个可调用采集驱动的参数,排程参数包括至少一个可调用采集排程的参数;启动采集任务后,根据驱动参数和排程参数采集目标数据。本申请方法,通过预先设置采集任务的驱动参数和排程参数,并根据设置好的驱动参数和排程参数执行采集任务,当新增定制采集需求时,不需改动框架代码,根据需求设置对应采集任务的参数后即可根据参数采集相应数据,灵活性和适应性高,可以用于满足多样化的定制需求,降低了开发和维护成本,提高了数据采集效率。提高了数据采集效率。提高了数据采集效率。


技术研发人员:陈波 洪英杰
受保护的技术使用者:广东畅视科技有限公司
技术研发日:2023.04.19
技术公布日:2023/8/14
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐