CN114925034A - 异构数据处理方法、装置、电子设备及存储介质 - Google Patents
异构数据处理方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN114925034A CN114925034A CN202210480583.7A CN202210480583A CN114925034A CN 114925034 A CN114925034 A CN 114925034A CN 202210480583 A CN202210480583 A CN 202210480583A CN 114925034 A CN114925034 A CN 114925034A
- Authority
- CN
- China
- Prior art keywords
- data
- processing
- processed
- heterogeneous
- template
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 20
- 238000012545 processing Methods 0.000 claims abstract description 270
- 238000000034 method Methods 0.000 claims abstract description 64
- 230000008569 process Effects 0.000 claims abstract description 38
- 238000004590 computer program Methods 0.000 claims description 10
- 238000004458 analytical method Methods 0.000 claims description 5
- 238000005538 encapsulation Methods 0.000 description 17
- 238000004140 cleaning Methods 0.000 description 14
- 238000004364 calculation method Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000004806 packaging method and process Methods 0.000 description 2
- 238000012856 packing Methods 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000005406 washing Methods 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/21—Design, administration or maintenance of databases
- G06F16/217—Database tuning
-
- 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/21—Design, administration or maintenance of databases
- G06F16/215—Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
-
- 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/258—Data format conversion from or to a database
-
- 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)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种异构数据处理方法、装置、电子设备及存储介质,该方法包括:确定待处理异构数据的目标数据源;获取与所述目标数据源对应的数据处理模板,所述数据处理模板用于描述多个处理单元的组合关系和调用方式;确定所述数据处理模板中的多个处理单元以及所述多个处理单元的组合关系和调用方式;根据所述多个处理单元的组合关系和调用方式,调用所述多个处理单元对所述待处理异构数据进行处理,得到规范数据。本发明针对每个数据源不再需要单独开发对应的处理程序,只需要基于已有的处理单元配置对应的数据处理模板即可进行处理,从而提高了数据处理的效率,简化了数据处理的代码。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及一种异构数据处理方法、装置、电子设备及存储介质。
背景技术
大数据采集过程中通常有一个或多个数据源,这些数据源包括同构或异构的数据库、文件***、服务接口等,易受到噪声数据、数据值缺失、数据冲突等影响,因此需首先对收集到的异构数据进行预处理,以保证大数据分析与预测结果的准确性与价值性。
对于异构数据的处理,不同的数据源具有不同的处理方式。现有技术中,在对异构数据进行处理时,需要针对每个数据源,分别开发对应的处理程序,导致数据处理效率较低,代码繁琐。
发明内容
本发明实施例提供一种异构数据处理方法、装置、电子设备及存储介质,以提高异构数据的处理效率,简化代码。
依据本发明实施例的第一方面,提供了一种异构数据处理方法,包括:
确定待处理异构数据的目标数据源;
获取与所述目标数据源对应的数据处理模板,所述数据处理模板用于描述多个处理单元的组合关系和调用方式;
确定所述数据处理模板中的多个处理单元以及所述多个处理单元的组合关系和调用方式;
根据所述多个处理单元的组合关系和调用方式,调用所述多个处理单元对所述待处理异构数据进行处理,得到规范数据。
依据本发明实施例的第二方面,提供了一种异构数据处理装置,包括:
数据源确定模块,用于确定待处理异构数据的目标数据源;
处理模板获取模块,用于获取与所述目标数据源对应的数据处理模板,所述数据处理模板用于描述多个处理单元的组合关系和调用方式;
处理单元确定模块,用于确定所述数据处理模板中的多个处理单元以及所述多个处理单元的组合关系和调用方式;
数据处理模块,用于根据所述多个处理单元的组合关系和调用方式,调用所述多个处理单元对所述待处理异构数据进行处理,得到规范数据。
依据本发明实施例的第三方面,提供了一种电子设备,包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如第一方面所述的异构数据处理方法的步骤。
依据本发明实施例的第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的异构数据处理方法的步骤。
本发明实施例提供的异构数据处理方法、装置、电子设备及存储介质,通过确定待处理异构数据的目标数据源,获取与目标数据源对应的数据处理模板,确定数据处理模板中的多个处理单元以及多个处理单元的组合关系和调用方式,根据多个处理单元的组合关系和调用方式,调用多个处理单元对待处理异构数据进行处理,得到规范数据,由于只需要对简单的处理单元进行程序的开发,针对每个数据源不再需要单独开发对应的处理程序,只需要基于已有的处理单元配置对应的数据处理模板即可进行处理,从而提高了数据处理的效率,简化了数据处理的代码。
附图说明
图1是本发明实施例提供的一种异构数据处理方法的流程图;
图2是本发明实施例中使用语法解析引擎对判定模板、数据清洗模板和数据封装模板进行解析的示意图;
图3是本发明实施例提供的一种异构数据处理装置的结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1是本发明实施例提供的一种异构数据处理方法的流程图,该异构数据处理方法可以由服务器等电子设备执行,如图1所示,该异构数据处理方法包括:
步骤110,确定待处理异构数据的目标数据源。
在需要对待处理异构数据进行处理时,需要确定待处理异构数据的来源,即确定待处理异构数据的目标数据源,进而可以基于目标数据源采用对应的数据处理模板来对待处理异构数据进行处理。
在确定待处理异构数据的目标数据源时,可以预先配置一个处理***接收来自对应的一个目标数据源的异构数据,这样该处理***接收到的待处理异构数据均是目标数据源的数据;或者,还可以使用待处理异构数据中的某个字段来表示数据源,从而获取该字段的值,得到目标数据源;或者,还可以采用判断规则对待处理异构数据进行判断,确定目标数据源。
在本发明的一个实施例中,所述确定待处理异构数据的目标数据源,包括:根据所述待处理异构数据中的数据源字段,确定所述待处理异构数据的目标数据源。
待处理异构数据中可以使用数据源字段来表征待处理异构数据的来源,在获取到待处理异构数据时,可以识别待处理异构数据的数据源字段,获取数据源字段的值,得到待处理异构数据的目标数据源。通过待处理异构数据中的数据源字段来表征待处理异构数据的目标数据源,可以准确快速地确定待处理异构数据所对应的目标数据源。
在本发明的另一个实施例中,所述确定待处理异构数据的目标数据源,包括:根据多个数据源对应的判定模板,对所述待处理异构数据进行数据源的判定,确定所述待处理异构数据的目标数据源。
可以预先配置每个数据源对应的判定模板,在需要确定待处理异构数据的目标数据源时,分别使用每个数据源对应的判定模板来对待处理异构数据进行判定,如果待处理异构数据经过其中一个数据源的判定模板判定后,得到的判定结果为否,则该数据源不是待处理异构数据的目标数据源;如果待处理异构数据经过其中一个数据源的判定模板判定后,得到的判定结果为是,则确定该数据源为目标数据源。不同数据源的数据会具有不同的特征,例如,对于订单数据和员工数据,订单数据就会包括订单号、订单金额、订单详细信息等数据,员工数据会包括姓名、工号等数据,对于订单数据对应的判定模板可以是用于判断是否包括订单号、是否有订单金额等,对于员工数据对应的判定模板可以是用于判断是否包括姓名、是否有工号等,这样经过判定模板的判定,便可以确定异构数据的数据源。
在待处理异构数据中没有表征数据源的字段时,通过每个数据源的判定模板来对待处理异构数据进行判定,可以得到待处理异构数据的目标数据源。
在一种可选的实施方式中,所述判定模板包括至少一个判定单元以及所述至少一个判定单元的判定关系;
根据多个数据源对应的判定模板,对所述待处理异构数据进行数据源的判定,确定所述待处理异构数据的目标数据源,包括:针对每个数据源,调用所述数据源对应的判定模板中的至少一个判定单元,对所述待处理异构数据进行判定,得到每个判定单元的判定结果;根据所述至少一个判定单元的判定关系,对所述至少一个判定单元的判定结果进行判定,得到所述待处理异构数据的目标数据源。
其中,所述判定模板用于描述一个或多个判定单元之间的判定关系,每个判定单元可以进行基础单元的判定,即可以进行一个判定动作,例如可以判定待处理异构数据中是否包含预设值,或者判定待处理异构数据中的一个参量是否等于预设值等,该判定动作可以由预先配置的一段判定代码来完成。所述判定关系可以是与关系、或关系、非关系等。
所述判定模板可以基于领域语言来描述至少一个判定单元之间的判定关系。所述判定模板基于判断语法设计,例如可以表示为:[["判定a1_判定a2","判定a3"],["判定b1","判定b2],["判定c1","判定c2]],其中,“判定a1”、“判定a2”、“判定a3”、“判定b1”、“判定b2”、“判定c1”、“判定c2”是不同的判定单元,“判定a1”与“判定a2”之间是与关系,“判定b1”与“判定b2”之间是或关系,["判定b1","判定b2"]是一个判定组合,该判定组合与判定组合["判定c1","判定c2]之间是或关系。
每个判定单元可以基于判定语法来配置,一个判定单元可以由三部分组成“_方法名称_#键名_#参数2_#参数n”,在扩展设计判定单元时可以按照此规则设计,其中“_#”作为不同参数部分的分隔符。具体语法可以设计如下:
是否包含某个键Judge_key_include:_JKI_#键名,原始数据中是否包含所配置的key这个键;
键值匹配Judge_value_match:_JVM_#键名_#对照值,判别原始数据中指定键名的值,是否与对照值相等;
键值匹配任意一个Judge_value_any_match:_JVAM_#键名_#对照值1,对照值2,对照值3,判别原始数据中指定键名的值,是否与多个对照值中任意一个匹配;
键值全部不匹配Judge_value_not_match:_JVNM_#键名_#对照值1,对照值2,对照值3,判别原始数据中指定键名的值,是否与多个对照值中任一都不匹配;
键值符合正则Judge_value_regular:_JVR_#键名_#正则表达式,判别原始数据中指定键名的值,是否满足正则表达式;
键值范围判断Judge_value_scope:_JVS_#键名_#起始值_终止值,判别原始数据中指定键名的值,是否在起始值与终止值之间。
上述只是对几个判定单元的举例,还可以基于此规则设计其他的判定单元。
在根据多个数据源对应的判定模板来对待处理异构数据进行数据源的判定时,首先使用基于领域语言的语法解析引擎来对每个数据源对应的判定模板进行解析,得到判定模板中的至少一个判定单元以及至少一个判定单元之间的判定关系,并可以得到判定单元中的判定方法名称以及需要的参数;针对每个数据源,从待处理异构数据中获取所述数据源所对应判定模板中判定单元所需要的参数,并调用所述判定单元中的判定方法名称所对应的判定方法来对所述参数进行判断,得到该判定单元的判定结果,根据该判定模板中至少一个判定单元之间的判定关系,对至少一个判定单元的判定结果进行判定,得到所述数据源是否是待处理异构数据的数据源的判定结果,如果判定结果为否,则确定该数据源不是待处理异构数据的目标数据源,如果判定结果为是,则确定该数据源是待处理异构数据的目标数据源。
通过判定模板中的判定单元以及判定单元之间的判定关系,可以准确判定出待处理异构数据的数据源,进而如果接入新的数据源,只需配置判定单元之间的判定关系即可,无需开发新的代码,可以提高新的数据源的异构数据的处理效率。
步骤120,获取与所述目标数据源对应的数据处理模板,所述数据处理模板用于描述多个处理单元的组合关系和调用方式。
其中,所述数据处理模板可以包括数据清洗模板和/或数据封装模板。数据清洗是对数据进行重新审查和校验的过程,目的在于删除重复信息、纠正存在的错误,并提供数据一致性。数据封装是将数据按照一定的格式进行封装处理的过程。
不同的数据源对数据进行处理的基本处理方式一般是相同的,例如大写改为小写、去掉异常字符、键值封装等,因此可以将基本处理方式抽象为一个处理单元,并可以预先编写各处理单元的代码。对于不同的数据源,可以使用已有的处理单元预先配置每个数据源对应的数据处理模板,并进行保存,在确定待处理异构数据的目标数据源后,从存储位置获取该目标数据源所对应的数据处理模板,以便于基于数据处理模板对待处理异构数据进行处理。
步骤130,确定所述数据处理模板中的多个处理单元以及所述多个处理单元的组合关系和调用方式。
其中,所述数据处理模板可以是基于领域语言进行描述的。领域语言即领域特定语言(Domain-Specific Language,DSL),指的是专注于某个应用程序领域的计算机语言,又称作领域专用语言。
对所述数据处理模板进行解析,确定数据处理模板中的多个处理单元以及多个处理单元的组合关系和调用方式。
在本发明的一个实施例中,确定所述数据处理模板中的多个处理单元以及所述多个处理单元的组合关系和调用方式,包括:使用基于领域语言的语法解析引擎对所述数据处理模板进行解析,确定所述数据处理模板中的多个处理单元以及所述多个处理单元的组合关系和调用方式。
数据处理模板可以包括数据清洗模板和/或数据封装模板。数据清洗模板主要是用于描述数据预处理阶段所需使用的处理单元的组合关系和调用方式,在数据清洗模板中,各个处理单元的组合关系是逐一串行的执行,直至数据处理完毕传递至下一逻辑层。使用领域语言来描述数据清洗模板时,数据清洗模板的具体语法如下:
["处理语法1","处理语法2","处理语法3","处理语法4"]
一个处理语法对应一个处理单元,对于一个处理语法,通常有三部分组成,包括方法名称、参数和分隔符,如可以表示为“_方法名称_#参数1_#参数2_#参数n”,其中“_#”作为不同参数部分的分隔符,在扩展设计处理单元时应按照此规则设计。数据清洗模板中处理单元的具体语法可以设计如下:
字符替换Fix_character_replacement:_FCR_#被替换字符_#替换字符,其中,_FCR是方法名称(字符替换处理),“被替换字符”表示待处理异构数据中将被替换的字符,“替换字符”表示被替换字符将要被替换成该字符;
解密类Fix_decrypt:_FDC_#解密方式_#解密参数:_FDC是方法名称,解密方式可以有urldecode、base64、AES等等,解密参数为解密方式所对应的必要参数,即待处理异构数据中需要进行解密的数据。
上述只是对数据清洗模板中几个处理单元的举例,还可以基于此规则设计其他的处理单元。
数据封装模板用于描述数据封装阶段所需使用的处理单元的组合关系和调用方式,在数据封装模板中,待处理异构数据中的数据按照处理单元的语法描述组装进新的数据结构中,数据封装模板的语法规则如下:
其中original描述在新数据组装完成后,是否将原数据的K-V值拼装入新的JSON体中,keep为保留旧键值,discard为丢弃旧键值,可以根据需要选择一种进行配置。body描述了新数据结构的Json键,以及每个键的取值方式,其中,一个值处理规则对应一个处理单元,每个处理单元使用一个封装语法进行描述。JSON(JavaScript Object Notation,JS对象简谱)是一种轻量级的数据交换格式,基于ECMAScript(欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得JSON成为理想的数据交换语言,易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。
对于一个封装语法,通常由两部分组成,包括方法名称和键名,如可以表示为“_方法名称_#键名”,扩展设计处理单元时应按照此规则设计,其中“_#”作为不同参数部分的分隔符。数据封装模板中处理单元的具体语法可以设计如下:
直接读取Value_key:_VK_#键名,直接读取键名所对应的值;
加入固定值Value_static:_JS_#固定值,输出一个固定值;
值计算Value_calculate:_JC_#计算方式_#键名1_键名2,计算方式可以是“加、减、乘、除、字符拼接”等,对键名1和键名2所对应的值做对应计算;
值加密Value_encode:_JE_#加密方式#键名,对键名对应的值做指定加密方式的加密。
上述只是对数据封装模板中几个处理单元的举例,还可以基于此规则设计其他的处理单元。
基于上述数据处理模板的语法规则,使用基于领域语言的语法解析引擎对数据处理模板进行解析,确定数据处理模板中的多个处理单元,以及多个处理单元的组合关系和调用方式。所述调用方式可以是需要从待处理异构数据中获取的数据(如上述被替换的字符、参数、键名等)以及如何调用处理单元等。
通过使用领域语言来描述数据处理模板,并使用基于领域语言的语法解析引擎对数据处理模板进行解析,实现了将以往的利用代码编程进行数据处理的过程,变成通过语法描述、执行语法逻辑的过程。数据开发者不必再为新的数据源的数据处理进行新的开发,只需配置一套合适的语法描述(即数据处理模板),便可调用已有的处理单元对新的数据源的数据进行处理。当已有语法与处理单元不满足需求时,只需定义新的处理单元的语法、开发新的处理单元即可,并且新语法与处理单元可以在后续数据处理中继续使用,长期来看,大大降低了整体的开发成本,而且由于不再需要开发新代码,降低了开发周期,可以快速支持新数据源的数据、临时数据任务,有更好的时效性。
步骤140,根据所述多个处理单元的组合关系和调用方式,调用所述多个处理单元对所述待处理异构数据进行处理,得到规范数据。
根据多个处理单元的调用方式,分别调用每个处理单元,并对待处理异构数据中的相应数据进行处理,根据多个处理单元的组合关系,组合多个处理单元的处理结果,得到规范数据,并将规范数据保存至数据库中。保存至数据库中的规范数据可进行后续的应用。
在本发明的一个实施例中,根据所述多个处理单元的组合关系和调用方式,调用所述多个处理单元对所述待处理异构数据进行处理,得到规范数据,包括:根据所述多个处理单元的调用方式,分别调用所述多个处理单元对所述待处理异构数据进行处理,得到每个处理单元的处理结果;根据所述多个处理单元的组合关系,对多个所述处理单元的处理结果进行组合处理,得到所述规范数据。
根据多个处理单元的调用方式,从待处理异构数据中提取出每个处理单元待处理的数据,并调用每个处理单元对该处理单元待处理的数据进行处理,得到每个处理单元对应的处理结果,根据多个处理单元的组合关系,对多个处理单元的处理结果进行组合处理,得到规范数据。
例如,对于数据的清洗处理,数据处理模板为数据清洗模板,数据清洗模板中的多个处理单元的组合关系是串行执行的关系,按照多个处理单元的顺序,从待处理异构数据中提取出每个处理单元待处理的数据,并调用每个处理单元对该处理单元待处理的数据进行处理,得到每个处理单元的处理结果,在调用每个处理单元对待处理异构数据进行处理时,可以同步调用每个处理单元进行处理,也可以按照各个处理单元的预定顺序调用每个处理单元进行处理;按照多个处理单元的顺序,将多个处理单元的处理结果拼接为最后的结果,得到规范数据。对于数据的封装处理,数据处理模板为数据封装模板,数据封装模板中的多个处理单元的组合关系是按照数据封装模板中的数据结构组合在一起,这时在基于每个处理单元对待处理异构数据中的相应数据进行处理后,将每个处理单元的处理结果放在数据封装模板中的数据结构的相应位置,得到规范数据。
通过根据处理单元的调用方式调用处理单元对待处理异构数据进行处理,并基于多个处理单元的组合关系,对多个处理单元的处理结果进行组合处理,得到规范数据,可以较为快速准确的对待处理异构数据进行处理,而且对于每个处理单元可以单独设置,并基于组合关系和调用方式得到最终的处理结果,从而对于不同的数据源不需要再单独开发对应的代码,节省了开发成本。
本发明实施例主要是对数据的预处理,数据的预处理环节主要包括数据清理、数据集成、数据归约与数据转换等内容,通过这些处理可以大大提高大数据的总体质量,是大数据过程质量的体现。数据清理技术包括对数据的不一致检测、噪声数据的识别、数据过滤与修正等方面,有利于提高大数据的一致性、准确性、真实性和可用性等方面的质量。
本发明实施例提供的异构数据处理方法,通过确定待处理异构数据的目标数据源,获取与目标数据源对应的数据处理模板,确定数据处理模板中的多个处理单元以及多个处理单元的组合关系和调用方式,根据多个处理单元的组合关系和调用方式,调用多个处理单元对待处理异构数据进行处理,得到规范数据,由于只需要对简单的处理单元进行程序的开发,针对每个数据源不再需要单独开发对应的处理程序,只需要基于已有的处理单元配置对应的数据处理模板即可进行处理,从而提高了数据处理的效率,简化了数据处理的代码。
图2是本发明实施例中使用语法解析引擎对判定模板、数据清洗模板和数据封装模板进行解析的示意图,如图2所示,判定模板、数据清洗模板和数据封装模板基于邻域语言的语法进行设计,并使用基于领域语言的语法解析引擎进行解析。对于判定模板,解析后得到判定单元,并调用判定单元对待处理异构数据进行判定得到目标数据源;对于数据清洗模板,解析后得到多个处理单元,调用处理单元对待处理异构数据进行处理,得到处理后的数据;对于数据封装模板,解析后得到多个处理单元,调用处理单元对待处理异构数据进行处理,得到封装后的数据。从而使用领域语言来配置各个数据源的判定模板和数据处理模板,在对待处理异构数据进行处理时,使用基于领域语言的语法解析引擎对各个数据源的判定模板进行解析,得到对应的至少一个判定单元,并对待处理异构数据进行判定,得到待处理异构数据的目标数据源;使用基于领域语言的语法解析引擎对目标数据源对应的数据处理模板进行解析,得到多个处理单元和对应的组合关系,调用多个处理单元对待处理异构数据进行处理,并组合各个处理单元的处理结果,得到最终的规范数据。使用本发明实施例的异构数据处理方法,针对不同的数据源,不再需要单独开发对应的处理程序,只需要配置对应的数据处理模板即可对该数据源的数据进行处理,可以提高数据处理效率,简化代码,而且接入新的数据源时,也不需要再单独开发新的处理程序,只需要使用已有的处理单元配置新的数据处理模板即可,提高了时效性。
图3是本发明实施例提供的一种异构数据处理装置的结构框图,如图3所示,该异构数据处理装置包括:
数据源确定模块310,用于确定待处理异构数据的目标数据源;
处理模板获取模块320,用于获取与所述目标数据源对应的数据处理模板,所述数据处理模板用于描述多个处理单元的组合关系和调用方式;
处理单元确定模块330,用于确定所述数据处理模板中的多个处理单元以及所述多个处理单元的组合关系和调用方式;
数据处理模块340,用于根据所述多个处理单元的组合关系和调用方式,调用所述多个处理单元对所述待处理异构数据进行处理,得到规范数据。
可选的,所述数据处理模块包括:
处理单元处理子模块,用于根据所述多个处理单元的调用方式,分别调用所述多个处理单元对所述待处理异构数据进行处理,得到每个处理单元的处理结果;
结果组合子模块,用于根据所述多个处理单元的组合关系,对多个所述处理单元的处理结果进行组合处理,得到所述规范数据。
可选的,所述数据源确定模块具体用于:
根据所述待处理异构数据中的数据源字段,确定所述待处理异构数据的目标数据源。
可选的,所述数据源确定模块具体用于:
根据多个数据源对应的判定模板,对所述待处理异构数据进行数据源的判定,确定所述待处理异构数据的目标数据源。
可选的,所述判定模板包括至少一个判定单元以及所述至少一个判定单元的判定关系;
所述数据源确定模块包括:
判定单元判定子模块,用于针对每个数据源,调用所述数据源对应的判定模板中的至少一个判定单元,对所述待处理异构数据进行判定,得到每个判定单元的判定结果;
数据源确定子模块,用于根据所述至少一个判定单元的判定关系,对所述至少一个判定单元的判定结果进行判定,得到所述待处理异构数据的目标数据源。
可选的,所述数据处理模板是基于领域语言进行描述的。
可选的,所述处理单元确定模块具体用于:
使用基于领域语言的语法解析引擎对所述数据处理模板进行解析,确定所述数据处理模板中的多个处理单元以及所述多个处理单元的组合关系和调用方式。
本发明实施例提供的异构数据处理装置,用于实现本发明实施例所述的异构数据处理方法的各步骤,装置的各模块的具体实施方式参见相应步骤,此处不再赘述。
本发明实施例提供的异构数据处理装置,通过确定待处理异构数据的目标数据源,获取与目标数据源对应的数据处理模板,确定数据处理模板中的多个处理单元以及多个处理单元的组合关系和调用方式,根据多个处理单元的组合关系和调用方式,调用多个处理单元对待处理异构数据进行处理,得到规范数据,由于只需要对简单的处理单元进行程序的开发,针对每个数据源不再需要单独开发对应的处理程序,只需要基于已有的处理单元配置对应的数据处理模板即可进行处理,从而提高了数据处理的效率,简化了数据处理的代码。
优选的,本发明实施例还提供了一种电子设备,包括:处理器,存储器,存储在存储器上并可在处理器上运行的计算机程序,该计算机程序被处理器执行时实现上述异构数据处理方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述异构数据处理方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本发明的保护之内。
本领域普通技术人员可以意识到,结合本发明实施例中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种异构数据处理方法,其特征在于,包括:
确定待处理异构数据的目标数据源;
获取与所述目标数据源对应的数据处理模板,所述数据处理模板用于描述多个处理单元的组合关系和调用方式;
确定所述数据处理模板中的多个处理单元以及所述多个处理单元的组合关系和调用方式;
根据所述多个处理单元的组合关系和调用方式,调用所述多个处理单元对所述待处理异构数据进行处理,得到规范数据。
2.根据权利要求1所述的方法,其特征在于,根据所述多个处理单元的组合关系和调用方式,调用所述多个处理单元对所述待处理异构数据进行处理,得到规范数据,包括:
根据所述多个处理单元的调用方式,分别调用所述多个处理单元对所述待处理异构数据进行处理,得到每个处理单元的处理结果;
根据所述多个处理单元的组合关系,对多个所述处理单元的处理结果进行组合处理,得到所述规范数据。
3.根据所述权利要求1所述的方法,其特征在于,所述确定待处理异构数据的目标数据源,包括:
根据所述待处理异构数据中的数据源字段,确定所述待处理异构数据的目标数据源。
4.根据权利要求1所述的方法,其特征在于,所述确定待处理异构数据的目标数据源,包括:
根据多个数据源对应的判定模板,对所述待处理异构数据进行数据源的判定,确定所述待处理异构数据的目标数据源。
5.根据权利要求4所述的方法,其特征在于,所述判定模板包括至少一个判定单元以及所述至少一个判定单元的判定关系;
根据多个数据源对应的判定模板,对所述待处理异构数据进行数据源的判定,确定所述待处理异构数据的目标数据源,包括:
针对每个数据源,调用所述数据源对应的判定模板中的至少一个判定单元,对所述待处理异构数据进行判定,得到每个判定单元的判定结果;
根据所述至少一个判定单元的判定关系,对所述至少一个判定单元的判定结果进行判定,得到所述待处理异构数据的目标数据源。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述数据处理模板是基于领域语言进行描述的。
7.根据权利要求6所述的方法,其特征在于,确定所述数据处理模板中的多个处理单元以及所述多个处理单元的组合关系和调用方式,包括:
使用基于领域语言的语法解析引擎对所述数据处理模板进行解析,确定所述数据处理模板中的多个处理单元以及所述多个处理单元的组合关系和调用方式。
8.一种异构数据处理装置,其特征在于,包括:
数据源确定模块,用于确定待处理异构数据的目标数据源;
处理模板获取模块,用于获取与所述目标数据源对应的数据处理模板,所述数据处理模板用于描述多个处理单元的组合关系和调用方式;
处理单元确定模块,用于确定所述数据处理模板中的多个处理单元以及所述多个处理单元的组合关系和调用方式;
数据处理模块,用于根据所述多个处理单元的组合关系和调用方式,调用所述多个处理单元对所述待处理异构数据进行处理,得到规范数据。
9.一种电子设备,其特征在于,包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至7中任一项所述的异构数据处理方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的异构数据处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210480583.7A CN114925034A (zh) | 2022-05-05 | 2022-05-05 | 异构数据处理方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210480583.7A CN114925034A (zh) | 2022-05-05 | 2022-05-05 | 异构数据处理方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114925034A true CN114925034A (zh) | 2022-08-19 |
Family
ID=82806136
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210480583.7A Pending CN114925034A (zh) | 2022-05-05 | 2022-05-05 | 异构数据处理方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114925034A (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060235838A1 (en) * | 2005-04-19 | 2006-10-19 | International Business Machines Corporation | System and method for managing complex relationships over distributed heterogeneous data sources |
CN105809493A (zh) * | 2014-12-30 | 2016-07-27 | 航天信息股份有限公司 | ***数据处理方法和*** |
CN106815306A (zh) * | 2016-12-16 | 2017-06-09 | 中铁程科技有限责任公司 | 日志解析方法及装置 |
CN108090154A (zh) * | 2017-12-08 | 2018-05-29 | 广州市申迪计算机***有限公司 | 一种异构多源数据融合查询方法及装置 |
CN113392125A (zh) * | 2021-07-05 | 2021-09-14 | 北京沃东天骏信息技术有限公司 | 一种数据处理方法和装置 |
CN113407551A (zh) * | 2020-03-17 | 2021-09-17 | 北京同邦卓益科技有限公司 | 数据一致性确定方法、装置、设备及存储介质 |
WO2021250987A1 (ja) * | 2020-06-09 | 2021-12-16 | 株式会社プレイド | 情報処理装置、情報処理方法、および記録媒体 |
CN114185945A (zh) * | 2021-12-14 | 2022-03-15 | 建信金融科技有限责任公司 | 异构数据处理方法、装置、设备及存储介质 |
-
2022
- 2022-05-05 CN CN202210480583.7A patent/CN114925034A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060235838A1 (en) * | 2005-04-19 | 2006-10-19 | International Business Machines Corporation | System and method for managing complex relationships over distributed heterogeneous data sources |
CN105809493A (zh) * | 2014-12-30 | 2016-07-27 | 航天信息股份有限公司 | ***数据处理方法和*** |
CN106815306A (zh) * | 2016-12-16 | 2017-06-09 | 中铁程科技有限责任公司 | 日志解析方法及装置 |
CN108090154A (zh) * | 2017-12-08 | 2018-05-29 | 广州市申迪计算机***有限公司 | 一种异构多源数据融合查询方法及装置 |
CN113407551A (zh) * | 2020-03-17 | 2021-09-17 | 北京同邦卓益科技有限公司 | 数据一致性确定方法、装置、设备及存储介质 |
WO2021250987A1 (ja) * | 2020-06-09 | 2021-12-16 | 株式会社プレイド | 情報処理装置、情報処理方法、および記録媒体 |
CN113392125A (zh) * | 2021-07-05 | 2021-09-14 | 北京沃东天骏信息技术有限公司 | 一种数据处理方法和装置 |
CN114185945A (zh) * | 2021-12-14 | 2022-03-15 | 建信金融科技有限责任公司 | 异构数据处理方法、装置、设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
张利兵作: "FLINK设计与实现 核心原理与源码解析", 31 August 2021, 北京:机械工业出版社, pages: 9 - 12 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3588279B1 (en) | Automated extraction of rules embedded in software application code using machine learning | |
CN111475144B (zh) | 风控决策方法、装置、设备及计算机可读存储介质 | |
CN107292170B (zh) | Sql注入攻击的检测方法及装置、*** | |
CN110704816B (zh) | 接口破解的识别方法、装置、设备及存储介质 | |
CN106055375B (zh) | 应用程序安装方法及装置 | |
US8677149B2 (en) | Method and system for protecting intellectual property in software | |
CN111881471A (zh) | 一种无侵入日志数据脱敏方法、装置及*** | |
CN113360300B (zh) | 接口调用链路生成方法、装置、设备及可读存储介质 | |
CN113885880A (zh) | 一种多规则匹配方法、装置及设备 | |
CN113094283A (zh) | 一种数据获取方法、装置、设备及存储介质 | |
CN110516258B (zh) | 数据校验方法及装置、存储介质、电子装置 | |
CN109040089B (zh) | 网络策略审计方法、设备及计算机可读存储介质 | |
CN114925034A (zh) | 异构数据处理方法、装置、电子设备及存储介质 | |
CN113688134B (zh) | 基于多维数据的可视化变量管理方法、***及设备 | |
CN112115428B (zh) | 代码文件的混淆方法、装置、电子设备和存储介质 | |
CN115203674A (zh) | 一种应用程序自动登录方法、***、装置及存储介质 | |
CN111159509B (zh) | 数据处理方法及相关产品 | |
CN113821251A (zh) | 基于人工智能的代码优化方法、装置、设备和存储介质 | |
CN114065197A (zh) | 调用序列生成方法、装置、电子设备、存储介质及产品 | |
CN112433943A (zh) | 基于抽象语法树的环境变量检测方法、装置、设备及介质 | |
CN111739190A (zh) | 车辆诊断文件加密方法、装置、设备及存储介质 | |
CN110968572B (zh) | 用户画像数据清洗方法及装置 | |
CN113704618B (zh) | 基于深度学习模型的数据处理方法、装置、设备及介质 | |
CN116455740A (zh) | 一种自定义工业协议深度解析方法、***及电子设备 | |
CN116910053A (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 |