CN117312435A - 数据采集方法、装置及电子设备 - Google Patents
数据采集方法、装置及电子设备 Download PDFInfo
- Publication number
- CN117312435A CN117312435A CN202311568549.6A CN202311568549A CN117312435A CN 117312435 A CN117312435 A CN 117312435A CN 202311568549 A CN202311568549 A CN 202311568549A CN 117312435 A CN117312435 A CN 117312435A
- Authority
- CN
- China
- Prior art keywords
- variable
- data
- acquired
- variable name
- acquisition
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 75
- 238000013507 mapping Methods 0.000 claims abstract description 71
- 238000012545 processing Methods 0.000 claims description 19
- 230000008676 import Effects 0.000 claims description 18
- 238000013480 data collection Methods 0.000 claims description 15
- 238000012795 verification Methods 0.000 claims description 12
- 238000003860 storage Methods 0.000 claims description 9
- 230000008569 process Effects 0.000 description 10
- 238000004140 cleaning Methods 0.000 description 9
- 238000007726 management method Methods 0.000 description 9
- 238000011161 development Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 4
- 238000000586 desensitisation Methods 0.000 description 4
- 238000001514 detection method Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 238000007405 data analysis Methods 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000013075 data extraction Methods 0.000 description 2
- 235000003332 Ilex aquifolium Nutrition 0.000 description 1
- 241000209027 Ilex aquifolium Species 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000002860 competitive effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000007418 data mining Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- 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/254—Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses
-
- 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
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种数据采集方法、装置及电子设备,获取针对待采集数据的至少一个变量映射表;其中,每个变量映射表包括第一变量名和与第一变量名绑定的变量表;变量表中包括至少一个与待采集数据相关联的变量值;基于每个变量映射表创建待采集数据对应的采集任务;其中,采集任务中携带有与每个第一变量名相关联的变量名信息;运行采集任务,以根据每个变量名信息,以及与每个第一变量名绑定的变量表中的变量值,从预设数据源中采集待采集数据。该方式可以根据待采集数据灵活设置变量表中的变量值,进而创建采集任务,在执行采集任务时,即可根据第一变量名相关联的变量名信息及变量表中的变量值实现对待采集数据的采集,提高了数据采集的效率。
Description
技术领域
本发明涉及数据处理技术领域,尤其是涉及一种数据采集方法、装置及电子设备。
背景技术
随着互联网信息技术飞速发展,数字经济与实体经济不断融合,企业信息化与政务信息化建设深入推进,各行各业已逐渐步入大数据时代。数据资源是起点,数据资产是终点,让大量的数据变得可控制、可变现、可度量,从而形成数据资产,就涉及到大数据的采、存、管、用整个链路。其中,数据采集的目的是为了数据应用。数据采集,是数据分析和应用的首要环节。相关技术中的数据采集方法,往往是以固定采集策略为主,采集策略欠缺灵活性,降低了数据采集的效率。
发明内容
本发明的目的在于提供一种数据采集方法、装置及电子设备,以提高数据采集的灵活性和采集效率。
本发明提供的一种数据采集方法,方法包括:获取预先创建的针对待采集数据的至少一个变量映射表;其中,每个变量映射表包括第一变量名和与第一变量名绑定的变量表;变量表中包括至少一个与待采集数据相关联的变量值;基于每个变量映射表创建待采集数据对应的采集任务;其中,采集任务中携带有与每个第一变量名相关联的变量名信息;运行采集任务,以根据每个变量名信息,以及与每个第一变量名绑定的变量表中的变量值,从预设数据源中采集待采集数据。
进一步的,每个变量映射表通过以下方式创建:接收变量表创建请求;根据变量表创建请求,按预设第一创建方式创建变量表;接收变量值导入请求;其中,变量值导入请求中携带有至少一个与待采集数据相关联的变量值;根据变量值导入请求,按预设导入方式将每个变量值导入至变量表;接收变量名创建请求;其中,变量名创建请求中携带有第一变量名;根据变量名创建请求,按预设第二创建方式创建第一变量名对应的变量,将第一变量名对应的变量与变量表进行绑定,得到针对待采集数据的变量映射表。
进一步的,基于每个变量映射表创建待采集数据对应的采集任务的步骤包括:接收采集任务创建请求;其中,采集任务创建请求中携带有第一变量名和初始执行语句;初始执行语句中包括与第一变量名相关联的变量名信息;基于采集任务创建请求,创建待采集数据对应的采集任务。
进一步的,运行采集任务,以根据每个变量名信息,以及与每个第一变量名绑定的变量表中的变量值,从预设数据源中采集待采集数据的步骤包括:运行采集任务,遍历检测采集任务中的初始执行语句中,每个变量名信息;针对每个变量名信息,检测该变量名信息对应的第一变量名所属的变量类型;根据变量类型,对变量名信息与第一变量名对应的变量值的之间的映射关系进行校验,得到校验结果;如果校验结果指示变量名信息与第一变量名对应的变量值的之间的映射关系正确,将初始执行语句中的变量名信息替换为具有映射关系的变量值,得到初始执行语句对应的可执行语句;运行可执行语句,以从预设数据源中采集待采集数据。
进一步的,方法还包括:将采集到的待采集数据保存至预设的目标数据表中。
进一步的,将采集到的待采集数据保存至预设的目标数据表中的步骤包括:按预设处理方式,处理采集到的待采集数据,得到处理后的数据;将处理后的数据保存至预设的目标数据表中。
进一步的,方法还包括:获取采集任务的运行状态;将运行状态保存至预设日志文件中。
本发明提供的一种数据采集装置,装置包括:获取模块,用于获取预先创建的针对待采集数据的至少一个变量映射表;其中,每个变量映射表包括第一变量名和与第一变量名绑定的变量表;变量表中包括至少一个与待采集数据相关联的变量值;创建模块,用于基于每个变量映射表创建待采集数据对应的采集任务;其中,采集任务中携带有与每个第一变量名相关联的变量名信息;采集模块,用于运行采集任务,以根据每个变量名信息,以及与每个第一变量名绑定的变量表中的变量值,从预设数据源中采集待采集数据。
本发明提供的一种电子设备,包括处理器和存储器,存储器存储有能够被处理器执行的机器可执行指令,处理器执行机器可执行指令以实现上述任一项的数据采集方法。
本发明提供的一种机器可读存储介质,该机器可读存储介质存储有机器可执行指令,该机器可执行指令在被处理器调用和执行时,机器可执行指令促使处理器实现上述任一项的数据采集方法。
本发明提供的数据采集方法、装置及电子设备,获取预先创建的针对待采集数据的至少一个变量映射表;其中,每个变量映射表包括第一变量名和与第一变量名绑定的变量表;变量表中包括至少一个与待采集数据相关联的变量值;基于每个变量映射表创建待采集数据对应的采集任务;其中,采集任务中携带有与每个第一变量名相关联的变量名信息;运行采集任务,以根据每个变量名信息,以及与每个第一变量名绑定的变量表中的变量值,从预设数据源中采集待采集数据。该方式可以根据待采集数据灵活设置变量表中的变量值,进而创建采集任务,在执行采集任务时,即可根据第一变量名相关联的变量名信息及变量表中的变量值实现对待采集数据的采集,提高了数据采集的效率。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种数据采集方法的流程图;
图2为本发明实施例提供的一种采集任务的执行过程的示意图;
图3为本发明实施例提供的一种数据采集方法的流程图;
图4(a)为本发明实施例提供的一种数据采集方法的流程图;
图4(b)为本发明实施例提供的一种数据采集方法的流程图;
图5为本发明实施例提供的一种数据采集方法的流程图;
图6为本发明实施例提供的一种数据采集装置的结构示意图;
图7为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合实施例对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
目前,发展数字经济是实现经济高质量发展、构建现代化经济体系的必由之路。大数据是实现社会数字化转型、推动数字经济发展的关键生产要素,其在新经济新阶段下重要性愈加凸显。不论在企业内部,还是政务领域,如何将分散在不同信息系统的数据汇聚到一起,通过数据挖掘、分析和治理,发挥更大的价值,成为当下各行各业竞相发力的方向。
数据资源是起点,数据资产是终点。让大量的数据变得可控制、可变现、可度量,从而形成数据资产,就涉及到大数据的采、存、管、用整个链路。数据采集的目的是为了数据应用。数据采集,是数据分析和应用的首要环节。针对不同的数据源情况,特别是面对海量数据的场景,如何实现高效的数据采集,显得尤为重要。
相关技术中的数据采集方法,往往是以固定策略为主,在配置采集信息方面,比较简单,比如,每个采集任务输入一个固定网络地址。这种传统方式,一般适用于采集策略较为固定、数据量级不是太大的场景。由于采集策略欠缺灵活性,有时需要花费大量的时间配置采集任务。比如,同一类数据源的网络地址,仅仅是参数不同,却需要把每种参数分别配置成不同的采集任务。
另外,传统方式也无法实现基于某时间节点采集某一时间周期内的数据。最常见的一类需求是,根据任务运行时间,采集某个时间范围的数据,比如昨天,上一小时,上周等。若配置策略太宽泛,采集过来的数据常常需要人工核实,进行二次筛选处理。随着采集数据类型的多样化,以及数据量的上升,从处理效率上来讲,传统数据采集方式变得越来越不经济。基于此,本发明实施例提供了一种数据采集方法、装置及系统,该技术可以应用于需要按需对数据进行灵活采集的应用中。
为便于对本实施例进行理解,首先对本发明实施例所公开的一种数据采集方法进行介绍,如图1所示,该方法包括如下步骤:
步骤S102,获取预先创建的针对待采集数据的至少一个变量映射表;其中,每个变量映射表包括第一变量名和与第一变量名绑定的变量表;变量表中包括至少一个与待采集数据相关联的变量值。
上述待采集数据可以根据实际需求确定,比如,需要采集日志数据、设备运行参数数据等;上述变量映射表可以表示第一变量名与变量表的映射关系,上述变量表中的每个变量值可以根据实际需求设置,比如,第一变量名为“city”,变量表中的变量值包括:“北京”、“上海”和“天津”,将该第一变量名与该变量表绑定,也可以理解为将第一变量名指向该变量表,形成映射关系,即可得到上述变量映射表;在实际实现时,可以根据实际需求预先创建一个或多个变量映射表,每个变量映射表的第一变量名通常不同,与第一变量名绑定的变量表中的变量值的数量可以是一个或多个,具体可以按需设置,所设置的变量值通常是与需要采集的待采集数据相关联的变量值,可以按需灵活调整每个变量表中的变量值,具体的,可以按需增加、删除或修改每个变量表中的变量值。
步骤S104,基于每个变量映射表创建待采集数据对应的采集任务;其中,采集任务中携带有与每个第一变量名相关联的变量名信息。
上述变量名信息可以理解为是用户自定义的变量名字符串,该变量名字符串可以采用大小写英文字母等形式表示,该变量名信息与第一变量名可以相同或不同,并且,该变量名信息与相关联的第一变量名具有一一对应关系,比如,第一变量名为“city”,在实际使用过程中,为了提高相关代码语句的可读性,用户可以自定义与第一变量名“city”相对应的变量名信息,如“China city”,则在相关代码语句中,需要使用第一变量名“city”的位置,都使用变量名信息“China city”,该变量名信息“China city”所指向的为第一变量名“city”对应的变量表;在实际实现时,在获取到上述至少一个变量映射表后,即可根据获取到的变量映射表创建采集任务。
步骤S106,运行采集任务,以根据每个变量名信息,以及与每个第一变量名绑定的变量表中的变量值,从预设数据源中采集待采集数据。
上述预设数据源可以按需选择创建,比如,可以支持选择数据库、API接口(Application Programming Interface,应用程序编程接口)、Kafka数据流、Redis数据缓存等类型,其中,数据库可以包括:MySQL(一种关系型数据库管理系统)、SQL Server(SQL英文全称:Structured Query Language,结构化查询语言)、Presto(一种快速、分布式的AQL查询引擎)、Hive(一种数据仓库工具)、MongoDB(一种基于分布式文件系统的数据库)。在实际实现时,可以预先根据待采集数据所在的数据源信息,创建上述预设数据源,采集任务指向该预设数据源,比如,可以输入数据库连接信息、解析方式、资产归属信息等,完成数据源创建,在创建采集任务时需要选择该预设数据源,以在运行采集任务时,从该预设数据源中采集需要的待采集数据。
上述数据采集方法,获取预先创建的针对待采集数据的至少一个变量映射表;其中,每个变量映射表包括第一变量名和与第一变量名绑定的变量表;变量表中包括至少一个与待采集数据相关联的变量值;基于每个变量映射表创建待采集数据对应的采集任务;其中,采集任务中携带有与每个第一变量名相关联的变量名信息;运行采集任务,以根据每个变量名信息,以及与每个第一变量名绑定的变量表中的变量值,从预设数据源中采集待采集数据。该方式可以根据待采集数据灵活设置变量表中的变量值,进而创建采集任务,在执行采集任务时,即可根据第一变量名相关联的变量名信息及变量表中的变量值实现对待采集数据的采集,提高了数据采集的效率。
本发明实施例还提供了另一种数据采集方法,该方法在上述实施例方法的基础上实现,该方法包括如下步骤:
步骤一,获取预先创建的针对待采集数据的至少一个变量映射表;其中,每个变量映射表包括第一变量名和与第一变量名绑定的变量表;变量表中包括至少一个与待采集数据相关联的变量值。
在使用变量映射表前,需要先创建该变量映射表,可以在MySQL数据库建立该变量映射表,这一操作的完成依赖数据采集底座系统。在数据采集底座系统,先进行变量表的创建,然后才能进行变量值的导入。具体的,每个变量映射表通过以下步骤A至步骤F创建:
步骤A,接收变量表创建请求。
上述变量表创建请求中通常携带有变量表名称、变量表描述、创建方式、要创建的字段信息等。在实际实现时,用户可以通过操作界面输入上述信息,然后触发操作界面中用于指示创建变量表的控件,即可发出上述变量表创建请求。
步骤B,根据变量表创建请求,按预设第一创建方式创建变量表。
上述第一创建方式可以包括基于SQL语句的创建方式,也可以支持手动输入的创建方式;若采用基于SQL语句的创建方式,变量表创建请求中除上述携带的信息外,通常还包括创建表结构与字段信息的SQL语句。若选择手动输入的创建方式,变量表创建请求中除上述携带的信息外,通常还需要指定字段名称、字段类型、字段描述、是否可为空等信息。在实际实现时,当接收到上述变量表创建请求后,即可按预设第一创建方式创建变量表。
步骤C,接收变量值导入请求;其中,变量值导入请求中携带有至少一个与待采集数据相关联的变量值。
步骤D,根据变量值导入请求,按预设导入方式将每个变量值导入至变量表。
上述预设导入方式可以包括文本批量导入方式,也可以支持手动编辑导入方式;在实际实现时,在变量表创建完成后,就可以导入即将引用的变量值,将变量值导入至变量表的方式可以包括以下两种方式:即文本批量导入方式、手动编辑导入方式,其中,文本批量导入方式可以支持excel、csv(Comma-Separated Values,逗号分隔值)文件格式导入,文件首行为字段名称信息的表头,从第二行开始为要导入的数据信息。若为多个字段则分列排布即可。对于手动编辑导入方式,需要逐条创建。当有新增操作时,在变量表中除主键外的每个字段值逐个输入后,创建一条记录。在一个实施例中,在采集任务运行时,这些导入的变量值可以作为第一变量名对应的实际值,应用于携带第一变量名的执行语句中。
步骤E,接收变量名创建请求;其中,变量名创建请求中携带有第一变量名;
步骤F,根据变量名创建请求,按预设第二创建方式创建第一变量名对应的变量,将第一变量名对应的变量与变量表进行绑定,得到针对待采集数据的变量映射表。
上述第二创建方式可以包括动态传参类型对应的创建方式或固定时间格式对应的创建方式;在实际实现时,在创建完变量表,并在变量表中导入变量值后,即可创建第一变量名对应的变量,在创建第一变量名对应的变量时,需要指定第一变量名、变量的创建方式等,将第一变量名对应的变量与变量表绑定,从而完成变量映射表的创建,如第一变量名对应的变量为“city”,变量表中包括:“北京”、“上海”、“天津”等,通过绑定,可以使变量“city”指向该变量表。
变量所属的变量类型,即变量的创建方式,包括动态传参类型和固定时间格式两类。其中,如果采用动态传参类型对应的创建方式创建第一变量名对应的变量,除了要设置第一变量名,还需要选择已创建的变量表和表中字段,从而将该第一变量名对应的变量与表中的特定字段进行绑定。如果采用固定时间格式对应的创建方式创建第一变量名对应的变量,除了要设置第一变量名,还需要设置时间格式定义,比如yyyy/(MM+1)/dd这种pattern字符串。
时间格式的pattern设置,定义如下表1所示:
表1
接下来,对时间格式变量的使用,结合示例进行详细说明。
年、月、日、时、分、秒均支持加或减操作,每个单独的时间单元(如:年、月、日、时、分、秒)只支持使用一个括号操作,不同的时间单元之间可以同时使用括号操作,例如:yyyy/(MM±1)/(dd±1)是支持的,yyyy/(MM±1)(MM±6)/(dd±2) (dd±1)这种格式不支持。
年、月、日、时、分、秒均支持指定固定值。同样日期之间的分隔符也是用户自定义配置的,比如,用户可以定义“/”、“-”、空格为分隔符。
下面以“/”为日期分隔符,对日和时进行加或减操作,作示例说明,如下表2所示:
表2
步骤二,接收采集任务创建请求;其中,采集任务创建请求中携带有第一变量名和初始执行语句;初始执行语句中包括与第一变量名相关联的变量名信息。
上述初始执行语句可以是用户填写输入的引用第一变量名对应的变量的执行语句,该执行语句可以是SQL语句等;在实际实现时,在得到变量映射表后,就可以在创建采集任务时,使用变量映射表中的第一变量名对应的变量了,如第一变量名对应的变量“city”等。在实际实现时,当需要创建采集任务时,若需要使用自定义的变量,用户可以通过操作界面勾选变量设置,包括自定义的变量名信息、选择已创建的第一变量名,填写引用第一变量名对应的变量的初始执行语句等,如果该采集任务涉及多个变量,可以在此自定义多个变量名信息,分别选择已有的第一变量名,进行数据绑定。所填写的初始执行语句中可以使用自定义的变量名信息。在填写完上述相关信息后,触发操作界面中用于指示采集任务创建请求的控件,即可发出上述采集任务创建请求。
步骤三,基于采集任务创建请求,创建待采集数据对应的采集任务;其中,采集任务中携带有与每个第一变量名相关联的变量名信息。
在创建采集任务时,通常还需要指定预设数据源、目标数据表、变量设置(包括自定义变量名字符串、选择已创建变量名称、填写引用变量的执行语句)、任务执行时间与粒度、数据更新方式(如:增量、全量等)等信息。若涉及数据清洗,可以选择已创建的脱敏规则、检查规则,完善数据采集任务的创建信息。
步骤四,运行采集任务,遍历检测采集任务中的初始执行语句中,每个变量名信息。
在创建完成采集任务、采集的数据源信息、目标数据表、变量设置、任务执行时间与粒度等均已配置完成后,即可执行采集任务,当采集任务开始执行后,可以按照设定的遍历策略遍历初始执行语句中的每个变量名信息,比如,该遍历策略可以是顺序遍历初始执行语句中的每个变量名信息等,具体可以按需设置适合的遍历策略。
步骤五,针对每个变量名信息,检测该变量名信息对应的第一变量名所属的变量类型。
上述变量类型,即对应上述变量的创建方式,即变量类型包括动态传参类型和固定时间格式两类。在实际实现时,对于遍历到的每个变量名信息,可以检测识别每个变量名信息对应的第一变量名所属的变量类型。
步骤六,根据变量类型,对变量名信息与第一变量名对应的变量值的之间的映射关系进行校验,得到校验结果。
如果变量类型为动态传参类型,变量规则是自定义的变量名信息指向变量表的映射关系,该变量表中的变量值为枚举值,是一对多关系;如果是时间参数类型,变量规则是自定义的变量名信息指向特定字符串格式的时间pattern,是一对一的关系。这一步对变量规则的映射关系进行校验,映射项为空的变量或者pattern解析有误的,该采集任务将被抛弃处理,并标记执行状态,如“运行异常停止”。
步骤七,如果校验结果指示变量名信息与第一变量名对应的变量值的之间的映射关系正确,将初始执行语句中的变量名信息替换为具有映射关系的变量值,得到初始执行语句对应的可执行语句。
可执行语句可以理解为通过编译产生对应的汇编代码和机器码的语句,诸如括号、注释等非可执行语句并不会转化为机器指令;在实际实现时,当通过校验,确定变量名信息与第一变量名对应的变量值的之间的映射关系正确,即可根据自定义的变量名信息,按照一一对应的绑定关系,查到每个变量名信息对应的第一变量名,进而可以对应到每个第一变量名引用的变量值上,从而实现变量替换,即将变量名信息替换为实际的变量值,生成可执行语句。
下面对变量值替换的过程进行说明,比如,以动态传参类型举例说明,获取满足特定年龄的学生信息。
携带变量的数据抽取执行语句如下:
SELECT × FROM source_table WHERE age = ${age_variable};
这里是动态传参类型的变量,若变量值为10,则需要将语句中的变量名${age_variable}替换为10。
再次以固定时间格式举例,获取毕业时间在当前日期后的学生信息。
携带变量的数据抽取执行语句如下:
SELECT × FROM source_table WHERE graduate_month>${date_pattern};
这里是固定时间格式类型的变量,若变量pattern设定为“yyyy-MM-dd”,当前任务执行时间为2023年9月19日,则变量名 ${date_pattern}将被替换为pattern解析后的时间字符串“2023-09-19”。
下面对生成可执行语句的过程进行说明,比如,以动态传参类型举例说明,获取满足特定年龄的学生信息。
假如变量age_variable对应的变量值有三个:10,20,30。
那么,该步骤需要进行遍历所有变量值,批量执行后,将生成所有变量值的执行语句:
SELECT × FROM source_table WHERE age = 10;
SELECT × FROM source_table WHERE age = 20;
SELECT × FROM source_table WHERE age = 30;
再次以固定时间格式举例,获取毕业时间在当前日期后的学生信息。
若变量${date_pattern}解析后的时间变量值为“2023-09-19”,生成的执行语句为:
SELECT × FROM source_table WHERE graduate_month>‘2023-09-19’;
步骤八,运行可执行语句,以从预设数据源中采集待采集数据。
在生成上述可执行语句后,可以将该可执行语句分配给数据库执行引擎,通过数据库执行引擎对预设数据源逐个执行该可执行语句,从而实现从预设数据源中抽取出待采集数据。
步骤九,将采集到的待采集数据保存至预设的目标数据表中。
可以将上述抽取出的待采集数据逐个插入预设的目标数据表中,作为数据采集的最终数据。上述目标数据表的创建过程可以如下:首先创建待采集数据对应的主题库,主题库是待采集数据最终存储所在的目标库,创建时需要指定主题名称、目录、层次、类型(如MySQL、Hive等)等信息,其中,层次包括:ODS(Operation Data Store,数据运营层)、DWD(Data Warehouse Details,数据细节层)、DWM(Data Warehouse Middle,数据中间层)、DWS(Data Warehouse Service,数据服务层)、ADS(Application Data Service,数据应用层)、DIM(Dimension Table,维度表)。在采集任务创建时需要选择设定存储待采集数据的主题库,然后创建待采集数据对应的表元数据,表元数据用于定义表结构,决定了待采集数据最终存储所在的目标数据表,创建时需要指定目标数据表所属的主题库、表名称、字段定义等信息,在采集任务创建时需要选择设定存储待采集数据的目标数据表。
综上,可以得到如图2所示的一种采集任务的执行过程的示意图,在采集任务开始执行后,先进行变量类型检测、变量规则校验,在校验通过后,进行变量值替换,生成可执行语句,调用执行可执行语句,以从预设数据源中抽取待采集数据,将抽取出的待采集数据保存至目标数据表,采集任务结束。
该步骤九可以通过以下步骤H和步骤I实现:
步骤H,按预设处理方式,处理采集到的待采集数据,得到处理后的数据。
上述预设处理方式可以包括:数据清洗、数据脱敏等;在实际实现时,可以根据实际需求的数据处理复杂度确定是否对采集到的待采集数据按预设处理方式进行处理,比如,在采集到待采集数据后,需要对该待采集数据进行数据脱敏处理、数据清洗、数据检查等,则可以通过创建脱敏规则、清洗规则、检测规则、离线计算任务、数据治理任务等来完成对待采集数据的清洗或治理。
步骤I,将处理后的数据保存至预设的目标数据表中。
步骤十,获取采集任务的运行状态;
上述运行状态可以包括:运行中、运行异常停止、运行结束等;在实际实现时,在采集任务运行过程中,通常会监测该采集任务的运行状态,如果运行状态发生变化,可以对该采集任务标记运行状态,并获取所标记的运行状态。
步骤十一,将运行状态保存至预设日志文件中。
可以将上述获取到的运行状态记录在预设日志文件中,便于用户后续根据该日志文件了解采集任务的运行情况,便于及时发现和解决问题,提高采集任务运行的稳定性和可靠性。
本实施例中,采集任务的配置与执行,依赖于完备的数据采集底座系统。其上下游依赖,涉及到数据源管理、目标主题库管理、表元数据管理、采集任务管理、变量表管理、数据清洗治理等。如图3所示的一种数据采集方法的流程图,该图为将实现数据采集,按其底座系统功能上下游依赖关系,绘制出相关工作的完整流程图,包括六个步骤,分别为:创建预设数据源、创建待采集数据对应的主题库、创建目标数据表、创建变量映射表、创建数据预处理相关的规则任务、创建采集任务,每个步骤的具体信息可以参考上述实施例中的相关描述,在此不再赘述。
参见图4(a)所示的一种数据采集方法的流程图,图4(b)所示的一种数据采集方法的流程图,其中,图4(a)为传统采集方法,即在明确待采集数据、设置预设数据源、目标数据表等任务信息后,就执行采集任务,将采集到的数据保存至目标数据表。图4(b)为采用本方案的采集方法,本方案可以支持变量形式的高效采集,将图4(b)和图4(a)对比可以看出,图4(b)的流程增加了设置变量规则这一步骤。从实现原理角度,本方案内部增加了变量类型检测、变量规则校验、变量值替换、执行不同变量语句的采集任务这些环节,具体可以参考上述实施例中的相关描述,在此不再赘述。
相关技术中,当需要修改采集任务时,不仅要修改采集任务,还需要对与待修改的采集任务具有依赖关系的接口等进行修改,修改量比较大,修改不方便,且易出错;而本方案中,当需要修改采集任务时,可以通过第一变量名对应的变量进行修改,具体的,通过对第一变量名对应的变量表中的变量值进行配置,即可改变采集任务的内容和结果,该方式不需要进行任务级别的修改,降低了修改量,修改更加灵活,且不易出错。
参见图5所示的一种数据采集方法的流程图,数据的采存管用构成了一个数据流转的完整流程。其中,数据采集流程可以包括以下步骤:
第一步:确定待采集数据。即根据实际需求,明确要采什么数据,要采哪里的数据,如何采。
第二步,根据待采集数据所在的数据源信息,创建预设数据源。然后创建指向该预设数据源的采集任务。
第三步,完善采集任务的采集策略设置,可设置的参数包括采集的数据格式、解析方式、清洗策略、存储的目标数据表等。
第四步,采集任务执行,开始采集数据。根据周期配置对采集任务进行调度。
第五步,按照所配置的清洗策略,进行数据清洗与处理。
第六步,处理后的最终数据,存入目标数据表中。
上述数据采集方法,基于变量规则实现对待采集数据的采集,在采集任务执行过程中,对预设源数据按照配置参数设定进行高效地采集,获得想要的待采集数据并存储入库,能够针对不同的预设源数据,简化采集任务配置流程,节约任务配置时间成本、管理成本,提高了采集任务的灵活性和任务处理效率,可以顺应不同应用场景中的大数据多样性、复杂性的发展趋势,更好地满足大数据业务发展的需求实际。
本发明实施例提供了一种数据采集装置,如图6所示,装置包括:获取模块60,用于获取预先创建的针对待采集数据的至少一个变量映射表;其中,每个变量映射表包括第一变量名和与第一变量名绑定的变量表;变量表中包括至少一个与待采集数据相关联的变量值;创建模块61,用于基于每个变量映射表创建待采集数据对应的采集任务;其中,采集任务中携带有与每个第一变量名相关联的变量名信息;采集模块62,用于运行采集任务,以根据每个变量名信息,以及与每个第一变量名绑定的变量表中的变量值,从预设数据源中采集待采集数据。
上述数据采集装置,可以根据待采集数据灵活设置变量表中的变量值,进而创建采集任务,在执行采集任务时,即可根据第一变量名相关联的变量名信息及变量表中的变量值实现对待采集数据的采集,提高了数据采集的效率。
进一步的,该装置还包括变量映射表创建模块,每个变量映射表通过变量映射表创建模块创建,该变量映射表创建模块用于:接收变量表创建请求;根据变量表创建请求,按预设第一创建方式创建变量表;接收变量值导入请求;其中,变量值导入请求中携带有至少一个与待采集数据相关联的变量值;根据变量值导入请求,按预设导入方式将每个变量值导入至变量表;接收变量名创建请求;其中,变量名创建请求中携带有第一变量名;根据变量名创建请求,按预设第二创建方式创建第一变量名对应的变量,将第一变量名对应的变量与变量表进行绑定,得到针对待采集数据的变量映射表。
进一步的,创建模块61还用于:接收采集任务创建请求;其中,采集任务创建请求中携带有第一变量名和初始执行语句;初始执行语句中包括与第一变量名相关联的变量名信息;基于采集任务创建请求,创建待采集数据对应的采集任务。
进一步的,采集模块62还用于:运行采集任务,遍历检测采集任务中的初始执行语句中,每个变量名信息;针对每个变量名信息,检测该变量名信息对应的第一变量名所属的变量类型;根据变量类型,对变量名信息与第一变量名对应的变量值的之间的映射关系进行校验,得到校验结果;如果校验结果指示变量名信息与第一变量名对应的变量值的之间的映射关系正确,将初始执行语句中的变量名信息替换为具有映射关系的变量值,得到初始执行语句对应的可执行语句;运行可执行语句,以从预设数据源中采集待采集数据。
进一步的,该装置还用于:将采集到的待采集数据保存至预设的目标数据表中。
进一步的,该装置还用于:按预设处理方式,处理采集到的待采集数据,得到处理后的数据;将处理后的数据保存至预设的目标数据表中。
进一步的,该装置还用于:获取采集任务的运行状态;将运行状态保存至预设日志文件中。
本发明实施例所提供的数据采集装置,其实现原理及产生的技术效果和前述数据采集方法实施例相同,为简要描述,数据采集装置实施例部分未提及之处,可参考前述数据采集方法实施例中相应内容。
本发明实施例还提供了一种电子设备,参见图7所示,该电子设备包括处理器130和存储器131,该存储器131存储有能够被处理器130执行的机器可执行指令,该处理器130执行机器可执行指令以实现上述数据采集方法。
进一步地,图7所示的电子设备还包括总线132和通信接口133,处理器130、通信接口133和存储器131通过总线132连接。
其中,存储器131可能包含高速随机存取存储器(RAM,Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口133(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。总线132可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
处理器130可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器130中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器130可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DigitalSignal Processor,简称DSP)、专用集成电路(Application Specific IntegratedCircuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器131,处理器130读取存储器131中的信息,结合其硬件完成前述实施例的方法的步骤。
本发明实施例还提供了一种机器可读存储介质,该机器可读存储介质存储有机器可执行指令,该机器可执行指令在被处理器调用和执行时,该机器可执行指令促使处理器实现上述数据采集方法,具体实现可参见方法实施例,在此不再赘述。
本发明实施例所提供的数据采集方法、装置及电子设备的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (10)
1.一种数据采集方法,其特征在于,所述方法包括:
获取预先创建的针对待采集数据的至少一个变量映射表;其中,每个所述变量映射表包括第一变量名和与所述第一变量名绑定的变量表;所述变量表中包括至少一个与所述待采集数据相关联的变量值;
基于每个所述变量映射表创建所述待采集数据对应的采集任务;其中,所述采集任务中携带有与每个所述第一变量名相关联的变量名信息;
运行所述采集任务,以根据每个所述变量名信息,以及与每个所述第一变量名绑定的变量表中的所述变量值,从预设数据源中采集所述待采集数据。
2.根据权利要求1所述的数据采集方法,其特征在于,每个所述变量映射表通过以下方式创建:
接收变量表创建请求;
根据所述变量表创建请求,按预设第一创建方式创建所述变量表;
接收变量值导入请求;其中,所述变量值导入请求中携带有至少一个与所述待采集数据相关联的变量值;
根据所述变量值导入请求,按预设导入方式将每个所述变量值导入至所述变量表;
接收变量名创建请求;其中,所述变量名创建请求中携带有所述第一变量名;
根据所述变量名创建请求,按预设第二创建方式创建所述第一变量名对应的变量,将所述第一变量名对应的变量与所述变量表进行绑定,得到针对所述待采集数据的变量映射表。
3.根据权利要求1所述的数据采集方法,其特征在于,基于每个所述变量映射表创建所述待采集数据对应的采集任务的步骤包括:
接收采集任务创建请求;其中,所述采集任务创建请求中携带有所述第一变量名和初始执行语句;所述初始执行语句中包括与所述第一变量名相关联的变量名信息;
基于所述采集任务创建请求,创建所述待采集数据对应的采集任务。
4.根据权利要求3所述的数据采集方法,其特征在于,运行所述采集任务,以根据每个所述变量名信息,以及与每个所述第一变量名绑定的变量表中的所述变量值,从预设数据源中采集所述待采集数据的步骤包括:
运行所述采集任务,遍历检测所述采集任务中的所述初始执行语句中,每个所述变量名信息;
针对每个所述变量名信息,检测该变量名信息对应的第一变量名所属的变量类型;
根据所述变量类型,对所述变量名信息与所述第一变量名对应的变量值的之间的映射关系进行校验,得到校验结果;
如果所述校验结果指示所述变量名信息与所述第一变量名对应的变量值的之间的映射关系正确,将所述初始执行语句中的所述变量名信息替换为具有映射关系的所述变量值,得到所述初始执行语句对应的可执行语句;
运行所述可执行语句,以从预设数据源中采集所述待采集数据。
5.根据权利要求1所述的数据采集方法,其特征在于,所述方法还包括:
将采集到的所述待采集数据保存至预设的目标数据表中。
6.根据权利要求5所述的数据采集方法,其特征在于,将采集到的所述待采集数据保存至预设的目标数据表中的步骤包括:
按预设处理方式,处理采集到的所述待采集数据,得到处理后的数据;
将处理后的数据保存至预设的目标数据表中。
7.根据权利要求1所述的数据采集方法,其特征在于,所述方法还包括:
获取所述采集任务的运行状态;
将所述运行状态保存至预设日志文件中。
8.一种数据采集装置,其特征在于,所述装置包括:
获取模块,用于获取预先创建的针对待采集数据的至少一个变量映射表;其中,每个所述变量映射表包括第一变量名和与所述第一变量名绑定的变量表;所述变量表中包括至少一个与所述待采集数据相关联的变量值;
创建模块,用于基于每个所述变量映射表创建所述待采集数据对应的采集任务;其中,所述采集任务中携带有与每个所述第一变量名相关联的变量名信息;
采集模块,用于运行所述采集任务,以根据每个所述变量名信息,以及与每个所述第一变量名绑定的变量表中的所述变量值,从预设数据源中采集所述待采集数据。
9.一种电子设备,其特征在于,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的机器可执行指令,所述处理器执行所述机器可执行指令以实现权利要求1-7任一项所述的数据采集方法。
10.一种机器可读存储介质,其特征在于,该机器可读存储介质存储有机器可执行指令,该机器可执行指令在被处理器调用和执行时,机器可执行指令促使处理器实现权利要求1-7任一项所述的数据采集方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311568549.6A CN117312435A (zh) | 2023-11-23 | 2023-11-23 | 数据采集方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311568549.6A CN117312435A (zh) | 2023-11-23 | 2023-11-23 | 数据采集方法、装置及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117312435A true CN117312435A (zh) | 2023-12-29 |
Family
ID=89286766
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311568549.6A Pending CN117312435A (zh) | 2023-11-23 | 2023-11-23 | 数据采集方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117312435A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103235820A (zh) * | 2013-04-27 | 2013-08-07 | 北京搜狐新媒体信息技术有限公司 | 一种集群系统中数据存储方法与装置 |
CN112380213A (zh) * | 2020-11-13 | 2021-02-19 | 苏宁云计算有限公司 | 信息采集方法、装置、计算机设备和存储介质 |
CN115774750A (zh) * | 2022-12-28 | 2023-03-10 | 精英数智科技股份有限公司 | 数据库入湖配置方法、系统、电子设备及存储介质 |
WO2023124191A1 (zh) * | 2021-12-30 | 2023-07-06 | 之江实验室 | 基于深度图匹配的医疗数据元自动化分类方法及系统 |
CN116991858A (zh) * | 2023-07-27 | 2023-11-03 | 中国邮政储蓄银行股份有限公司 | 变更数据的采集方法、采集装置和数据采集系统 |
-
2023
- 2023-11-23 CN CN202311568549.6A patent/CN117312435A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103235820A (zh) * | 2013-04-27 | 2013-08-07 | 北京搜狐新媒体信息技术有限公司 | 一种集群系统中数据存储方法与装置 |
CN112380213A (zh) * | 2020-11-13 | 2021-02-19 | 苏宁云计算有限公司 | 信息采集方法、装置、计算机设备和存储介质 |
WO2023124191A1 (zh) * | 2021-12-30 | 2023-07-06 | 之江实验室 | 基于深度图匹配的医疗数据元自动化分类方法及系统 |
CN115774750A (zh) * | 2022-12-28 | 2023-03-10 | 精英数智科技股份有限公司 | 数据库入湖配置方法、系统、电子设备及存储介质 |
CN116991858A (zh) * | 2023-07-27 | 2023-11-03 | 中国邮政储蓄银行股份有限公司 | 变更数据的采集方法、采集装置和数据采集系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110795455B (zh) | 依赖关系解析方法、电子装置、计算机设备及可读存储介质 | |
CN109471890A (zh) | 报表文件的生成方法、终端设备及介质 | |
CN108153784B (zh) | 同步数据处理方法和装置 | |
CN106874247B (zh) | 一种报表生成方法及装置 | |
CN112650766A (zh) | 数据库数据操作的方法、系统及服务器 | |
CN110471652B (zh) | 任务编排方法、编排器、设备及可读存储介质 | |
CN106991100B (zh) | 数据导入方法及装置 | |
CN112364024B (zh) | 一种表数据批量自动比对的控制方法及装置 | |
CN110647562B (zh) | 一种数据查询方法和装置、电子设备、存储介质 | |
CN107180053B (zh) | 一种数据仓库优化方法和装置 | |
CN112347123A (zh) | 数据血缘的分析方法、装置和服务器 | |
CN111291990B (zh) | 一种质量监控处理方法及装置 | |
CN109683881B (zh) | 一种代码格式调整方法及装置 | |
CN109714249B (zh) | 一种小程序消息的推送方法及相关装置 | |
US20130054427A1 (en) | Explosions of bill-of-materials lists | |
CN111159264A (zh) | 一种数据处理方法及装置 | |
CN110704472A (zh) | 数据查询统计方法及装置 | |
CN113138990A (zh) | 一种数据血缘构建、追溯方法、装置及设备 | |
CN117312435A (zh) | 数据采集方法、装置及电子设备 | |
CN111563094A (zh) | 一种数据查询方法及装置、电子设备、计算机可读存储介质 | |
CN115774750A (zh) | 数据库入湖配置方法、系统、电子设备及存储介质 | |
CN113220530B (zh) | 数据质量监控方法及平台 | |
CN111198893B (zh) | 一种数据更新方法、装置、可读介质及电子设备 | |
CN114741077A (zh) | 基于字段粒度的页面效果预览方法、装置、设备及介质 | |
CN114089962A (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 |