创建实时数据仓库的方法和装置制造方法及图纸

技术编号:20160325 阅读:21 留言:0更新日期:2019-01-19 00:13
本发明专利技术公开了一种创建实时数据仓库的方法和装置,涉及计算机技术领域。该方法的一具体实施方式包括:根据预设的数据库配置信息,确定待接入的数据;其中,所述数据库配置信息至少包括数据库名和表名;根据所述数据库名和表名,将所述待接入的数据实时发送至不同的消息队列中;将消息队列中的待接入的数据实时存储至数据仓库表,以实现实时数据仓库。该实施方式能够快速还原线上数据库的数据,实现实时数据仓库,从而提高了数据利用率,降低了线上数据查询的压力。

【技术实现步骤摘要】
创建实时数据仓库的方法和装置
本专利技术涉及计算机
,尤其涉及一种创建实时数据仓库的方法和装置。
技术介绍
数据仓库(DataWarehouse)是为企业所有级别的决策制定过程,提供所有类型数据支持的战略集合。随着业务的逐步扩张,用户对实时数据的需求越来越高,更多的人希望可以查到实时的数据。但是,当前的数据仓库,大多存储的是按天加工的离线数据,即当天的数据只能明天才能看到,无法提供实时的数据。若需要实时的查询数据,只能通过直接查询线上数据库来实现。然而,在实现本专利技术过程中,专利技术人发现现有技术中至少存在如下问题:当查询的数据量较大时,线上查询的压力会很大。
技术实现思路
有鉴于此,本专利技术实施例提供一种创建实时数据仓库的方法和装置,能够快速还原线上数据库的数据,实现实时数据仓库,从而提高了数据利用率,并且降低了线上数据查询的压力。为实现上述目的,根据本专利技术实施例的一个方面,提供了一种创建实时数据仓库的方法,包括:根据预设的数据库配置信息,确定待接入的数据;其中,所述数据库配置信息至少包括数据库名和表名;根据所述数据库名和数据表名,将所述待接入的数据实时发送至不同的消息队列中;将消息队列中的待接入的数据实时存储至数据仓库表,以实现实时数据仓库。可选地,根据预设的数据库配置信息,确定待接入的数据包括:根据预设的数据库配置信息,读取线上数据库中的日志,将所述日志作为待接入的数据。可选地,所述日志的模式为行模式。可选地,所述数据库配置信息还包括表结构信息;在将消息队列中的待接入的数据实时存储至数据库表之前,所述方法还包括:根据所述表结构信息,确定线上数据库的表结构;创建与所述表结构相同的数据仓库表。为实现上述目的,根据本专利技术实施例的另一方面,提供了一种创建实时数据仓库的装置,包括:待接入数据确定模块,用于根据预设的数据库配置信息,确定待接入的数据;其中,所述数据库配置信息至少包括数据库名和表名;实时消息订阅模块,用于根据所述数据库名和数据表名,将所述待接入的数据实时发送至不同的消息队列中;实时存储模块,用于将消息队列中的待接入的数据实时存储至数据仓库表,以实现实时数据仓库。可选地,所述待接入数据确定模块还用于:根据预设的数据库配置信息,读取线上数据库中的日志,将所述日志作为待接入的数据。可选地,所述日志的模式为行模式。可选地,所述数据库配置信息还包括表结构信息;所述实时存储模块还用于:根据所述表结构信息,确定线上数据库的表结构;创建与所述表结构相同的数据仓库表。为实现上述目的,根据本专利技术实施例的再一方面,提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本专利技术实施例的创建实时数据仓库的方法。为实现上述目的,根据本专利技术实施例的又一方面,提供了一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现本专利技术实施例的创建实时数据仓库的方法。上述专利技术中的一个实施例具有如下优点或有益效果:因为采用根据预设的数据库配置信息,确定待接入的数据;其中,所述数据库配置信息至少包括数据库名和表名;根据所述数据库名和数据表名,将所述待接入的数据实时发送至不同的消息队列中;将消息队列中的待接入的数据实时存储至数据仓库表,以实现实时数据仓库的技术手段,能够快速还原线上数据库的数据,实现实时数据仓库,从而提高了数据利用率,从而降低了线上数据查询的压力。上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。附图说明附图用于更好地理解本专利技术,不构成对本专利技术的不当限定。其中:图1是根据本专利技术实施例的创建实时数据仓库的方法的主要流程的示意图;图2是根据本专利技术实施例的创建实时数据仓库的装置的主要模块的示意图;图3是本专利技术实施例可以应用于其中的示例性系统架构图;图4是适于用来实现本专利技术实施例的终端设备或服务器的计算机系统的结构示意图。具体实施方式以下结合附图对本专利技术的示范性实施例做出说明,其中包括本专利技术实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本专利技术的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。图1是根据本专利技术实施例的创建实时数据仓库的方法的主要流程的示意图,如图1所示,该方法包括:步骤S101:根据预设的数据库配置信息,确定待接入的数据;其中,所述数据库配置信息至少包括数据库名和表名;步骤S102:根据所述数据库名和数据表名,将所述待接入的数据实时发送至不同的消息队列中;步骤S103:将消息队列中的待接入的数据实时存储至数据仓库表,以实现实时数据仓库。对于步骤S101,用户可以预先配置需要从线上数据库(例如MySQL)的配置信息,如IP、端口号、数据库名、表名和表结构信息(例如字段信息)、接入方式(分库分表、标准表)等。基于该配置信息可以生成配置文件,根据配置文件可以确定待接入的数据。具体的,确定待接入的数据的过程可以包括如下步骤:根据预设的数据库配置信息,读取线上数据库中的日志,将所述日志作为待接入的数据。其中,日志可以是指MySQL数据库的binlog日志。其中,binlog是一个二进制格式的文件,用于记录用户对数据库更新的SQL语句信息,例如更改数据库表和更改内容的SQL语句(StructuredQueryLanguage,结构化查询语言)都会记录到binlog里,因此binlog里存储的都是数据库的变化消息。对于步骤S102,在实际应用中,线上数据库中的数量可能不止一个,例如可以将不同业务线产生的数据存储到多个不同的线上数据库中,或者可以将同一条业务线不同时间产生的数据或不同类型的数据存储到不同的线上数据库中。因此,在本实施例中创建了多个消息队列,每个消息队列的主题不同,主题可以与数据源相对应,具体的,主题可以与数据库相对应,更具体的,主题可以与数据库中的表相对应。因此,在本实施例中,可以根据待接入数据的来源,将该待接入的数据发送至与其来源对应的消息队列中,具体的,可以根据待接入数据来自的数据库名,将该待接入的数据发送至对应的消息队列中,更具体的,可以根据待接入数据来自的数据库名和数据表名,将该待接入的数据发送至对应的消息队列中。作为具体的示例,消息队列可以通过kafka实现。其中,kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据。在可选的实施例中,所述日志的模式为行模式(row模式)。在row模式下,日志会记录每一行数据被修改的形式,然后在slave端(从端)再对相同的数据进行修改,只记录要修改的数据,只有value(值),不会有多表关联的情况。在row模式下,日志中可以不记录执行的SQL语句的上下文相关的信息,仅仅只需要记录那一条记录被修改了,修改成什么样了,所以row模式下的日志内容会非常清楚的记录下每一行数据修改的细节。因此,采用row模式的日志,可以更好地还原线上数据库的数据。对于步骤S103,可以根据预设的数据库配置信息中的表结构信息,可以确定线上数据库的表结构,然后,创建与该表结构相同的数据仓库表,将消息本文档来自技高网...

