大数据环境下实现实时数据关联的系统及方法技术方案

技术编号:9794615 阅读:106 留言:0更新日期:2014-03-21 19:28
本发明专利技术涉及一种大数据环境下实现实时数据关联的系统及方法,其中系统包括关联调度框架,用以对业务对象进行组内关联、组间关联和并发调度;分布式存储框架,用以为每个Redis服务器的主服务器创建一个连接池、存储当前数据关联相关的数据、将超过更新时间限制的冷数据和超过内存容量限制的超量数据发送至关系数据库以及对已经转移到所述的关系数据库的组内关联键值和组间关联键值进行查询;关系数据库,用以存储组内关联键值、组间关联键值、组内上下文和监控上下文;Redis服务器。采用该种结构的大数据环境下实现实时数据关联的系统及方法,可以实现支撑海量流式数据的实时关联,满足各种场景下的复杂关联需求,模型的通用性强,具有更广泛应用范围。

【技术实现步骤摘要】
大数据环境下实现实时数据关联的系统及方法
本专利技术涉及计算机应用领域,尤其涉及高吞吐量流式数据的实时监控领域,具体是指一种大数据环境下实现实时数据关联的系统及方法。
技术介绍
大数据计算的时代已经到来,该领域主要分为两个方向:静态数据的批量处理,流式数据的实时处理。实时数据关联是接收多个数据源实时产生的数据流,并按照一定的业务相关性进行过滤、去重/变更、生成关联键值、组内关联、组间关联、多方拆分、后续环节触发等一系列处理。关联后的数据呈现出一个个数据上下文的分组,可以满足如流程还原、告警判断、趋势分析、状态监控等后续处理环节的需要。大数据的实时关联是整个流式数据处理过程中的一个关键环节,对性能、伸缩性、可用性等质量指标都有很高的要求。例如对关联逻辑的通用性设计,对大数据的支撑能力需求、对关联性能的低延迟需求等,都是较为复杂的技术问题。业界对于数据关联最常见的实现方式就是通过关系数据库。很多监控类系统也都是基于SQL和数据仓库技术对海量数据进行关联的。其关联机制大致如下:在系统上线之初对期初数据进行处理,数据分析系统或业务监控系统通常会从各业务系统中导入大量的历史数据,然后根据关联规则对这些历史数据进行重新组合;在系统运行过程中,会采用数据复制或ETL技术自动从各业务系统抽取数据加载到数据仓库,导入之后触发一系列存储过程来完成数据关联逻辑。以上技术方案都是基于SQL和关系数据库进行数据关联,虽然能够利用关系数据库强大的计算能力,但也带来一些无法克服的缺点。数据仓库是用来存储海量静态数据的,SQL的执行过程是每次对两个表进行关联,在业务数据类型众多的实际场景下,将产生大量的事实表关联,随着数据量的增长,关联环节的效率会出现明显的下降。并且基于SQL的方式本质上是一种批量处理,无法支撑实时流式数据的场景,这种场景需要很低的处理延时。数据关联环节本身也是一个复杂的处理过程,包括过滤、去重、变更、关联、拆分、触发后续环节等。关联本身也是层次化的,有关联键值的生成、组内关联、组间关联、并行关联等,这一套复杂的处理逻辑还需要满足高吞吐量低延迟、良好的横向扩展能力等质量需求,这些都是基于SQL的技术方案很难达到的。
技术实现思路
本专利技术的目的是克服了上述现有技术的缺点,提供了一种能够实现支撑海量流式数据的实时关联、满足各种场景下的复杂关联需求、模型的通用性强、架构的伸缩性强、具有更广泛应用范围的大数据环境下实现实时数据关联的系统及方法。为了实现上述目的,本专利技术的大数据环境下实现实时数据关联的系统及方法具有如下构成:该大数据环境下实现实时数据关联的系统,其主要特点是,所述的系统包括:关联调度框架,用以对业务对象进行组内关联、组间关联和并发调度;分布式存储框架,用以为每个Redis服务器的主服务器创建一个连接池、存储当前数据关联相关的数据、将超过更新时间限制的冷数据和超过内存容量限制的超量数据发送至关系数据库以及对已经转移到所述的关系数据库的组内关联键值和组间关联键值进行查询;关系数据库,用以存储组内关联键值、组间关联键值、组内上下文和监控上下文,所述的关系数据库与所述的分布式存储框架相连接;Redis服务器,与所述的分布式存储框架相连接。较佳地,所述的关联调度框架包括:业务对象生成模块,用以生成业务对象;关联配置管理模块,用以管理关联过程中用到的所有规则;业务对象去重模块,用以根据组内关联的结果对业务对象进行去重或变更操作组内关联模块,用以对分组内的业务数据对象进行关联;附加对象关联模块,用以对附加类型的业务对象进行附加关联操作;组间关联模块,用以对多个分组进行关联;多方拆分模块,用以根据多方组的组内上下文将当前的监控上下文进行拆分;后续环节触发模块,用以对当前监控上下文进行还原点判断并当代表着还原点的业务对象已到来时将监控上下文发送至后续环节;并行调度控制模块,用以对业务对象进行调度控制。较佳地,所述的分布式存储框架包括:连接池管理模块,用以根据配置表中Redis服务器的地址以及连接池参数为每个Redis服务器的主服务器创建一个连接池;分片分库模块,用以存储当前数据关联相关的数据;宕机等待模块,用以进行宕机后的线程等待;主从复制模块,用以将主机的数据复制到从机中进行保存;自动运维模块,用以通过主从复制功能提供内存数据的快照冗余副本、通过自动备份功能保存多个时间点的数据快照备份以及通过日志重写功能降低日志文件的大小;冷数据与超量数据转历史模块,用以将超过更新时间限制的冷数据和超过内存容量限制的超量数据发送至所述的关系数据库;布隆过滤模块,用以对已经转移到所述的关系数据库的组内关联键值和组间关联键值进行查询。本专利技术还涉及一种基于所述的系统大数据环境下实现实时数据关联的方法,其主要特点是,所述的方法包括以下步骤:(1)所述的关联调度框架对业务对象进行组内关联、组间关联和并发调度;(2)所述的关联调度框架从所述的分布式存储框架中获取连接;(3)所述的分布式存储框架在定义的时间点进行冷数据与超量数据的转移以及布隆过滤器的重建。较佳地,所述的关联调度框架包括业务对象生成模块、关联配置管理模块、业务对象去重模块、组内关联模块、附加对象关联模块、组间关联模块、多方拆分模块、后续环节触发模块和并行调度控制模块,所述的关联调度框架对业务对象进行组内关联、组间关联和并发调度,包括以下步骤:(11)所述的关联调度框架进行启动初始化操作;(12)所述的分布式存储框架进行启动初始化操作;(13)所述的关联调度框架收到业务数据并生成服务数据对象;(14)所述的关联调度框架根据业务数据类型过滤出对应的关联配置;(15)根据获取的关联配置,所述的组内关联模块对服务数据对象进行处理;(16)所述的业务对象去重模块根据组内关联的结果对业务对象进行去重或变更操作;(17)所述的附加对象关联模块对附加类型的业务对象进行附加关联操作;(18)所述的组间关联模块收到组内关联输出的结果,进行组间关联操作;(19)所述的多方拆分模块收到组间关联的结果,根据多段与多方组的配置进行多方拆分操作;(1-10)所述的后续环节触发模块收到多方拆分的结果,根据还原点配置判断是否触发后续环节。更佳地,所述的关联调度框架进行启动初始化操作,包括以下步骤:(111)从数据库模型表中查询关联配置信息并加载到所述的关联调度框架的缓存;(112)从数据库模型表中查询业务对象配置信息并加载到所述的关联调度框架的缓存;(113)从数据库模型表中查询组间与组内关联键值对应的业务规则表达式并加载到所述的关联调度框架的缓存;(114)构建出业务对象类型与关联配置的对应关系;(115)从数据库配置表中查询所述的关联调度框架的配置参数;(116)使用所述的关联调度框架的配置参数初始化组内关联模块与组间关联模块;(117)使用关联配置信息中的数据权限和引用规则初始化关联配置管理模块;(118)使用多段与多方组信息初始化多方拆分模块;(119)使用还原点配置信息后续环节触发模块。更佳地,所述的分布式存储框架进行启动初始化操作,包括以下步骤:(121)从配置库中读取所有Redis服务器的信息,包括服务节点名、主从节点的ip与端口、最大最小连接数、连接等待时间、获取连接时是否测试连通性;(122)根据配本文档来自技高网
...
大数据环境下实现实时数据关联的系统及方法

