一种动态实时同步多源大表数据的增强实时计算方法技术

技术编号:30105161 阅读:25 留言:0更新日期:2021-09-18 09:13
本发明专利技术公开了一种动态实时同步多源大表数据的增强实时计算方法,该方法包括以下步骤:搭建分布式动态表管理组件;创建分布式动态表,并通过分布式动态表来标准化多源库表的数据结构;通过实时同步技术管理分布式动态表元数据变更信息的同步更新;初始化批量导入分布式动态表数据;核对导入数据的完整性;对分布式动态表中的数据进行实时更新;对数据同步更新过程进行实时数据的同步监控;将分布式动态表中的数据通过结构化查询语言转换成实时流数据的虚拟表;将虚拟表中的数据与预先配置的流数据进行结合流计算;输出流计算结果。有益效果:解决了实时计算结合外部数据源过亿大表下的复杂业务逻辑的实时计算要求。表下的复杂业务逻辑的实时计算要求。表下的复杂业务逻辑的实时计算要求。

【技术实现步骤摘要】
一种动态实时同步多源大表数据的增强实时计算方法


[0001]本专利技术涉及大数据计算
,具体来说,涉及一种动态实时同步多源大表数据的增强实时计算方法。

技术介绍

[0002]在实时计算过程中,很多实时业务存在对数据的补全、数据过虑,数据转换等复杂处理要求,由于补全、过虑的条件、转换等复杂逻辑需要的数据通常存储实时计算的过程之外,需要在实时计算时,连接外部不同的数据源来拉取数据,大数据量数据通常存过亿的大表数据,拉取数据的过程中的性能,完全依赖于源端数据源的性能,这样在实时计算过程中,存在很大的性能影响。
[0003]随着实时计算业务的普及,电信运营商及各企业单位对实时计算的业务场景要求也越来越丰富,其中就有很多场景要求实时数据同现有离线的库表数据结合计算的需求,如下的场景,对实时数据的补全,如实时数据记录:pkey=1,fkey=101,udata=200,...;需要根据fkey=101查询离线库表的获取数据 udatetype=

敏感数据

,并最终形成实时数据记录输出:pkey=1,fkey=101,udata=200,udatetype=

敏感数据

;实现此业务场景的现有的技术主要有:1)、离线库表如果是结构化的数据库,如MySQL,oralce,PostgrESQL,hive等可以通过标准接口jdbc/odbc连接,即时用SQL可以读取表的数据,如SQL:select udatetype(字段)from db.t1(库.表)where fkey=101(索引字段作为查询条件);其中udatetype字段的值就补全的数据;2)、离线库表如果是半结构化或非结构化的数据库,如hbase,hdfs,clickhouse等,则需要通过其提供的连接方式的api实时读取数据后再进行实时数据计算等操作;3)、将离线库表的数据提前加载到指定的内存中,计算的时候再从内存中读取数据计算或补全等操作;现有的技术为满足实时计算秒级性能要求,大多依赖不同类型数据库自身的处理能力,对实时与离线数据结合计算主要存在以下缺陷:1)、会造成对离线数据库的访问压力,影响到离线数据库自身的业务,由于实时数据每来一条记录都需要连接离线数据库并读取数据,如果同时并发处理100条或更多实时数据记录时,就需要连接离线数据库超过100次或更多,此时对离线数据库对造成很大的访问压力;2)、难以满足实时计算的秒级性能要求,由于不同的数据库差异,难以保障读取过亿大表数据记录可秒级响应的能力,会导致实时计算延迟,造成大量的实时数据堆积的现象;3)、读取内存数据时,数据的正确性难以保障,同时过亿大表数据还不一定可以完整加载到内存中,由于数据是预加载到内存,离线库表变动的数据没法及时同步到内存,会
导致数据计算错误;4)、多源数据的格式不统一,无形中增加计算对接的难度,由于不同的数据源如hbase,oracle等有不同的数据存储格式,在与实时数据结合计算时,需要每个算子针对不同的数据源分别开发,无形增加研发成本以及实现的复杂度。
[0004]针对相关技术中的问题,目前尚未提出有效的解决方案。

技术实现思路

