实时生成数据宽表的方法和装置制造方法及图纸

技术编号:20074994 阅读:45 留言:0更新日期:2019-01-15 00:37
本发明专利技术公开了一种实时生成数据宽表的方法和装置,涉及计算机技术领域。该方法的一具体实施方式包括:将线上的生产数据进行实时存储;确定待生成的数据宽表所包含的字段信息;根据所述字段信息,从存储的生产数据中确定待计算的数据;利用流式计算,将所述待计算的数据加载到内存数据库表中进行实时计算,以生成数据宽表。该实施方式能够提供实时的宽表数据,将数据仓库宽表的对外服务时间从T+1延迟直接降低至分钟级别甚至更低,可以快速将复杂的离线SQL计算转换为实时计算,而且解决了由于数据增长导致的计算资源以及计算时间剧增的问题。

Method and Device of Real-time Generating Data Wide Table

The invention discloses a method and device for real-time generating data wide table, which relates to the field of computer technology. One specific implementation of the method includes: real-time storage of on-line production data; determination of the field information contained in the data wide table to be generated; determination of the data to be calculated from the stored production data according to the field information; and real-time calculation by loading the data to be calculated into the memory database table by stream computing to generate the data wide table. The implementation can provide real-time wide table data, reduce the external service time of data warehouse wide table directly from T+1 delay to minute level or even lower, and can quickly convert complex off-line SQL computing to real-time computing, and solve the problem of computing resources and computing time increase caused by data growth.

【技术实现步骤摘要】
实时生成数据宽表的方法和装置
本专利技术涉及计算机
,尤其涉及一种实时生成数据宽表的方法和装置。
技术介绍
数据仓库是面向主题的、集成的、相对稳定的、随时间不短变化得数据集合,用以支持经营管理中的决策制定。数据仓库中的数据面向主题,与传统数据库面向应用相对应。基于使数据结构清晰、便于数据血缘追踪以及减少重复开发等原因,数据仓库采取分层结构存储,与之相对应有分层任务处理逻辑:第一层是缓存数据层(bufferdatamemory,BDM),线上业务系统数据快照,按天保存细节数据;第二层是基础数据层(foundationdatamemory,FDM),按业务概念组织细节数据;第三层是通用数据层(generaldatamemory,GDM),根据业务价值建设的业务粒度汇总层。数据仓库最终以GDM宽表对下游业务进行数据服务,采取如图1所示的通用的处理架构。数据仓库每天从线上日志服务器(nginx服务器)、MYSQL、SQLSERVER、等进行前一天数据抽取,抽取的明细落入BDM层,每天一个分区;接下来通过归档程序对数据进行处理,如数据拉链等操作生成FDM层;最后通过复杂的SQL逻辑关联操作生成GDM层宽表,对外提供服务。在实现本专利技术过程中,专利技术人发现现有技术中至少存在如下问题:最终的GDM层宽表每天进行前一天的数据计算,用户拿到的数据为T+1数据,无法实时反应当天的数据情况;随着数据量的剧增,每天凌晨在固定时间段计算一次消耗越来越多的计算资源以及时间。
技术实现思路
有鉴于此,本专利技术实施例提供一种实时生成数据宽表的方法和装置,能够提供实时的宽表数据,将数据仓库宽表的对外服务时间从T+1延迟直接降低至分钟级别甚至更低,可以快速将复杂的离线SQL计算转换为实时计算,而且解决了由于数据增长导致的计算资源以及计算时间剧增的问题。为实现上述目的,根据本专利技术实施例的一个方面,提供了一种实时生成数据宽表的方法,包括:将线上的生产数据进行实时存储;确定待生成的数据宽表所包含的字段信息;根据所述字段信息,从存储的生产数据中确定待计算的数据;利用流式计算,将所述待计算的数据加载到内存数据库表中进行实时计算,以生成数据宽表。可选地,将线上的生产数据进行实时存储包括:根据生产数据的类型,将线上的生产数据实时发送到不同的消息主题中;采用流式处理程序,实时的将消息主题中的生产数据存储到缓存系统和持久化存储系统中。可选地,在将线上的生产数据实时发送到不同的消息主题之后,所述方法还包括:生成消息记录;根据所述字段信息,从存储的生产数据中确定待计算的数据包括:根据所述字段信息,确定待消费的消息主题;根据消息记录,确定所述待消费的消息主题中发生变动的生产数据,将发生变动之后的生产数据作为待计算的数据。可选地,所述方法还包括:根据所述字段信息,确定关键字;根据所述关键字,对所述待计算的数据进行预设窗口时间内的去重处理。可选地,将所述待计算的数据加载到内存数据库表中进行实时计算,以生成数据宽表包括:将所述待计算的数据加载到内存数据库表中;利用多线程,并发计算内存数据库表中待计算的数据,以生成数据宽表。为实现上述目的,根据本专利技术实施例的另一方面,提供了一种实时生成数据宽表的装置,包括:实时存储模块,用于将线上的生产数据进行实时存储;字段信息确定模块,用于确定待生成的数据宽表所包含的字段信息;待计算数据确定模块,用于根据所述字段信息,从存储的生产数据中确定待计算的数据;实时计算模块,用于利用流式计算,将所述待计算的数据加载到内存数据库表中进行实时计算,以生成数据宽表。可选地,所述实时存储模块还用于:根据生产数据的类型,将线上的生产数据实时发送到不同的消息主题中;采用流式处理程序,实时的将消息主题中的生产数据存储到缓存系统和持久化存储系统中。可选地,所述实时存储模块在将线上的生产数据实时发送到不同的消息主题之后还用于:生成消息记录;所述待计算数据确定模块还用于:根据所述字段信息,确定待消费的消息主题;根据消息记录,确定所述待消费的消息主题中发生变动的生产数据,将发生变动之后的生产数据作为待计算的数据。可选地,所述装置还包括去重处理模块:根据所述字段信息,确定关键字;根据所述关键字,对所述待计算的数据进行预设窗口时间内的去重处理。可选地,所述实时计算模块还用于:将所述待计算的数据加载到内存数据库表中;利用多线程,并发计算内存数据库表中待计算的数据,以生成数据宽表。为实现上述目的,根据本专利技术实施例的再一方面,提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本专利技术实施例提供的实时生成数据宽表的方法。为实现上述目的,根据本专利技术实施例的又一方面,提供了一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现本专利技术实施例提供的实时生成数据宽表的方法。上述专利技术中的一个实施例具有如下优点或有益效果:因为采用将线上的生产数据进行实时存储;确定待生成的数据宽表所包含的字段信息;根据所述字段信息,从存储的生产数据中确定待计算的数据;利用流式计算,将所述待计算的数据加载到内存数据库表中进行实时计算,以生成数据宽表的技术手段,所以能够提供实时的宽表数据,将数据仓库宽表的对外服务时间从T+1延迟直接降低至分钟级别甚至更低,可以快速将复杂的离线SQL计算转换为实时计算,而且解决了由于数据增长导致的计算资源以及计算时间剧增的问题。上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。附图说明附图用于更好地理解本专利技术,不构成对本专利技术的不当限定。其中:图1是现有技术中数据仓库采取的处理框架结构的示意图;图2是根据本专利技术实施例的实时生成数据宽表的方法的主要流程的示意图;图3是根据本专利技术另一实施例的实时生成数据宽表的方法的主要流程的示意图;图4是根据本专利技术实施例的实时生成数据宽表的装置的主要模块的示意图;图5是本专利技术实施例可以应用于其中的示例性系统架构图;图6是适于用来实现本专利技术实施例的终端设备或服务器的计算机系统的结构示意图。具体实施方式以下结合附图对本专利技术的示范性实施例做出说明,其中包括本专利技术实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本专利技术的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。图2是根据本专利技术实施例的实时生成数据宽表的方法的主要流程的示意图,如图2所示,该方法包括:步骤S201:将线上的生产数据进行实时存储;步骤S202:确定待生成的数据宽表所包含的字段信息;步骤S203:根据所述字段信息,从存储的生产数据中确定待计算的数据;步骤S204:利用流式计算,将所述待计算的数据加载到内存数据库表中进行实时计算,以生成数据宽表。对于步骤S201,可以利用流式处理方案(例如storm或flink等)将线上的生产数据实时存储到数据库中(例如关系型数据库hbase)或日志服务器中,以进行持久化存储。其中,storm是一个免费开源、分布式、高容错的实时计算系统;flink是一个面向分布式数据流处理和批量数据处理的开源本文档来自技高网...