【技术保护点】
一种大数据环境下实现实时数据关联的系统,其特征在于,所述的系统包括:关联调度框架,用以对业务对象进行组内关联、组间关联和并发调度;分布式存储框架,用以为每个Redis服务器的主服务器创建一个连接池、存储当前数据关联相关的数据、将超过更新时间限制的冷数据和超过内存容量限制的超量数据发送至关系数据库以及对已经转移到所述的关系数据库的组内关联键值和组间关联键值进行查询;关系数据库,用以存储组内关联键值、组间关联键值、组内上下文和监控上下文,所述的关系数据库与所述的分布式存储框架相连接;Redis服务器,与所述的分布式存储框架相连接。

【技术特征摘要】
1.一种大数据环境下实现实时数据关联的系统,其特征在于,所述的系统包括:关联调度框架,用以对业务对象进行组内关联、组间关联和并发调度;分布式存储框架,用以为每个Redis服务器的主服务器创建一个连接池、存储当前数据关联相关的数据、将超过更新时间限制的冷数据和超过内存容量限制的超量数据发送至关系数据库以及对已经转移到所述的关系数据库的组内关联键值和组间关联键值进行查询;关系数据库,用以存储组内关联键值、组间关联键值、组内上下文和监控上下文,所述的关系数据库与所述的分布式存储框架相连接;Redis服务器,与所述的分布式存储框架相连接。2.根据权利要求1所述的大数据环境下实现实时数据关联的系统,其特征在于,所述的关联调度框架包括:业务对象生成模块,用以生成业务对象;关联配置管理模块,用以管理关联过程中用到的所有规则;业务对象去重模块,用以根据组内关联的结果对业务对象进行去重或变更操作;组内关联模块,用以对分组内的业务数据对象进行关联;附加对象关联模块,用以对附加类型的业务对象进行附加关联操作;组间关联模块,用以对多个分组进行关联;多方拆分模块,用以根据多方组的组内上下文将当前的监控上下文进行拆分;后续环节触发模块,用以对当前监控上下文进行还原点判断并当代表着还原点的业务对象已到来时将监控上下文发送至后续环节;并行调度控制模块,用以对业务对象进行调度控制。3.根据权利要求1所述的大数据环境下实现实时数据关联的系统,其特征在于,所述的分布式存储框架包括:连接池管理模块,用以根据配置表中Redis服务器的地址以及连接池参数为每个Redis服务器的主服务器创建一个连接池;分片分库模块,用以存储当前数据关联相关的数据;宕机等待模块,用以进行宕机后的线程等待;主从复制模块,用以将主机的数据复制到从机中进行保存;自动运维模块,用以通过主从复制功能提供内存数据的快照冗余副本、通过自动备份功能保存多个时间点的数据快照备份以及通过日志重写功能降低日志文件的大小;冷数据与超量数据转历史模块,用以将超过更新时间限制的冷数据和超过内存容量限制的超量数据发送至所述的关系数据库;布隆过滤模块,用以对已经转移到所述的关系数据库的组内关联键值和组间关联键值进行查询。4.一种基于权利要求1至3中任一项所述的系统大数据环境下实现实时数据关联的方法,其特征在于,所述的方法包括以下步骤:(1)所述的关联调度框架对业务对象进行组内关联、组间关联和并发调度;(2)所述的关联调度框架从所述的分布式存储框架中获取连接;(3)所述的分布式存储框架在定义的时间点进行冷数据与超量数据的转移以及布隆过滤器的重建。5.根据权利要求4所述的大数据环境下实现实时数据关联的方法,其特征在于,所述的关联调度框架包括业务对象生成模块、关联配置管理模块、业务对象去重模块、组内关联模块、附加对象关联模块、组间关联模块、多方拆分模块、后续环节触发模块和并行调度控制模块,所述的关联调度框架对业务对象进行组内关联、组间关联和并发调度,包括以下步骤:(11)所述的关联调度框架进行启动初始化操作;(12)所述的分布式存储框架进行启动初始化操作;(13)所述的关联调度框架收到业务数据并生成服务数据对象;(14)所述的关联调度框架根据业务数据类型过滤出对应的关联配置;(15)根据获取的关联配置,所述的组内关联模块对服务数据对象进行处理;(16)所述的业务对象去重模块根据组内关联的结果对业务对象进行去重或变更操作;(17)所述的附加对象关联模块对附加类型的业务对象进行附加关联操作;(18)所述的组间关联模块收到组内关联输出的结果,进行组间关联操作;(19)所述的多方拆分模块收到组间关联的结果,根据多段与多方组的配置进行多方拆分操作;(1-10)所述的后续环节触发模块收到多方拆分的结果,根据还原点配置判断是否触发后续环节。6.根据权利要求5所述的大数据环境下实现实时数据关联的方法,其特征在于,所述的关联调度框架进行启动初始化操作,包括以下步骤:(111)从数据库模型表中查询关联配置信息并加载到所述的关联调度框架的缓存;(112)从数据库模型表中查询业务对象配置信息并加载到所述的关联调度框架的缓存;(113)从数据库模型表中查询组间与组内关联键值对应的业务规则表达式并加载到所述的关联调度框架的缓存;(114)构建出业务对象类型与关联配置的对应关系;(115)从数据库配置表中查询所述的关联调度框架的配置参数;(116)使用所述的关联调度框架的配置参数初始化组内关联模块与组间关联模块;(117)使用关联配置信息中的数据权限和引用规则初始化关联配置管理模块;(118)使用多段与多方组信息初始化多方拆分模块;(119)使用还原点配置信息后续环节触发模块。7.根据权利要求5所述的大数据环境下实现实时数据关联的方法,其特征在于,所述的分布式存储框架进行启动初始化操作,包括以下步骤:(121)从配置库中读取所有Redis服务器的信息,包括服务节点名、主从节点的ip与端口、最大最小连接数、连接等待时间、获取连接时是否测试连通性;(122)根据配置信息,为每一个Redis服务器初始化连接池;(123)以Redis节点名为key,把所有Redis服务器放入连接池缓存中;(124)从Redis分片配置表中获取关联配置定义名与Redis服务器节点名的对应关系;(125)以关联配置名为键,以Redis节点名为值,构建本地的分片缓存;(126)轮询Redis节点连接池缓存,对每一个Redis节点获取连接,使用连接调用select0方法进入db0即初始信息区域;(127)在db0中读取分库信息,即关联配置定义名与分库号的对应关系,以关联配置名为键,以库号为值,在本地构建分库信息缓存;(128)轮询分库缓存,调用select方法进入每一个分库,如果当前分库不存在有序集合MC-DATE,则查询当前分库所有的监控上下文的id,以MCID作为key,以当前日期数字作为score,构建有序集合MC-DATE,作为冷数据和超量数据转历史的判断依据;(129)从配置表中查询批量转历史的触发时间点、冷数据的未使用天数、内存超量的百分比,构建布隆过滤器,启动转历史定时线程。8.根据权利要求5所述的大数据环境下实现实时数据关联的方法,其特征在于,所述的收到业务数据并生成服务数据对象,包括以下步骤:(131)根据业务对象名从业务对象模型缓存中获取业务对象配置信息;(132)根据业务对象命名空间与业务对象名字拼在一起为typename,调用第三方commonj-sdo组件从缓存中清除该typename;(133)从业务对象配置信息中取出xsd字符串,解析xsd字符串并加载xsd;(134)根据指定的名称空间和业务对象名称,构建业务对象服务数据对象-commonj.sdo.DataObject;(135)从服务数据对象中获取类型commonj.sdo.Type,继而获取属性名commonj.sdo.Property;(136)根据属性名从业务数据中获取对应的值并设置到服务数据对象中。9.根据权利要求5所述的大数据环境下实现实时数据关联的方法,其特征在于,所述的根据业务数据类型过滤出对应的关联配置,包括以下步骤:(141)根据业务数据的类型从关联配置缓存中口获取所有关联配置;(142)获取业务目录数据权限的开关,如果开启则获取数据权限字段名并验证数据权限;(143)从关联配置中获取其所述的业务目录,进而获取该业务目录对应的数据权限值;(144)根据数据权限字段名,从当前业务对象中获取字段值;(145)对比业务目录数据权限值和当前业务对象的数据权限值,如果匹配成功则将该关联配置加入待处理的关联配置集合;(146)根据关联配置的引用规则和当前业务对象,使用业务规则表达式组件计算出结果值并过滤掉结果为失败的关联配置。10.根据权利要求5所述的大数据环境下实现实时数据关联的方法,其特征在于,所述的对服务数据对象进行处理,包括以下步骤:(151)以关联配置id为参数从分布式存储框架中获取连接;(152)根据当前业务对象的组内关联键值生成规则,调用表达式解析器生成组内关联键值;(153)以所有生成的组内关联键值为冲突检测的观察对象,调用Redis连接的Watch方法监视所有关联键值;(154)根据当前业务对象的业务主键生成规则,调用表达式解析器生成业务主键的值;(155)根据生成的组内关联键值,调用Redis连接的查询方法,查询出与该组内关联键值对应的组内上下文的所有id组成的列表;(156)开始事务,调用Redis连接的Multi命令;(157)当没有查询到组内上下文时,使用布隆过滤器提供的哈希函数对关联键值进行哈希后再到布隆过滤器中查询,如果命中则从关系数据库中把相关的信息一并提取出来重新放入Redis;(158)当没有查询到组内上下文且布隆过滤器也没有查询到结果时,生成新的组内上下文并置入当前业务数据,调用Redis连...

【专利技术属性】
技术研发人员:苏阳
申请(专利权)人:普元信息技术股份有限公司
类型:发明
国别省市:

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

1