[0005]在实时计算领域很多业务有要求同多源的离线库表中的数据一同计算,多源的离线的库表数据量相对比较大,如oracle,hbase的单表都可以存储过亿的数据,直接读取性能难以保障,为此在满足实时秒级计算性能的需求,同时又不对库表造成过大的访问压力,针对相关技术中的问题,本专利技术设计了分布式的动态表,用于同步加载离线的库表数据的数据,标准化多源库表的接口,满足实时计算的正确性与性能要求,以克服现有相关技术所存在的上述技术问题。
[0006]为此,本专利技术采用的具体技术方案如下:一种动态实时同步多源大表数据的增强实时计算方法,该方法包括以下步骤:S1、基于虚拟节点一致性哈希算法与结构化查询语言通过单节点存储引擎搭建分布式动态表管理组件;S2、通过结构化查询语言在分布式动态表管理组件中创建分布式动态表,并通过分布式动态表来标准化多源库表的数据结构;S3、通过实时同步技术管理分布式动态表元数据变更信息的同步更新;S4、初始化批量导入分布式动态表数据;S5、核对导入数据的完整性;S6、对分布式动态表中的数据进行实时更新;S7、对数据同步更新过程进行实时数据的同步监控;S8、将分布式动态表中的数据通过结构化查询语言转换成实时流数据的虚拟表;S9、将虚拟表中的数据与预先配置的流数据进行结合流计算;S10、输出流计算结果。
[0007]进一步的,所述基于虚拟节点一致性哈希算法与结构化查询语言通过单节点存储引擎搭建分布式动态表管理组件还包括以下步骤:S11、基于虚拟节点一致性哈希算法实现数据的均衡分布存储;S12、分析结构化查询语言并转换成可获取到库表信息代码,再通过分布算法与单节点存储引擎的应用程序接口实现数据的读写操作。
[0008]进一步的,所述基于虚拟节点一致性哈希算法实现数据的均衡分布存储还包括以下步骤:S111、将整个哈希空间抽象成为虚拟圆环;S112、对哈希函数的值进行存取路由时,首先路由到虚拟节点上,再由虚拟节点寻找到真实的节点;S113、在虚拟圆环上虚拟P个物理节点,将每个物理节点虚拟出N个虚拟节点,再将总的虚拟节点随机映射到虚拟圆环上;
S114、数据存储与获取;其中,虚拟节点总数公式为:虚拟节点总数(M)=物理节点数(P)*虚拟节点数(N)。
[0009]进一步的,所述通过实时同步技术管理分布式动态表元数据变更信息的同步更新还包括以下步骤:S31、字段变更;S32、主键与索引字段的变更;其中,所述字段变更包括字段编码及字段数据类型变更。
[0010]进一步的,所述初始化批量导入分布式动态表数据还包括以下步骤:S41、根据获取的库表名称,从内存中获取库表的元数据信息;S42、利用分布式动态表管理组件的入库语句将多个域值对应设置到哈希表中;S43、利用分区策略保存数据,并形成表数据存储格式。
[0011]进一步的,所述核对导入数据的完整性还包括以下步骤:S51、提供批量导入数据,记录成功的记录总数及失败记录总数;S52、获取读取源表的记录数,并与导入的数据记录进行对比。
[0012]进一步的,所述对分布式动态表中的数据进行实时更新还包括以下步骤:S61、连接数据库获取上一次解析成功的位置;S62、连接数据库建立连接,发送DUMP协议指令,模拟同步数据的模式;S63、离线数据开始推送新增数据、修改数据及删除数据的更新日志数据;S64、实数据解析器接收日志数据,根据日志类型调用相应的日志解析器进行协议解析并补充相关信息,解析完成后数据通过库表与主键的哈希值分发送到相应的实时数据接收器;S65、实时数据接收器接收数据并进行数据存储;S66、利用实时数据接收器的事务机制对该数据进行保障;S67、数据更新存储成功后,更新日志的位置数据。
[0013]进一步的,所述对数据同步更新过程进行实时数据的同步监控还包括以下步骤:本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种动态实时同步多源大表数据的增强实时计算方法,其特征在于,该方法包括以下步骤:S1、基于虚拟节点一致性哈希算法与结构化查询语言通过单节点存储引擎搭建分布式动态表管理组件;S2、通过结构化查询语言在分布式动态表管理组件中创建分布式动态表,并通过分布式动态表来标准化多源库表的数据结构;S3、通过实时同步技术管理分布式动态表元数据变更信息的同步更新;S4、初始化批量导入分布式动态表数据;S5、核对导入数据的完整性;S6、对分布式动态表中的数据进行实时更新;S7、对数据同步更新过程进行实时数据的同步监控;S8、将分布式动态表中的数据通过结构化查询语言转换成实时流数据的虚拟表;S9、将虚拟表中的数据与预先配置的流数据进行结合流计算;S10、输出流计算结果。2.根据权利要求1所述的一种动态实时同步多源大表数据的增强实时计算方法,其特征在于,所述基于虚拟节点一致性哈希算法与结构化查询语言通过单节点存储引擎搭建分布式动态表管理组件还包括以下步骤:S11、基于虚拟节点一致性哈希算法实现数据的均衡分布存储;S12、分析结构化查询语言并转换成可获取到库表信息代码,再通过分布算法与单节点存储引擎的应用程序接口实现数据的读写操作。3.根据权利要求2所述的一种动态实时同步多源大表数据的增强实时计算方法,其特征在于,所述基于虚拟节点一致性哈希算法实现数据的均衡分布存储还包括以下步骤:S111、将整个哈希空间抽象成为虚拟圆环;S112、对哈希函数的值进行存取路由时,首先路由到虚拟节点上,再由虚拟节点寻找到真实的节点;S113、在虚拟圆环上虚拟P个物理节点,将每个物理节点虚拟出N个虚拟节点,再将总的虚拟节点随机映射到虚拟圆环上;S114、数据存储与获取;其中,虚拟节点总数公式为:虚拟节点总数(M)=物理节点数(P)*虚拟节点数(N)。4.根据权利要求1所述的一种动态实时同步多源大表数据的增强实时计算方法,其特征在于,所述通过实时同步技术管理分布式动态表元数据变更信息的同步更新还包括以下步骤:S31、字段变更;S32、主键与索引字段的变更;其中,所述字段变更包括字段编码及字段数据类型变更。5.根据权利要求1所述的一种动态实时同步多源大表数据的增强实时计算方法,其特征在于,所述初始化批量导入分布式动态表数据还包括以下步骤:S41、根据获取的库表名称,从内存中获取库表的元数据信息;
S42、利用分布式动态表管理组件的入库语句将多个域值对应设置到哈希表中;S43、利用分区策略保存数据,并形成表数据存储格式。6.根据权利要求1所述的一种动态实时同步多源大表数据的增强实时计算方法,其特征在于,所述核...

【专利技术属性】
技术研发人员:刘军华吴名朝
申请(专利权)人:浩鲸云计算科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1