CN117312281B - 一种多源异构数据自动融合方法、***、设备及存储介质 - Google Patents
一种多源异构数据自动融合方法、***、设备及存储介质 Download PDFInfo
- Publication number
- CN117312281B CN117312281B CN202311173070.2A CN202311173070A CN117312281B CN 117312281 B CN117312281 B CN 117312281B CN 202311173070 A CN202311173070 A CN 202311173070A CN 117312281 B CN117312281 B CN 117312281B
- Authority
- CN
- China
- Prior art keywords
- data
- source
- database
- fusion
- database operation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000003860 storage Methods 0.000 title claims abstract description 11
- 238000007500 overflow downdraw method Methods 0.000 title claims abstract description 10
- 230000004927 fusion Effects 0.000 claims abstract description 93
- 238000012216 screening Methods 0.000 claims abstract description 52
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 47
- 238000011156 evaluation Methods 0.000 claims abstract description 43
- 238000004458 analytical method Methods 0.000 claims abstract description 41
- 238000012544 monitoring process Methods 0.000 claims abstract description 23
- 238000005457 optimization Methods 0.000 claims abstract description 20
- 238000000034 method Methods 0.000 claims description 74
- 230000008439 repair process Effects 0.000 claims description 33
- 238000004140 cleaning Methods 0.000 claims description 26
- 230000008569 process Effects 0.000 claims description 25
- 239000008280 blood Substances 0.000 claims description 19
- 210000004369 blood Anatomy 0.000 claims description 19
- 238000013075 data extraction Methods 0.000 claims description 15
- 238000010801 machine learning Methods 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 10
- 238000005516 engineering process Methods 0.000 claims description 10
- 230000008676 import Effects 0.000 claims description 10
- 238000000513 principal component analysis Methods 0.000 claims description 9
- 230000006399 behavior Effects 0.000 claims description 8
- 238000010586 diagram Methods 0.000 claims description 8
- 238000012360 testing method Methods 0.000 claims description 8
- 230000001960 triggered effect Effects 0.000 claims description 5
- 238000001514 detection method Methods 0.000 claims description 4
- 238000013507 mapping Methods 0.000 claims description 4
- 238000013439 planning Methods 0.000 claims description 3
- 238000011161 development Methods 0.000 abstract description 22
- 230000008859 change Effects 0.000 description 24
- 230000007246 mechanism Effects 0.000 description 9
- 230000006870 function Effects 0.000 description 8
- 238000012545 processing Methods 0.000 description 8
- 238000007405 data analysis Methods 0.000 description 5
- 238000007726 management method Methods 0.000 description 5
- 238000013508 migration Methods 0.000 description 5
- 230000005012 migration Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 230000010354 integration Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000007418 data mining Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 239000012141 concentrate Substances 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000011157 data evaluation Methods 0.000 description 2
- 238000013523 data management Methods 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 244000144992 flock Species 0.000 description 2
- 238000007499 fusion processing Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000004880 explosion Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000005111 flow chemistry technique Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 238000001303 quality assessment method Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000004083 survival effect Effects 0.000 description 1
- 238000012795 verification 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/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
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/004—Artificial life, i.e. computing arrangements simulating life
- G06N3/006—Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Quality & Reliability (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种多源异构数据自动融合方法、***、设备及存储介质,属于数据融合领域,解决了数据融合开发效率低的问题;包括:获取多源异构数据的数据库操作语句,携带源数据库和目标数据库信息;基于数据库操作语句,通过候鸟捕食的群智能优化算法或数据标准筛选算法,生成数据自动化评估和筛选模型;对数据库操作语句的源数据格式进行解析得到解析数据,将解析数据作为数据自动化评估和筛选模型的输入进行数据提取和清洗,剔除掉其中的脏数据,输出融合数据;并将融合数据导入目标数据通道里;生成增量、全量、修复方案并部署到平台中,进行监控完成多源异构数据自动融合。本发明通过低学习成本和低代码的形式完成多源异构数据的自动融合。
Description
技术领域
本发明属于多源异构数据融合技术领域,涉及一种多源异构数据自动融合方法、***、设备及存储介质。
背景技术
大数据是推动数字经济发展的关键生产要素之一,在推进现代化经济的发展过程中,其发挥着至关重要的作用。然而,在当今信息***的时代,海量的数据来源分散在不同的***、数据库和应用程序中,这些数据又存在多样化的数据格式,形成了多源异构数据。
多源异构数据是指***或环境中存在多个不同的数据源,并且这些数据源之间在结构、格式、类型或特性上存在差异,因此,多源异构数据导致数据孤岛、数据冗余和数据不一致等问题,想要将分散的数据整合成有意义的信息,实现全面的数据洞察力,一般采用数据融合技术解决这些问题。
数据融合是指将不同来源的数据集成在一起,消除数据冗余,提供一致和完整的数据视图。它旨在将分散的数据整合成有意义的信息,以支持决策制定、业务分析和业务流程优化等需求。数据融合即当源数据库接收到一个客户端发送的数据变更语句时通过source对象解析数据变更语句中的SQL的行变化机制,同步行变化机制至目标数据库。由于源数据是多源异构数据,源数据库是多源异构的数据库,导致了在数据同步过程中无法直接拷贝变化至目标数据库,需要进行复杂的数据清洗和数据建模关联。其中,行变更机制是指非单纯记录客户端发送的数据变更语句,而是解析变化规律记录实际变更的行数据记录,即记录携带主键指向性的数据,例如:把条件从针对修改时间在2023年4月25号之前的变为主键为多少的多条数据修改语句:Update ky_bill_detail set delflag=1whereupdate_time<“2023-04-25”变化为Update ky_bill_detail set delflag=1where id=?,?,?....。另一方面,目标数据库可能由于不可控因素,如:人为错误修改,目标数据库断电导致的数据丢失,出现数据不统一的情况下,数据增量同步出现数据缺失的问题,因此数据修复方案也成为了数据融合中至关重要的异步。
现有技术中,如公开号:CN112231402A,发明创造名称为一种异构数据实时同步方法、装置、设备和存储介质的专利申请中也提到数据在增量融合中需要设计状态线程和携程,这种异步操作虽然保证融合效率,但是也加大了***复杂度,另外此专利申请中没有采用了传统的数据清洗方案,这在加大的技术的应用的难度之外,还会存在不适宜真实环境源数据库的情况。但开发大数据的应用对数据的依赖极高,数据的重要性远高于算法,因此最终只能形成了一些功能不够完善的大数据应用。
为了更好的实现数据融合,首先需要针对不同数据源中的不同数据格式和结构,进行数据清洗,以确保数据的格式和结构能够匹配和整合。其次,数据源之间的关联关系需要进行匹配和建模。最后,数据融合需要应用各种技术和工具,例如数据挖掘、机器学习和人工智能等,以提高数据融合的精度和效率。
实现数据融合的步骤时,数据源之间的关联关系需要进行匹配和建模,这需要专业的数据分析和建模技能。不同数据源之间可能存在一些隐藏的关联性,而这些关联性可能需要进行深入挖掘和分析,才能将不同数据源的数据进行整合,而数据源本身是一个信息量极大的对象,导致了数据挖掘和分析十分困难。在数据融合的过程中,可能会出现一些数据质量问题,例如数据丢失、错误和不完整等问题。数据融合需要应用各种技术和工具,这需要专业的技术团队和人才,以便运用这些技术和工具解决数据融合过程中的各种技术问题。
综上,现有技术中,存在以下技术问题:
首先数据融合开发流程冗长,其中数据清洗需要数据开发工程师,融合任务的管理需要数据运维工程师,数据源的分析与建模需要数据管理工程师在原业务开发人员的讲解下才能完成,最后数据挖掘需要机器学习工程师,而这一类开发工程师都是无法直接与业务挂钩,业务人员学习技术存在学习困难,导致数据融合的结果无法切实的贴紧业务需求。从另一方面出发,数据融合是一个非常复杂的过程,需要综合运用多种技术和工具,以克服多种挑战和难题。只有充分了解和掌握数据融合的技术和方法,才能够确保数据融合的精度和有效性,这也导致了企业数据融合工作的开展效率慢,且人工成本和错误率高。最后脏数据的繁多导致开发效率进一步受到影响。
发明内容
为了解决上述技术问题,本申请提供了一种多源异构数据自动融合方法、***、设备及存储介质,本方案从图形化配置的形式出发,实现低学习成本和低代码的形式完成多源异构数据的自动融合,解决了现有工作人员结构复杂,各岗位间人员交流了解程度差,开发效率低的问题,同时可以解决脏数据类型繁多,结构复杂,噪音较多,难以过滤导致的多源异构数据融合效率低的问题。
本发明的目的通过以下技术方案来具体实现:
本发明公开了一种多源异构数据自动融合方法,该方法包括:
步骤一、获取多源异构数据的数据库操作语句,所述数据库操作语句携带源数据库和目标数据库信息;
步骤二、基于数据库操作语句,通过候鸟捕食的群智能优化算法或数据标准筛选算法,生成数据自动化评估和筛选模型;
步骤三、对数据库操作语句的源数据格式进行解析得到解析数据,将解析数据作为数据自动化评估和筛选模型的输入进行数据提取和清洗,剔除掉其中的脏数据,输出融合数据;并将融合数据导入目标数据通道里;
步骤四、生成融合数据对应的增量、全量、修复方案;
步骤五、将增量、全量、修复方案部署到平台中,并进行监控,完成多源异构数据自动融合。
步骤一中,获取多源异构数据的数据库操作语句的方法包括:
通过建立血缘关系得到多源异构数据的数据库操作语句;或接收客户端发送的多源异构数据的数据库操作语句。
进一步的,通过建立血缘关系得到多源异构数据的数据库操作语句的步骤包括:
基于多源异构数据的源数据库,建立具有血缘关系的数据字典;所述数据字典为记录和描述源数据库中数据元素属性的集合,集合中的数据元素属性携带数据逻辑字段;所述数据字典以树形嵌套的模式存储了数据逻辑字段对应的具有血缘关系的数据结构;
目标数据库中的参数字段嵌套数据字典中的数据逻辑字段,将目标数据库中的参数字段与数据字典中具有血缘关系的数据结构进行关联,自动生成多源异构数据的数据库操作语句。
步骤二中,基于数据库操作语句,通过候鸟捕食的群智能优化算法,生成数据自动化评估和筛选模型的步骤包括:
将数据库操作语句中的原始数据转换为机器学习模型中可分析的数字标签数据;
通过机器学习模型的主成分分析算法将数字标签数据转换为二维数据,随机选择预设正确点来完成二维数据的种群初始化;
通过比较种群初始化数据和设立预设标准值目标的欧式距离,定义下一次迭代的位置完成群体行为;
经过适应度评估和迭代,完成种群更新;
当获取到接近预设标准值的点停止迭代更新,生成数据自动化评估和筛选模型;
当数据库操作语句中的数据经过模型时,获取数据的预设标准值评分,剔除低于预设标准值评分的脏数据。
步骤二中,基于数据库操作语句,通过数据标准筛选算法,生成数据自动化评估和筛选模型的步骤包括:
基于数据库操作语句,根据预设的标准化的数据规划阀值,剔除不符合阀值的脏数据,生成数据自动化评估和筛选模型;
所述标准化的数据规划包括:数据完整性指标、数据准确性指标、数据一致性指标或数据唯一性指标中的一种或多种;
数据完整性指标:以缺失值比例来衡量,当某一列或某一行的缺失值比例超过阀值时,数据的完整性就受到了影响;
数据准确性指标:以错误值比例来衡量,当某一列或某一行的错误值比例超过阀值时,数据的准确性就受到了影响;
数据一致性指标:以重复值比例来衡量,当某一列或某一行的重复值比例超过阀值时,数据的一致性就受到了影响;
数据唯一性指标:以重复记录次数来衡量,当某一列或某一组记录的重复次数超过阀值次数时,数据的唯一性就受到了影响。
步骤三中,对数据库操作语句的源数据格式进行解析得到解析数据的步骤包括:
通过数据库操作语句携带的源数据库,根据Flink的数据流对象DataStream实现反序列协议接口DeserializationSchema<T>中的反序列化方法deserialize()、流状态判断方法isEndOfStream()和流结果的获取方法getProducedType()的编写,完成了数据库操作语句中数据源信息的解析,基于解析后的数据源信息,得到源数据格式的数据源解析算子链,得到源数据格式;其中,
deserialize():用于将接收到的数据库操作语句中的字节数组转换为对象类型T;
isEndOfStream():用于判断转换为对象类型T后的当前数据是否为流的最后一条数据;
getProducedType():用于判断转换为对象类型T后的当前数据为流的最后一条数据时,返回解析器解析的数据类型。
步骤三中,将解析数据作为数据自动化评估和筛选模型的输入进行数据提取和清洗,剔除掉其中的脏数据,输出融合数据的步骤包括:
将解析源数据格式后的数据使用flink中提供的添加数据源的方法addSource()测试数据源的连接并创建数据源对象,完成常规数据源数据的解析,并把数据转化为数据流的模式,使其可以在新数据生成时,触发对应flink做的source表;source表为flink中定义的源表,flink会自动检测其产生的新的信息,并导入到对应落盘对象sink对象里;sink表的定义是数据的目标表;对数据流产生的数据导入到数据自动化评估和筛选模型中进行数据提取和清洗,构建了数据提取和清洗的算子链,剔除掉其中的脏数据,输出融合数据。
步骤三中,将融合数据导入目标数据通道里的步骤包括:
在创建数据源对象时,把源数据库转义到分布式的实时数据仓库Doris中,Doris运用外表技术实现了泛化数据库的查询语句,实现单一数据库操作语句在多个数据库版本中的映射,将融合数据由源数据库导入携带的目标数据库中的目标数据通道里,得到数据导入算子链。
步骤四中,生成融合数据对应的增量、全量、修复方案的步骤包括:
把融合数据中的源数据库和目标数据库分别导入到Flink中的数据流动流程图DAG图中对应的源对象source对象和落盘对象sink对象中;DAG图由源数据格式的数据源解析算子链、数据提取和清洗的算子链以及数据导入算子链组成;
source对象自动扫描源数据库的增量信息并自主完成目标数据库的落盘,生成了支持当前任务的数据增量方案;
数据增量在运行过程中,会记录意外发生的时间,选择调增source表中的起始时间点,并对接下来的数据操作替换执行为DML中的数据库自适应添加和修改的语句replace语句,replace操作就是完全幂等性操作,实现了数据修复的方案;
把source对象的全量数据转化为流式数据对象,完成把全量数据流式传输到对应目标数据库中,实现了数据库数据的全量生成。
步骤五中,将增量、全量、修复方案部署到平台中,并进行监控,完成多源异构数据自动融合的步骤包括:
平台自动或通过接收客户端发送的触发式命令,将增量、全量、修复方案进行部署;
接收用户端基于全量、增量或修复方案的执行操作,运行执行操作对应的方案,对该方案的运行进行监控,对监控服务进行心跳检测,并将方案的运行日志和服务状态发送给客户端,完成多源异构数据自动融合。
本发明还提供了一种多源异构数据自动融合***,包括:
获取模块,用于获取多源异构数据的数据库操作语句,所述数据库操作语句携带源数据库和目标数据库信息;
模型生成模块,用于基于数据库操作语句,通过候鸟捕食的群智能优化算法或数据标准筛选算法,生成数据自动化评估和筛选模型;
DAG图创建模块,用于对数据库操作语句的源数据格式进行解析得到解析数据,将解析数据作为数据自动化评估和筛选模型的输入进行数据提取和清洗,剔除掉其中的脏数据,输出融合数据;并将融合数据导入目标数据通道里;
融合作业生成模块,用于生成融合数据对应的增量、全量、修复方案;
平台部署监控模块,用于将增量、全量、修复方案部署到平台中,并进行监控,完成多源异构数据自动融合。
本发明还提供了一种多源异构数据自动融合设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述一种多源异构数据自动融合方法的步骤。
本发明还提供了一种计算机可读存储介质,其存储有计算机程序,所述计算机程序被处理器执行时实现上述一种多源异构数据自动融合方法的步骤。
本发明提供的一种多源异构数据自动融合方法、***、设备及存储介质,解决的问题如下:
1:开发过程中需要很多不同行业的人去做,且这些方面人才较为稀少很难构建这样的团队,团队构建难;
2:无法引入业务开发人员,导致数据融合结果无法贴紧业务需求。
2:流程冗长,出错率高;
3:数据融合任务开发效率慢且难以管理的问题;
4:需要较大人力成本。
多源异构是指***或环境中存在多个不同的数据源,并且这些数据源之间在结构、格式、类型或特性上存在差异,即非影子库。数据融合即当源数据库接收到一个客户端发送的数据变更语句时,通过source对象解析数据变更语句中的SQL的行变化机制,其中,行变更机制是指非单纯记录客户端发送的数据变更语句,而是解析变化规律记录实际变更的行数据记录,即记录携带主键指向性的数据例如:Update ky_bill_detail set delflag=1where update_time<“2023-04-25”变化为Update ky_bill_detail set delflag=1where id=?,?,?....,同步行变化机制至目标数据库,源数据库可以是多源异构的数据库。由于其源数据是多源异构,导致了在数据同步过程中无法如同影子库的构造,直接拷贝变化至目标数据库,也就引出了复杂的数据清洗和数据建模关联的步骤。其中,影子库是指在生产环境中与主数据库完全相同的一个副本数据库,适用屏蔽拓展业务的开发对原业务功能的影响。另一方面目标数据库可能由于不可控因素出现数据不统一的情况下,数据增量同步出现数据缺失的问题,如:人为错误修改,目标数据库断电导致的数据丢失;因此数据修复方案也成为了数据融合中至关重要的异步。为解决这一问题,本方案分别针对数据清洗、数据融合自动生成了对应的算子,算子是指包含数据处理的代码模块,达到从图形化配置的形式出发,实现低学习成本和低代码的形式完成多源异构数据库的同步融合。
本发明的有益效果是:
提高效率:自动化生成数据增量、全量和修复任务可以快速地生成可执行的代码,减少手动编写代码的时间,提高工作效率;
减少错误:由于自动生成的代码经过了多次测试和验证,可以避免手动编写代码时的错误和遗漏,保证数据操作的准确性和稳定性;
提高一致性:自动化生成的代码遵循一定的规范和标准,可以保证不同人编写的代码风格一致,提高代码的可读性和可维护性;
节约成本:自动化生成数据增量、全量和修复方案可以节省人力成本,减少编写和维护代码的人力投入,降低开发成本;
提高可扩展性:自动化生成的代码具有一定的通用性和可扩展性,可以根据业务需求进行灵活调整和扩展,满足不同的数据操作需求;
降低开发难度:降低了对特定技术框架的依赖和开发人员的专业技能要求。这样,开发人员可以更专注于业务逻辑的实现,而无需过多关注数据源的差异和集成细节,从而降低了开发难度;
数据清洗过程中采用了群智能优化算法,相比较普通的数据优化算法,他可以根据需求保留较低质量的数据,更适用于真实源数据库数据混乱的情况;
应用血缘关系自动生成sql,降低了sql出错的可能性。
附图说明
下面根据附图和实施例对本发明作进一步详细说明。
图1是本发明实施例提供的一种多源异构数据自动融合方法示意图。
图2是本发明实施例提供的候鸟捕食算法的迭代更新规律示意图。
图3是本发明实施例提供的Flink中DML示意图。
图4是本发明实施例提供的Flink算子链示意图。
图5是本发明实施例提供的驾驶舱示意图。
图6是本发明实施例提供的触发式运行示意图。
具体实施方式
实施例一
如图1所示,本发明实施例一提供了一种多源异构数据自动融合方法,该方法包括:
步骤一、获取多源异构数据的数据库操作语句,所述数据库操作语句携带源数据库和目标数据库信息;
其中,源数据库是指在数据迁移、数据同步或数据集成等过程中,要从中获取数据信息的原始数据库;目标数据库是指数据迁移、数据同步或数据集成等过程中,导入的数据库。它是接收数据信息的数据库,与源数据库进行数据传输和同步的对象,数据库操作语句为DML语句。
步骤二、基于数据库操作语句,通过候鸟捕食的群智能优化算法或数据标准筛选算法,生成数据自动化评估和筛选模型;
在源数据库长期运营的情况下,数据库版本的更换、数据库的设计问题、数据的转移错误、以及用户的错误输入或随意输入都会导致脏数据的出现。如果数据融合的情况下,缺乏对脏数据的适应性会导致代码的执行崩盘。例如,0000-00-00 00:00:00在mysql的5.4版本时,默认可以导入的timestamp字段中的,而到了5.9之后便无法直接导入了。因此在数据融合的时候需要完成数据的清洗。然而由于脏数据的类型是十分繁多的,因此需要对应的专业人员进行定向筛查,这也成为自动化数据融合实现的第一大难点。为了解决这一问题,经过多种算法验证试验,步骤二最终使用了候鸟捕食的群智能优化算法或数据标准筛选算法来自动完成数据清洗。
候鸟捕食的群智能优化算法是一种基于自然界中候鸟群体迁徙和捕食的行为模式而发展出的一种群智能优化算法,其具有一定的全局搜索和局部搜索能力,能够在保持足量数据的情况下剔除脏数据,更适宜真实环境的源数据库。
数据标准筛选算法,基于公认的数据质量评估的六大标准中的完整性(空值率)、准确性(熵值)、合法性(数据是否符合法律规定)。
由于这两种算法只能在数据大量合法的情况下才能执行成功,因此在自动化清洗过程之前,可以选择制作一条合法数据,在这条合法数据占据绝对筛选权重的下,通过算法生成数据自动化评估和筛选模型。数据自动化评估和筛选模型可以自动化的完成数据清理工作,实现原始数据清理、修复、转换和标准化等操作,达到提高数据质量、减少错误和噪声的目的。
步骤三、对数据库操作语句的源数据格式进行解析得到解析数据,将解析数据作为数据自动化评估和筛选模型的输入进行数据提取和清洗,剔除掉其中的脏数据,输出融合数据;并将融合数据导入目标数据通道里;其中,目标数据通道链接目标数据库;
本步骤最终生成解析器,通过Flink得到DAG图。
解析器完成数据的解析,数据的提取和清洗以及数据的导入工作。因此需要针对功能模块书写对应的融合算子和构建对应的算子链,再设计对应流程的DAG图完成整套数据流程的串联工作。
Flink是一个分布式数据流处理框架,支持从多种数据源读取数据,并且算子构建自定义算子链,算子是指执行特定操作的计算单元,它是数据流处理的基本组件,用于处理输入数据并生成输出数据,而算子链是指串联的算子用于解决数据处理流的任务。然后并定义自己的DAG图来完成自定义的解析器的构造实现对源数据进行解析和处理,DAG图是指Flink数据流处理程序的执行计划图,用于描述数据流处理任务中算子之间的依赖关系和执行顺序,通过自建的算子结合算子链实现数据提取、数据解析和数据导入的功能,并在数据解析之后引入数据清洗算子链,提高数据质量,最终形成自定义的数据解析器。
步骤四、生成融合数据对应的增量、全量、修复方案;
在结合数据库操作语句DML语句的时候,就可以提取到数据的源数据库信息和目标数据库信息,结合上述生成的解析器,就可完成数据从多源数据库到目标数据库的融合转移。便可自动引用上述的数据解析器生成对应的数据增量、全量和修复方案。
步骤五、将增量、全量、修复方案部署到平台中,并进行监控,完成多源异构数据自动融合。
平台自动将增量、全量、修复方案进行部署,平台启动心跳监控服务并把服务日志转移到平台中,用户端可以直接通过平台了解的服务的存活情况,且直接性的通过平台启用对应所需的服务,也可选择部署触发式服务管理。
步骤一中,获取多源异构数据的数据库操作语句的方法包括:
通过建立血缘关系得到多源异构数据的数据库操作语句;或接收客户端发送的多源异构数据的数据库操作语句。
其中,通过建立血缘关系得到多源异构数据的数据库操作语句DML的步骤包括:
基于多源异构数据的源数据库,建立具有血缘关系的数据字典;所述数据字典为记录和描述源数据库中数据元素属性的集合,集合中的数据元素属性携带数据逻辑字段;所述数据字典以树形嵌套的模式存储了数据逻辑字段对应的具有血缘关系的数据结构;
数据元素如:表、列、索引、约束等。数据逻辑字段如:存储的数据来源、数据类型和数据计算方式等。
目标数据库中的参数字段嵌套数据字典中的数据逻辑字段,将目标数据库中的参数字段与数据字典中具有血缘关系的数据结构进行关联,自动生成多源异构数据的数据库操作语句。
本方案可以进一步的降低数据融合的开发难度和对源数据库开发人员的依赖,提高开发效率,另一方面也方便数据的管理和溯源。本方案中,同样的字段不需要重复去配置,且更易于管理。
例如:生成血缘关系之前需要建立数据字典,数据字典是指对数据的数据项、数据结构、数据流、数据存储、处理逻辑等的定义和描述。在此主要记录了数据的源数据,包括数据的计算模式和数据初始的来源。这样所有字段就以粒子的形式拆分开来,例如入住率=入住人数/床位数,而床位数=select count(id)from bed,(床位数的数量等于床位表的数据条数)且入住人数=select*from person where delflag!=1and ins_id=?,(入住人数等于老人表里,所有未离院老人的数量)在此平台中,建立数据字典的同时以树形嵌套的模式存储了数据所需的数据结构。数据结构如下:
[数据字段名,自定义昵称,计算公式,[数据血缘]]
参数字段来源嵌套了[数据字段名,自定义昵称,计算公式,[数据血缘]的格式,因为数据逻辑在构成过程中存在以下情况(获取入住率月环比下降的程度):
∵当前入住率=当前入驻人数/床位数
∵上月入住率=上月入驻人数/上月床位数
∴入住率下降的程度=当前入住率-上月入住率
根据上面的公式,数据结构应该就是
[monthDownLiving,当月下降入驻率,currentLiving-lastMonthLiving,
[[currentLiving,当月入住率,person/bed,[…]],
[lastMonthLiving,上月入住率,lastMonth(person)/lastMonth(bed),[…]]]]
而每一个参数字段都有自己都在数据字典汇总存储了各自的生成逻辑。自此就建立一个完善的,且各自字段都携带了血缘来源的字段字典。依据于数据字典和建库工具,就可以在库字段建立成功时,自动获取数据的DML语句,由此可进一步降低了学习成本。
步骤二中,基于数据库操作语句,通过候鸟捕食的群智能优化算法,生成数据自动化评估和筛选模型的步骤包括:
将数据库操作语句中的原始数据转换为机器学习模型中的数字标签数据;
通过机器学习模型的主成分分析算法(PCA)将数字标签数据转换为二维数据,随机选择预设正确点来完成二维数据的种群初始化;
通过比较种群初始化数据和设立预设标准值目标的欧式距离,定义下一次迭代的位置完成群体行为;
经过适应度评估和迭代,完成种群更新;
当获取到最接近预设标准值的点停止迭代更新,生成数据自动化评估和筛选模型;
当数据库操作语句中的数据经过模型时,获取数据的预设标准值评分,剔除低于预设标准值评分的脏数据。
由于在真实环境中源数据库中存在较大量数据不符合数据标准,采用传统的数据剔除的方法,会导致数据丢失量过大。而候鸟捕食算法(Migrating Birds Optimization,MBO)是一种群智能优化算法,模拟了候鸟在迁徙过程中的捕食行为。该算法的主要思想是将待优化问题看作一群猎物,将解空间看作一个生态***,在不同的生态环境中寻找最佳的捕食策略,最终找到最优解。这样可以依据“捕食”的目标评分,调整数据提取量,例如:设定0.8只剩下百分之20数据时就可以降低评分到0.7;把更多的自主权交使用者。方案中主要包括以下几步:
初始化数据:首先使用把文字数据标签化LabelEncode其主要功能是将分类变量中的不同类别标签映射为不同的多维数字变量,从而将其转换为数值变量。例如:颜色中存在红、绿、黄及分别转化为[1,0,0],[0,1,0],[0,0,1],把文本数据变为可分析的数值变量。在通过机器学***成把数据变为一维的,再经过归一化算法降低单一特征对数据的过度影响例如:文本数字最多为1,而数值数据可以无限大,这就导致了文本数据在机器学习模型的系数难以定义。
初始化种群:针对多维数据的分析时十分缓慢的因此需要经过主成分分析算法(PCA)把数据转为数值向量,这样每一条数据都会转化为携带主要信息的且二维平面可表示的维度向量。组成鸟群规模,x是他的随机起始位置,v是的偏移速度,N是鸟群数量的总数。
群体行为:放入多个测试正确值,评估每种正确值最后反射出来的数据结果。
适应度评估:根据反射出来的数据量和数据标准度-即归一化后的熵值、平均的缺失值。
种群更新:把所有的测试正确值往目标点更新,更新的算法公式如下:
这个公式用于计算每一个测试对象的瞬时移动速度,其移动方向是适应度最高点所在位置(Px,Py),而当前点所在位置为偏移度使用欧式距离计算即对应 其有上诉适应度评估得出的最优点决定,而最优点横向坐标为px,竖向坐标为py。C1和C2分别为学习因子,在迭代中适应速度变化趋势。W为惯性权重,属于调参参数,r2和r1为损失比例模拟信息在传导过程中存在损失,获取速度之后就可用以下函数,得出当前目标点的最终位置:
和yt+1分别对应目标点下一刻的横坐标和纵坐标。
停止准则:根据预设的标准0.80无限更新,而为了保护模型更新的安全,把最大可迭代数设置在2000次。迭代更新规律如图2所示。图2中所有的○都是预设的查询正确值的“候鸟”,他们都有自己的评分,所有的○都会朝分数评分最高的地方去移动,在迭代获取新的评分,以求获得满足条件的模型。
因为这种候鸟捕食算法在数据大部分都是合规的前提下才能够实现较好的数据剔除功能,因此用户也可以提前键入一个预设的标准数据,以其标准的值,在小幅度的更新算法模型,这样可以实现在数据满足要求的同时贴合用户的需求。
获取预估模型:把数据库的数据通过初始化数据,把所有数据变为机器学习模型中可分析的数据,再通过主成分分析算法(PCA)把所有数据变为携带x,y轴的二维数据,在随意选择几个预设正确点来完成族群的初始化,通过比较它和设立预设标准值目标的欧式距离,定义其下一次迭代的位置完成群体行为,经过上述适应度评估和不停的迭代,完成种群更新,当获取到最接近预设值的点便可停止模型的迭代更新,也就获取到了预估的模型。当单个数据经过模型时,就会获取他的评分,如果超过评分就留下,低于评分就剔除。
步骤二中,基于数据库操作语句,通过数据标准筛选算法,生成数据自动化评估和筛选模型的步骤包括:
基于数据库操作语句,根据预设的标准化的数据规划阀值,剔除不符合阀值的脏数据,生成数据自动化评估和筛选模型;
所述标准化的数据规划包括:数据完整性指标、数据准确性指标、数据一致性指标或数据唯一性指标中的一种或多种;
数据完整性指标:以缺失值比例来衡量,当某一列或某一行的缺失值比例超过阀值时,数据的完整性就受到了影响;例如:阀值可设定为20%。
数据准确性指标:以错误值比例来衡量,当某一列或某一行的错误值比例超过阀值时,数据的准确性就受到了影响;例如:阀值可设定为10%。
数据一致性指标:以重复值比例来衡量,当某一列或某一行的重复值比例超过阀值时,数据的一致性就受到了影响;例如:阀值可设定为10%。
数据唯一性指标:以重复记录次数来衡量,当某一列或某一组记录的重复次数超过阀值次数时,数据的唯一性就受到了影响。例如:阀值可设定为1。
结合标准的数据规则算法剔除数据中的数据,使其满足上述要求,因为这种数据的剔除是具备随机性的,因此用户可以放入个性化的条件来影响数据最终结果,或修改数据阀值例如接受缺失值为30%的数据。自此获取特定的模型,当新的数据经过时,就会对应数据完整性、准确性、一致性、唯一性进行对标,如果不满足就会相应的剔除数据。
当用户导入数据时,以及预设的数据完整性、准确性、一致性和唯一性的值,对数据进行打分;例如,同样id为3的出现一次为100,两次90,依次递减,且打分采取平均数的权重,既当数据打分结果取平均数。用户也可调大某个标准的分数占比,去获取更加满足需求的数据,这样就获取了既满足用户需求也满足数据标准的数据评估和筛选模型。
步骤三中,对数据库操作语句的源数据格式进行解析得到解析数据的步骤包括:
通过数据库操作语句携带的源数据库,根据Flink的数据流对象DataStream实现反序列协议接口DeserializationSchema<T>中的反序列化方法deserialize()、流状态判断方法isEndOfStream()和流结果的获取方法getProducedType()的编写,完成了数据库操作语句中数据源信息的解析,基于解析后的数据源信息,得到源数据格式的数据源解析算子链,得到源数据格式;其中,
deserialize()例如:deserialize(byte[]message):用于将接收到的数据库操作语句中的字节数组转换为对象类型T;
isEndOfStream()例如:isEndOfStream(T nextElement):用于判断转换为对象类型T后的当前数据是否为流的最后一条数据;
getProducedType():用于判断转换为对象类型T后的当前数据为流的最后一条数据时,返回解析器解析的数据类型。
步骤三中,将解析数据作为数据自动化评估和筛选模型的输入进行数据提取和清洗,剔除掉其中的脏数据,输出融合数据的步骤包括:
将解析源数据格式后的数据使用flink中提供的添加数据源的方法addSource()测试数据源的连接并创建数据源对象,完成常规数据源数据的解析,并把数据转化为数据流的模式,使其可以在新数据生成时,触发对应flink做的source表;source表为flink中定义的源表,flink会自动检测其产生的新的信息,并导入到对应落盘对象sink对象里;对数据流产生的数据导入到数据自动化评估和筛选模型中进行数据提取和清洗,构建了数据提取和清洗的算子链,剔除掉其中的脏数据,输出融合数据。
例如:结合用户提供的数据源地址、数据源用户、用户密码,可以使用flink中提供的添加数据源的方法addSource()测试数据源的连接方式并创建数据源对象,完成常规数据源数据的解析,并把数据转化为数据流的模式,使其可以在新数据生成时,触发对应flink做的source表(source表是flink中定义的源表,flink会自动检测其产生的新的信息,并导入到对应sink对象里)。对流式产生的数据导入到上述生成的数据自动化评估和筛选模型,使得数据在增量、修复和全量时都得到清洗。自此就构建了数据提取和清洗的算子链。
步骤三中,将融合数据导入目标数据通道里的步骤包括:
在创建数据源对象时,把源数据库转义到分布式的实时数据仓库Doris中,Doris运用外表技术实现了泛化数据库的查询语句,实现单一数据库操作语句在多个数据库版本中的映射,将融合数据由源数据库导入携带的目标数据库中的目标数据通道里,得到数据导入算子链。
如图3所示,数据库操作语句DML左侧是Application软件,Devices设备触发数据流信息的变化,导入到Flink平台中,平台会经过一系列的算子链进入对应的目标。如图4所示的Flink算子链,对应的是算子链中单子算子的代码和功能,例如source对应env.addsource,sink对应states.addsink。
例如:为了保证后续在基于用户提供的sql语句能够直接实现数据从源到端的导入,因此在创建数据源对象的时候把数据库转储到Doris中,Doris本身是一个分布式的实时数据仓库,本身支持多种数据源的实时导入和处理,包括MySQL、Kafka、HDFS等,且其运用外表技术实现了泛化数据库的查询语句如:SQL-on-Hadoop,实现单一DML在多个数据库版本中的映射。这样可以把源数据格式解析完成后转向导入到目标数据通道里,自此便完成了数据的提取和数据导入算子链。
步骤四中,生成融合数据对应的增量、全量、修复方案的步骤包括:
结合数据提取的算子链设计和形成DAG图,DAG图是Flink中的数据流动流程图,即流程设计图,实现把融合数据中的源数据库和目标数据库分别导入到Flink中DAG图中对应的源对象source对象和落盘对象sink对象中;且全流程经过了数据解析、数据提取和解析、数据导入的三个算子链。因为具备源数据到目标数据库的导入语句,DAG图由源数据格式的数据源解析算子链、数据提取和清洗的算子链以及数据导入算子链组成;
source对象自动扫描源数据库的增量信息并自主完成目标数据库的落盘,生成了支持当前任务的数据增量方案;
为了防止数据库的人为或非人为的意外崩盘,数据增量在运行过程中,会记录意外发生的时间,选择调增source表中的起始时间点,并对接下来的数据操作替换执行为DML中的数据库自适应添加和修改的语句replace语句,replace操作就是完全幂等性操作,即,多次同样的语句,结果依然一致;实现了数据修复的方案;
由于数据库会发生迁移且本身数据库的事务日志也是会被删除的,因此结合数据本身特性也应用了把source对象的全量数据转化为流式数据对象的方案来完成把全量数据流式传输到对应目标数据库中,达到数据库数据变化的全量迁移。
步骤五中,将增量、全量、修复方案部署到平台中,并进行监控,完成多源异构数据自动融合的步骤包括:
平台自动或通过接收客户端发送的触发式命令,将增量、全量、修复方案进行部署;
接收用户端基于全量、增量或修复方案的执行操作,运行执行操作对应的方案,对该方案的运行进行监控,如图5所示,图5所示为平台的驾驶舱,监控服务的地方,flink部署的服务会自动生成流程的UML图,包括下方表格中展示了每一步的信息流动情况。对监控服务进行心跳检测,并将方案的运行日志和服务状态发送给客户端,完成多源异构数据自动融合。
例如:生成数据全量、增量和修复的方案以后,用户可以在平台中对应选择需要执行的方案,方案的会自主的在服务管理平台中运行和监控,平台对所有服务进行了心跳检测,用户可直接通过平台查看服务的运行日志和服务状态。至此便完成整套多源异构数据的融合和数据同步监控。另一方面,用户可以选择增量和修复方案的触发式运行,流程图如图6所示周期间检测数据的增量服务,如果服务出现异常,对应提取出故障的触发时间和自启数据修复算子服务,完成自主修复的流程。
当服务处在自我监控的模式下,会在消耗少量的资源下完成及时性的数据修复,这也为线上服务的数据提供及时可靠的数据。
实施例二
本发明实施例二提供了一种多源异构数据自动融合***,包括:
获取模块,用于获取多源异构数据的数据库操作语句,所述数据库操作语句携带源数据库和目标数据库信息;
模型生成模块,用于基于数据库操作语句,通过候鸟捕食的群智能优化算法或数据标准筛选算法,生成数据自动化评估和筛选模型;
DAG图创建模块,用于对数据库操作语句的源数据格式进行解析得到解析数据,将解析数据作为数据自动化评估和筛选模型的输入进行数据提取和清洗,剔除掉其中的脏数据,输出融合数据;并将融合数据导入目标数据通道里;
融合作业生成模块,用于生成融合数据对应的增量、全量、修复方案;
平台部署监控模块,用于将增量、全量、修复方案部署到平台中,并进行监控,完成多源异构数据自动融合。
实施例三
本发明实施例三提供了一种多源异构数据自动融合设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述实施例一提供的方法的步骤。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的设备的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
实施例四
本发明实施例四提供了一种计算机可读存储介质,其存储有计算机程序,所述计算机程序被处理器执行时实现上述实施例一提供的方法的步骤。
本发明实施例提供的一种多源异构数据自动融合方法、***、设备及存储介质,解决的问题如下:
1:开发过程中需要很多不同行业的人去做,且这些方面人才较为稀少很难构建这样的团队,团队构建难;
2:流程冗长很容易犯错误;
3:数据融合任务开发效率慢且难以管理的问题;
4:需要较大人力成本。
多源异构是指***或环境中存在多个不同的数据源,并且这些数据源之间在结构、格式、类型或特性上存在差异,即非影子库。数据融合即当源数据库接收到一个客户端发送的数据变更语句时,通过source对象解析数据变更语句中的SQL的行变化机制,其中,行变更机制是指非单纯记录客户端发送的数据变更语句,而是解析变化规律记录实际变更的行数据记录,即记录携带主键指向性的数据例如:Update ky_bill_detail set delflag=1where update_time<“2023-04-25”变化为Update ky_bill_detail set delflag=1where id=?,?,?....,同步行变化机制至目标数据库,源数据库可以是多源异构的数据库。由于其源数据是多源异构,导致了在数据同步过程中无法如同影子库的构造,直接拷贝变化至目标数据库,也就引出了复杂的数据清洗和数据建模关联的步骤。其中,影子库是指在生产环境中与主数据库完全相同的一个副本数据库,适用屏蔽拓展业务的开发对原业务功能的影响。另一方面目标数据库可能由于不可控因素出现数据不统一的情况下,数据增量同步出现数据缺失的问题,如:人为错误修改,目标数据库断电导致的数据丢失;因此数据修复方案也成为了数据融合中至关重要的异步。为解决这一问题,本方案分别针对数据清洗、数据融合自动生成了对应的算子,算子是指包含数据处理的代码模块,达到从图形化配置的形式出发,实现低学习成本和低代码的形式完成多源异构数据库的同步融合。
本发明实施例的有益效果是:
提高效率:自动化生成数据增量、全量和修复任务可以快速地生成可执行的代码,减少手动编写代码的时间,提高工作效率;
减少错误:由于自动生成的代码经过了多次测试和验证,可以避免手动编写代码时的错误和遗漏,保证数据操作的准确性和稳定性;
提高一致性:自动化生成的代码遵循一定的规范和标准,可以保证不同人编写的代码风格一致,提高代码的可读性和可维护性;
节约成本:自动化生成数据增量、全量和修复方案可以节省人力成本,减少编写和维护代码的人力投入,降低开发成本;
提高可扩展性:自动化生成的代码具有一定的通用性和可扩展性,可以根据业务需求进行灵活调整和扩展,满足不同的数据操作需求;
降低开发难度:降低了对特定技术框架的依赖和开发人员的专业技能要求。这样,开发人员可以更专注于业务逻辑的实现,而无需过多关注数据源的差异和集成细节,从而降低了开发难度;
数据清洗过程中采用了群智能优化算法,相比较普通的数据优化算法,他可以根据需求保留较低质量的数据,更适用于真实源数据库数据混乱的情况;
应用血缘关系自动生成sql,降低了sql出错的可能性。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (12)
1.一种多源异构数据自动融合方法,其特征在于,该方法包括:
步骤一、获取多源异构数据的数据库操作语句,所述数据库操作语句携带源数据库和目标数据库信息;
步骤二、基于数据库操作语句,通过候鸟捕食的群智能优化算法或数据标准筛选算法,生成数据自动化评估和筛选模型;
步骤三、对数据库操作语句的源数据格式进行解析得到解析数据,将解析数据作为数据自动化评估和筛选模型的输入进行数据提取和清洗,剔除掉其中的脏数据,输出融合数据;并将融合数据导入目标数据通道里;
步骤四、生成融合数据对应的增量、全量、修复方案;
步骤五、将增量、全量、修复方案部署到平台中,并进行监控,完成多源异构数据自动融合;
步骤二中,基于数据库操作语句,通过候鸟捕食的群智能优化算法,生成数据自动化评估和筛选模型的步骤包括:
将数据库操作语句中的原始数据转换为机器学习模型中的数字标签数据;
通过机器学习模型的主成分分析算法将数字标签数据转换为二维数据,随机选择预设正确点来完成二维数据的种群初始化;
通过比较种群初始化数据和设立预设标准值目标的欧式距离,定义下一次迭代的位置完成群体行为;
经过适应度评估和迭代,完成种群更新;
当获取到最接近预设标准值的点停止迭代更新,生成数据自动化评估和筛选模型;
当数据库操作语句中的数据经过模型时,获取数据的预设标准值评分,剔除低于预设标准值评分的脏数据。
2.如权利要求1所述的方法,其特征在于,步骤一中,获取多源异构数据的数据库操作语句的方法包括:
通过建立血缘关系得到多源异构数据的数据库操作语句;或接收客户端发送的多源异构数据的数据库操作语句。
3.如权利要求2所述的方法,其特征在于,通过建立血缘关系得到多源异构数据的数据库操作语句的步骤包括:
基于多源异构数据的源数据库,建立具有血缘关系的数据字典;所述数据字典为记录和描述源数据库中数据元素属性的集合,集合中的数据元素属性携带数据逻辑字段;所述数据字典以树形嵌套的模式存储了数据逻辑字段对应的具有血缘关系的数据结构;
目标数据库中的参数字段嵌套数据字典中的数据逻辑字段,将目标数据库中的参数字段与数据字典中具有血缘关系的数据结构进行关联,自动生成多源异构数据的数据库操作语句。
4.如权利要求1所述的方法,其特征在于,步骤二中,基于数据库操作语句,通过数据标准筛选算法,生成数据自动化评估和筛选模型的步骤包括:
基于数据库操作语句,根据预设的标准化的数据规划阀值,剔除不符合阀值的脏数据,生成数据自动化评估和筛选模型;
所述标准化的数据规划包括:数据完整性指标、数据准确性指标、数据一致性指标或数据唯一性指标中的一种或多种;
数据完整性指标:以缺失值比例来衡量,当某一列或某一行的缺失值比例超过阀值时,数据的完整性就受到了影响;
数据准确性指标:以错误值比例来衡量,当某一列或某一行的错误值比例超过阀值时,数据的准确性就受到了影响;
数据一致性指标:以重复值比例来衡量,当某一列或某一行的重复值比例超过阀值时,数据的一致性就受到了影响;
数据唯一性指标:以重复记录次数来衡量,当某一列或某一组记录的重复次数超过阀值次数时,数据的唯一性就受到了影响。
5.如权利要求1所述的方法,其特征在于,步骤三中,对数据库操作语句的源数据格式进行解析得到解析数据的步骤包括:
通过数据库操作语句携带的源数据库,根据Flink的数据流对象DataStream实现反序列协议接口DeserializationSchema<T>中的反序列化方法deserialize()、流状态判断方法isEndOfStream() 和流结果的获取方法getProducedType()的编写,完成了数据库操作语句中数据源信息的解析,基于解析后的数据源信息,得到源数据格式的数据源解析算子链,得到源数据格式;其中,
deserialize():用于将接收到的数据库操作语句中的字节数组转换为对象类型T;
isEndOfStream():用于判断转换为对象类型T后的当前数据是否为流的最后一条数据;
getProducedType():用于判断转换为对象类型T后的当前数据为流的最后一条数据时,返回解析器解析的数据类型。
6.如权利要求1所述的方法,其特征在于,步骤三中,将解析数据作为数据自动化评估和筛选模型的输入进行数据提取和清洗,剔除掉其中的脏数据,输出融合数据的步骤包括:
将解析源数据格式后的数据使用flink中提供的添加数据源的方法 addSource()测试数据源的连接并创建数据源对象,完成常规数据源数据的解析,并把数据转化为数据流的模式,使其可以在新数据生成时,触发对应flink做的source表;source表为flink中定义的源表,flink会自动检测其产生的新的信息,并导入到对应落盘对象sink对象里;对数据流产生的数据导入到数据自动化评估和筛选模型中进行数据提取和清洗,构建了数据提取和清洗的算子链,剔除掉其中的脏数据,输出融合数据。
7.如权利要求1所述的方法,其特征在于,步骤三中,将融合数据导入目标数据通道里的步骤包括:
在创建数据源对象时,把源数据库转义到分布式的实时数据仓库Doris中,Doris运用外表技术实现了泛化数据库的查询语句,实现单一数据库操作语句在多个数据库版本中的映射,将融合数据由源数据库导入携带的目标数据库中的目标数据通道里,得到数据导入算子链。
8.如权利要求1所述的方法,其特征在于,步骤四中,生成融合数据对应的增量、全量、修复方案的步骤包括:
把融合数据中的源数据库和目标数据库分别导入到Flink中的数据流动流程图DAG图中对应的源对象source对象和落盘对象sink对象中;DAG图由源数据格式的数据源解析算子链、数据提取和清洗的算子链以及数据导入算子链组成;
source对象自动扫描源数据库的增量信息并自主完成目标数据库的落盘,生成了支持当前任务的数据增量方案;
数据增量在运行过程中,会记录意外发生的时间,选择调增source表中的起始时间点,并对接下来的数据操作替换执行为数据库操作语句DML语句中的数据库自适应添加和修改的语句replace语句,replace操作就是完全幂等性操作,实现了数据修复的方案;
把source对象的全量数据转化为流式数据对象,完成把全量数据流式传输到对应目标数据库中,实现了数据库数据的全量生成。
9.如权利要求1所述的方法,其特征在于,步骤五中,将增量、全量、修复方案部署到平台中,并进行监控,完成多源异构数据自动融合的步骤包括:
平台自动或通过接收客户端发送的触发式命令,将增量、全量、修复方案进行部署;
接收用户端基于全量、增量或修复方案的执行操作,运行执行操作对应的方案,对该方案的运行进行监控,对监控服务进行心跳检测,并将方案的运行日志和服务状态发送给客户端,完成多源异构数据自动融合。
10.一种多源异构数据自动融合***,其特征在于,包括:
获取模块,用于获取多源异构数据的数据库操作语句,所述数据库操作语句携带源数据库和目标数据库信息;
模型生成模块,用于基于数据库操作语句,通过候鸟捕食的群智能优化算法或数据标准筛选算法,生成数据自动化评估和筛选模型;
DAG图创建模块,用于对数据库操作语句的源数据格式进行解析得到解析数据,将解析数据作为数据自动化评估和筛选模型的输入进行数据提取和清洗,剔除掉其中的脏数据,输出融合数据;并将融合数据导入目标数据通道里;
融合作业生成模块,用于生成融合数据对应的增量、全量、修复方案;
平台部署监控模块,用于将增量、全量、修复方案部署到平台中,并进行监控,完成多源异构数据自动融合;
模型生成模块中,基于数据库操作语句,通过候鸟捕食的群智能优化算法,生成数据自动化评估和筛选模型的步骤包括:
将数据库操作语句中的原始数据转换为机器学习模型中的数字标签数据;
通过机器学习模型的主成分分析算法将数字标签数据转换为二维数据,随机选择预设正确点来完成二维数据的种群初始化;
通过比较种群初始化数据和设立预设标准值目标的欧式距离,定义下一次迭代的位置完成群体行为;
经过适应度评估和迭代,完成种群更新;
当获取到最接近预设标准值的点停止迭代更新,生成数据自动化评估和筛选模型;
当数据库操作语句中的数据经过模型时,获取数据的预设标准值评分,剔除低于预设标准值评分的脏数据。
11.一种多源异构数据自动融合设备,其特征在于,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至9中任意一项所述的方法的步骤。
12.一种计算机可读存储介质,其存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至9中任意一项所述的方法的步骤。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2023107896762 | 2023-06-30 | ||
CN202310789676 | 2023-06-30 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117312281A CN117312281A (zh) | 2023-12-29 |
CN117312281B true CN117312281B (zh) | 2024-05-24 |
Family
ID=89285737
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311173070.2A Active CN117312281B (zh) | 2023-06-30 | 2023-09-12 | 一种多源异构数据自动融合方法、***、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117312281B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117520787B (zh) * | 2024-01-04 | 2024-03-19 | 四川省公路规划勘察设计研究院有限公司 | 基于数字孪生的高速公路智慧化数据故障分析方法和*** |
CN117555920B (zh) * | 2024-01-11 | 2024-03-12 | 冠骋信息技术(苏州)有限公司 | 适用于低代码平台的多数据源适配方法及*** |
CN117931953B (zh) * | 2024-03-22 | 2024-06-04 | 北京谷器数据科技有限公司 | 一种异构数据库数据同步的方法及*** |
Citations (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102902782A (zh) * | 2012-09-27 | 2013-01-30 | 浙江大学 | 一种海量多源异构空间信息数据无缝集成管理方法 |
CN103577605A (zh) * | 2013-11-20 | 2014-02-12 | 贵州电网公司电力调度控制中心 | 基于数据融合和数据挖掘的数据仓库及其应用方法 |
CN103617176A (zh) * | 2013-11-04 | 2014-03-05 | 广东电子工业研究院有限公司 | 一种实现多源异构数据资源自动同步的方法 |
CN104346377A (zh) * | 2013-07-31 | 2015-02-11 | 克拉玛依红有软件有限责任公司 | 一种基于唯一标识的数据集成和交换方法 |
US9081855B1 (en) * | 2012-05-31 | 2015-07-14 | Integrity Applications Incorporated | Systems and methods for video archive and data extraction |
CN105159951A (zh) * | 2015-08-17 | 2015-12-16 | 成都中科大旗软件有限公司 | 一种开放式的旅游多源异构数据融合方法及*** |
US10185758B1 (en) * | 2015-06-30 | 2019-01-22 | EMC IP Holding Company LLC | Direct to remote replication |
CN109635989A (zh) * | 2018-08-30 | 2019-04-16 | 电子科技大学 | 一种基于多源异构数据融合的社交网络链路预测方法 |
CN109726747A (zh) * | 2018-12-20 | 2019-05-07 | 西安电子科技大学 | 基于社交网络推荐平台的数据融合排序方法 |
CN111026779A (zh) * | 2019-12-19 | 2020-04-17 | 厦门安胜网络科技有限公司 | 一种基于Flink SQL的数据处理方法、装置、存储介质 |
CN111984640A (zh) * | 2020-08-04 | 2020-11-24 | 中国科学技术大学智慧城市研究院(芜湖) | 基于多元异构数据的画像构建方法 |
CN112163047A (zh) * | 2020-09-21 | 2021-01-01 | 国家电网有限公司大数据中心 | 一种数据中台以及计算设备 |
CN113869571A (zh) * | 2021-09-22 | 2021-12-31 | 国网天津市电力公司电力科学研究院 | 一种基于异构数据的智慧能源建筑综合信息物理融合方法 |
CN114238464A (zh) * | 2021-11-23 | 2022-03-25 | 国网浙江省电力有限公司营销服务中心 | 一种多元能源数据的异构融合方法 |
CN114648161A (zh) * | 2022-03-14 | 2022-06-21 | 河南理工大学 | 一种大吨位装载机自适应智能装载*** |
CN114861823A (zh) * | 2022-05-30 | 2022-08-05 | 武汉理工大学 | 一种多数据融合的决策方法、装置、设备及存储介质 |
CN115099338A (zh) * | 2022-06-24 | 2022-09-23 | 国网浙江省电力有限公司电力科学研究院 | 面向电网主设备多源异构质量信息融合处理方法及*** |
CN115168396A (zh) * | 2022-07-15 | 2022-10-11 | 全图通位置网络有限公司 | 一种基于时空体系的综合智能平台数据管理方法及*** |
CN115269630A (zh) * | 2022-06-30 | 2022-11-01 | 启明信息技术股份有限公司 | 基于自定义sql脚本进行多源异构数据库联合查询的方法 |
CN115496253A (zh) * | 2022-06-28 | 2022-12-20 | 贵州电网有限责任公司 | 一种基于多目标遗传算法的输电线路路径优化方法及*** |
-
2023
- 2023-09-12 CN CN202311173070.2A patent/CN117312281B/zh active Active
Patent Citations (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9081855B1 (en) * | 2012-05-31 | 2015-07-14 | Integrity Applications Incorporated | Systems and methods for video archive and data extraction |
CN102902782A (zh) * | 2012-09-27 | 2013-01-30 | 浙江大学 | 一种海量多源异构空间信息数据无缝集成管理方法 |
CN104346377A (zh) * | 2013-07-31 | 2015-02-11 | 克拉玛依红有软件有限责任公司 | 一种基于唯一标识的数据集成和交换方法 |
CN103617176A (zh) * | 2013-11-04 | 2014-03-05 | 广东电子工业研究院有限公司 | 一种实现多源异构数据资源自动同步的方法 |
CN103577605A (zh) * | 2013-11-20 | 2014-02-12 | 贵州电网公司电力调度控制中心 | 基于数据融合和数据挖掘的数据仓库及其应用方法 |
US10185758B1 (en) * | 2015-06-30 | 2019-01-22 | EMC IP Holding Company LLC | Direct to remote replication |
CN105159951A (zh) * | 2015-08-17 | 2015-12-16 | 成都中科大旗软件有限公司 | 一种开放式的旅游多源异构数据融合方法及*** |
CN109635989A (zh) * | 2018-08-30 | 2019-04-16 | 电子科技大学 | 一种基于多源异构数据融合的社交网络链路预测方法 |
CN109726747A (zh) * | 2018-12-20 | 2019-05-07 | 西安电子科技大学 | 基于社交网络推荐平台的数据融合排序方法 |
CN111026779A (zh) * | 2019-12-19 | 2020-04-17 | 厦门安胜网络科技有限公司 | 一种基于Flink SQL的数据处理方法、装置、存储介质 |
CN111984640A (zh) * | 2020-08-04 | 2020-11-24 | 中国科学技术大学智慧城市研究院(芜湖) | 基于多元异构数据的画像构建方法 |
CN112163047A (zh) * | 2020-09-21 | 2021-01-01 | 国家电网有限公司大数据中心 | 一种数据中台以及计算设备 |
CN113869571A (zh) * | 2021-09-22 | 2021-12-31 | 国网天津市电力公司电力科学研究院 | 一种基于异构数据的智慧能源建筑综合信息物理融合方法 |
CN114238464A (zh) * | 2021-11-23 | 2022-03-25 | 国网浙江省电力有限公司营销服务中心 | 一种多元能源数据的异构融合方法 |
CN114648161A (zh) * | 2022-03-14 | 2022-06-21 | 河南理工大学 | 一种大吨位装载机自适应智能装载*** |
CN114861823A (zh) * | 2022-05-30 | 2022-08-05 | 武汉理工大学 | 一种多数据融合的决策方法、装置、设备及存储介质 |
CN115099338A (zh) * | 2022-06-24 | 2022-09-23 | 国网浙江省电力有限公司电力科学研究院 | 面向电网主设备多源异构质量信息融合处理方法及*** |
CN115496253A (zh) * | 2022-06-28 | 2022-12-20 | 贵州电网有限责任公司 | 一种基于多目标遗传算法的输电线路路径优化方法及*** |
CN115269630A (zh) * | 2022-06-30 | 2022-11-01 | 启明信息技术股份有限公司 | 基于自定义sql脚本进行多源异构数据库联合查询的方法 |
CN115168396A (zh) * | 2022-07-15 | 2022-10-11 | 全图通位置网络有限公司 | 一种基于时空体系的综合智能平台数据管理方法及*** |
Non-Patent Citations (1)
Title |
---|
大数据在城市政策管理研究中的应用;金浩然;《 城市管理与科技 》;20171215;第32-34页 * |
Also Published As
Publication number | Publication date |
---|---|
CN117312281A (zh) | 2023-12-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN117312281B (zh) | 一种多源异构数据自动融合方法、***、设备及存储介质 | |
US11983098B1 (en) | Systems and methods for modeling and generating test requirements for software applications | |
US10162612B2 (en) | Method and apparatus for inventory analysis | |
Bakota et al. | Clone smells in software evolution | |
US8291387B2 (en) | Method and system for testing a software application interfacing with multiple external software applications in a simulated test environment | |
US9720971B2 (en) | Discovering transformations applied to a source table to generate a target table | |
US8090677B2 (en) | Method and system for altering the configuration of a data warehouse | |
US9311176B1 (en) | Evaluating a set of storage devices and providing recommended activities | |
Nguyen et al. | Clone-aware configuration management | |
EP3674918B1 (en) | Column lineage and metadata propagation | |
US9098630B2 (en) | Data selection | |
JP2017525039A (ja) | 系統情報の管理 | |
CN114398030A (zh) | 用于任意软件逻辑建模的***和方法 | |
CN102804147A (zh) | 执行abap源代码的代码检查的代码检查执行*** | |
US7203925B1 (en) | Graphical compiler | |
CN104298603B (zh) | 一种应用***版本构建的正确性的检查方法 | |
Raatikainen et al. | Improved management of issue dependencies in issue trackers of large collaborative projects | |
CN108959391A (zh) | 展现数据库集群架构图的设备、***、方法、存储介质 | |
Unterdechler et al. | Identifying repeating patterns in IEC 61499 systems using Feature-Based embeddings | |
Gu et al. | Kerep: Experience in extracting knowledge on distributed system behavior through request execution path | |
CN116400950A (zh) | 一种基于版本控制的DevOps元流水线*** | |
CN116302984A (zh) | 一种测试任务的根因分析方法、装置及相关设备 | |
Agrawal et al. | A hybrid-token and textual based approach to find similar code segments | |
Tatale et al. | A Survey on Test Case Generation using UML Diagrams and Feasibility Study to Generate Combinatorial Logic Oriented Test Cases. | |
Applelid | Evaluating template-based automatic program repair in industry |
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 | ||
CB03 | Change of inventor or designer information |
Inventor after: Tang Xinyu Inventor after: Wang Meng Inventor after: Jin Yongzhe Inventor after: Chen Guang Inventor after: Liu Lei Inventor before: Tang Xinyu Inventor before: Wang Meng Inventor before: Jin Yongzhe Inventor before: Chen Guang Inventor before: Liu Lei |
|
CB03 | Change of inventor or designer information |