【技术保护点】
1.一种实时生成数据宽表的方法,其特征在于,包括:将线上的生产数据进行实时存储;确定待生成的数据宽表所包含的字段信息;根据所述字段信息,从存储的生产数据中确定待计算的数据;利用流式计算,将所述待计算的数据加载到内存数据库表中进行实时计算,以生成数据宽表。

【技术特征摘要】
1.一种实时生成数据宽表的方法,其特征在于,包括:将线上的生产数据进行实时存储;确定待生成的数据宽表所包含的字段信息;根据所述字段信息,从存储的生产数据中确定待计算的数据;利用流式计算,将所述待计算的数据加载到内存数据库表中进行实时计算,以生成数据宽表。2.根据权利要求1所述的方法,其特征在于,将线上的生产数据进行实时存储包括:根据生产数据的类型,将线上的生产数据实时发送到不同的消息主题中;采用流式处理程序,实时的将消息主题中的生产数据存储到缓存系统和持久化存储系统中。3.根据权利要求2所述的方法,其特征在于,在将线上的生产数据实时发送到不同的消息主题之后,所述方法还包括:生成消息记录;根据所述字段信息,从存储的生产数据中确定待计算的数据包括:根据所述字段信息,确定待消费的消息主题;根据消息记录,确定所述待消费的消息主题中发生变动的生产数据,将发生变动之后的生产数据作为待计算的数据。4.根据权利要求3所述的方法,其特征在于,在确定待计算的数据之后,所述方法还包括:根据所述字段信息,确定关键字;根据所述关键字,对所述待计算的数据进行预设窗口时间内的去重处理。5.根据权利要求1-4任意一项所述的方法,其特征在于,将所述待计算的数据加载到内存数据库表中进行实时计算,以生成数据宽表包括:将所述待计算的数据加载到内存数据库表中;利用多线程,并发计算内存数据库表中待计算的数据,以生成数据宽表。6.一种实时生成数据宽表的装置,其特征在于,包括:实时存储模块,用于将线上的生产数据进行实时存储;字段信息确定模块,用于确定待生成的数据宽表所包含的字段信息...

【专利技术属性】
技术研发人员:袁建军刘业辉王彦明
申请(专利权)人:北京京东尚科信息技术有限公司北京京东世纪贸易有限公司
类型:发明
国别省市:北京,11

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

1