【技术保护点】
1.一种创建实时数据仓库的方法,其特征在于,包括:根据预设的数据库配置信息,确定待接入的数据;其中,所述数据库配置信息至少包括数据库名和表名;根据所述数据库名和表名,将所述待接入的数据实时发送至不同的消息队列中;将消息队列中的待接入的数据实时存储至数据仓库表,以实现实时数据仓库。

【技术特征摘要】
1.一种创建实时数据仓库的方法,其特征在于,包括:根据预设的数据库配置信息,确定待接入的数据;其中,所述数据库配置信息至少包括数据库名和表名;根据所述数据库名和表名,将所述待接入的数据实时发送至不同的消息队列中;将消息队列中的待接入的数据实时存储至数据仓库表,以实现实时数据仓库。2.根据权利要求1所述的方法,其特征在于,根据预设的数据库配置信息,确定待接入的数据包括:根据预设的数据库配置信息,读取线上数据库中的日志,将所述日志作为待接入的数据。3.根据权利要求2所述的方法,其特征在于,所述日志的模式为行模式。4.根据权利要求2所述的方法,其特征在于,所述数据库配置信息还包括表结构信息;在将消息队列中的待接入的数据实时存储至数据库表之前,所述方法还包括:根据所述表结构信息,确定线上数据库的表结构;创建与所述表结构相同的数据仓库表。5.一种创建实时数据仓库的装置,其特征在于,包括:待接入数据确定模块,用于根据预设的数据库配置信息,确定待接入的数据;其中,所述数据库配置信息至少包括数据库名和表...

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

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

1