CN108427711B - 实时数据仓库、实时数据处理方法、电子设备及存储介质 - Google Patents
实时数据仓库、实时数据处理方法、电子设备及存储介质 Download PDFInfo
- Publication number
- CN108427711B CN108427711B CN201810097398.3A CN201810097398A CN108427711B CN 108427711 B CN108427711 B CN 108427711B CN 201810097398 A CN201810097398 A CN 201810097398A CN 108427711 B CN108427711 B CN 108427711B
- Authority
- CN
- China
- Prior art keywords
- data
- layer
- time data
- real
- multidimensional
- 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
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/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/283—Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP
-
- 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/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24552—Database cache management
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供了一种实时数据仓库,属于计算机技术领域,解决了现有技术中的实时数据仓库可扩展性差,开发效率底下的问题。所述实时数据仓库至少包括以下自底向上依次设置的三层:源数据层,用于实时获取并存储业务系统的数据;多维明细层,用于基于预设维度对所述源数据层的数据进行处理,并存储处理后的数据;应用层,用于响应数据库操作,对所述多维明细层存储的数据进行处理,并输出处理后的数据;其中,各层内通过实时数据处理技术对数据进行处理,各层之间通过消息队列和/或缓存数据库进行数据传输。通过按照数据处理的流程,结合业务特点,对数据处理流程分层,简化了数据处理的复杂度,有利于提高数据仓库开发效率。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种实时数据仓库及实时数据处理方法、电子设备及存储介质。
背景技术
随着互联网技术的发展,网络应用越来越多,实时产生的网络数据也逐渐增多,对于互联网数据的实时挖掘需求逐渐增多,越来越多的业务系统,基于实时数据挖掘技术为用户提供更加优质的服务。因此,实时数据仓库的建设需求日益紧迫。现有技术中,业务系统在构建实时数据仓库时,通常采用面向对象的开发模式,基于每一种业务数据单独建立一套数据处理流程。因此,每增加一种业务类型时,实时数据仓库中都需要增加相应的类型业务数据的处理流程,数据仓库开发效率低下。
可见,现有技术中的实时数据仓库至少存在可扩展性差,开发效率底下的问题。
发明内容
本申请提供一种实时数据仓库,解决现有技术中的实时数据仓库可扩展性差,开发效率底下的问题。
为了解决上述问题,第一方面,本申请实施例提供了一种实时数据仓库,至少包括以下自底向上依次设置的三层:
源数据层,用于实时获取并存储业务系统的数据;
多维明细层,用于基于预设维度对所述源数据层的数据进行处理,并存储处理后的数据;
应用层,用于响应数据库操作,对所述多维明细层存储的数据进行处理,并输出处理后的数据;
其中,各层内通过实时数据处理技术对数据进行处理,各层之间通过消息队列和/或缓存数据库进行数据传输。
第二方面,本申请实施例提供了一种实时数据处理方法,应用于至少包括以下自底向上依次设置的源数据层、多维明细层和应用层的实时数据仓库,所述方法包括:
通过所述源数据层实时获取并存储业务系统的数据;
通过所述多维明细层基于预设维度对所述源数据层的数据进行处理,并存储处理后的数据;
根据接收到的数据库操作,通过所述应用层对所述多维明细层存储的数据进行处理,并输出处理后的数据;
其中,上述各层内通过实时数据处理技术对数据进行处理,各层之间通过消息队列和/或缓存数据库进行数据传输。
第三方面,本申请实施例还提供了一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现本申请实施例所述的实时数据处理方法。
第四方面,本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现本申请实施例所述的实时数据处理方法的步骤。本申请实施例公开的实时数据仓库,通过根据数据处理过程中的关键节点,分层构建实时数据仓库,使得数据仓库结构清晰。按照数据处理的流程,结合业务特点,对数据处理流程分层,简化了数据处理的复杂度,解决了现有技术中的实时数据仓库可扩展性差,开发效率底下的问题,有利于提高数据仓库开发效率。并且,各个层之间通过消息队列或缓存数据库进行数据传输和存储,实现数据处理逻辑解耦,有效提高数据仓库的稳定性;在进行数据仓库开发时,可以屏蔽底层数据的变化对上层建立稳定协议的影响,进一步提高数据仓库开发效率。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例一的实时数据仓库结构示意图之一;
图2是本申请实施例一的实时数据仓库结构示意图之二;
图3是本申请实施例二的实时数据仓库结构示意图;
图4是本申请实施例三的实时数据处理方法流程图;
图5是本申请实施例四的实时数据处理方法流程图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
实施例一
本实施例公开的一种实时数据仓库,如图1所示,所述数据仓库至少包括以下自底向上依次设置的三层:
源数据层110,用于实时获取并存储业务系统的数据;
多维明细层120,用于基于预设维度对所述源数据层110的数据进行处理,并存储处理后的数据;
应用层130,用于响应数据库操作,对所述多维明细层120存储的数据进行处理,并输出处理后的数据;
其中,各层内通过实时数据处理技术对数据进行处理,各层之间通过消息队列和/或缓存数据库进行数据传输。
具体实施时,如图2所示,所述源数据层110包括消息队列1101。所述源数据层110用于通过所述消息队列1101获取并存储业务系统的实时数据。
在源数据层110中,采用消息队列的方式对数据仓库的动态源数据进行存储与处理。数据仓库中存储的动态源数据主要有两种类型:流量日志和 mysql数据库的binlog日志(即二进制日志)。其中,流量日志主要通过 Apache flume进行日志采集,然后再通过apache kafka对采集到的日志进行分发。而mysql数据库的binlog日志主要通过开源软件canal进行实时解析后,把binlog形式的数据进行解析生成基础的可读数据库日志数据,再通过高吞吐量的分布式发布订阅消息系统,如apache kafka,对采集到的日志进行分发。具体实施时,可以通过在流量日志存储数据库和mysql数据库的运行设备上安装一个监听应用程序,用于监听日志变化,当流量日志或 binlog日志发生变化时,所述监听应用程序将日志信息转换为指定格式的数据,然后以消息的形式发送至所述源数据层中的预设消息队列,如kafka消息队列。
如图2所示,所述源数据层110包括缓存数据库1102。所述源数据层 110,还用于获取离线维度数据并存储至缓存数据库1102。在源数据层110 中,还需要对离线维度数据进行处理。具体实施时,源数据层110通过数据库接口读取离线数据库中的离线维度数据后,将维度数据存储到缓存数据库中,以便于多维明细层读取。
源数据层110通过消息队列实现数据库和实时数据仓库的解耦,既不影响正常的业务流程,又可以实时获取到日志数据。同时,源数据层110通过缓存数据库实现离线数据库和实时数据仓库的解耦,提升了数据处理的实时性和实时数据仓库的稳定性。
所述多维明细层120读取所述源数据层110的缓存数据库1102中存储的维度数据,以及,读取所述源数据层110的消息队列1101中存储的实时数据,并基于所述维度数据对所述源数据层110的实时数据进行处理,并存储处理后的数据。具体实施时,所述多维明细层120把源数据层110中的实时消息队列1101与缓存数据库1102中的数据结合起来一起使用与加工,最终把源数据层110中的实时数据与维度数据关联起来,生成信息更加丰富的数据,存储在所述多维明细层120对应的消息队列或缓存数据库中。
具体实施时,所述多维明细层120以上的各层分别包括至少一个实时数据处理模块,所述至少一个实时数据处理模块用于处理相应主题的数据。所述主题选自于以下任意一项或多项:客服、运营、流量、POI、订单、参与人、产品、结算。根据业务系统的业务特点,所述主题根据业务系统的业务特点进行抽象得到。实时数据处理模块通过实时数据处理技术实现,例如 StormBolt技术。所述实时数据处理模块还可以包括多个StormBolt,用于处理相应主题相关的其他实体的数据。
以多维明细层为例,如图2所示,所述多维明细层120包括:客服数据处理模块1201、运营数据处理模块1202、流量数据处理模块1203、POI数据处理模块1204、订单数据处理模块1205。根据具体业务需求,所述多维明细层120还可以包括其他模块,如风控数据处理模块等。每一个数据处理模块处理相应主题的数据。
具体实施时,所述实时数据处理模块包括:至少一个实时数据处理函数、与所述实时数据处理函数一一对应的消息队列或缓存区域;所述实时数据处理函数用于处理相应实体的数据。每个实时数据处理模块对应至少一个消息队列,用于存储当前层处理后的数据,便于上游各层使用数据。每个消息队列对应一个实体,每个实体对应一个实时数据处理函数,如StormBolt。其中,实体是主题数据的一种表达维度,如产品主题中的下单实体、支付实体。以多维明细层为例,如图2所示,所述订单数据处理模块1205进一步包括:消息队列12051、消息队列12052。所述消息队列12051和12052可以为kafka 消息队列。通过调用所述订单数据处理模块1205中相应的StormBolt从所述源数据层110读取消息队列1101中的实时数据和缓存数据库1102中的维度数据;然后,由StormBolt对读取的实时数据中的订单主题相关的数据进行处理,例如,将所述实时数据按照下单或支付维度进行标识;最后,将处理后的数据,如,得到的下单数据存储到相应的消息队列中。例如,与下单实体对应的StormBolt将处理后的数据存储到下单实体对应的消息队列 12051中,与支付实体对应的StormBolt将处理后的数据存储到支付实体对应的消息队列12052中。
具体实施时,还可以通过缓存数据库代替消息队列以进行不同层之间的数据传输和数据存储。当通过缓存数据库代替消息队列以进行不同层之间的数据传输和数据存储时,每个实时数据处理模块可以包括一个或多个缓存区间。每个缓存区间对应一个实体,每个缓存区间对应一个实时数据处理函数。
通过为每个实体设置一个对应的消息队列或缓存区域,并为每个消息队列或缓存区域设置一个实时数据处理函数,可以针对每个目标实体单独进行数据处理,使数据处理简单化,不仅可以提高数据仓库的稳定性,同时达到并行进行数据处理的目的,进一步提升实时数据处理的效率。
应用层130作为实时数据仓库与其他应用的接口,用于响应用户发起的数据库操作,对所述多维明细层120存储的数据进行处理,并输出处理后的数据。具体实施时,对于所述实时数据仓库支持的数据库功能,应用层会提供相应的接口,例如,流量统计、用户交易特征分析、运营数据读取等。所述应用层130中同样包括至少一个实时数据处理模块,如图2中的1301至 1305。所述至少一个实时数据处理模块用于处理相应主题的数据。所述主题可以为:客服、运营、流量、POI、订单、参与人、产品、结算等中的一项或多项。具体实施时,所述应用层130通过消息队列或者缓存数据库与上层应用进行数据传输。本实施例中,以所述应用层130通过消息队列存储处理后的数据为例,每个实时数据处理模块包括至少一个消息队列。所述应用层 130的数据处理流程如下:首先,通过调用StormBolt从所述多维明细层120 的消息队列中的读取数据;然后,调用StormBolt对读取的数据进行处理,例如,对读取的产品数据进行分析,得到产品的交易数据;最后,将处理后的数据存储至所述应用层130的消息队列中。
本申请的实施例中,各主题对应的数据介绍如下。
客服主题至少包括:工单实体的相关数据。所述工单实体是业务系统用户需要业务系统客服提供服务时产生的工单。具体实施时,围绕工单实体建设客服主题数据。客服主题数据对于不断提升客户服务能力是非常重要的。
运营主题至少包括:运营活动实体的相关数据。所述运营活动实体是业务系统开展的吸引用户的活动,例如团购、优惠券发放等。具体实施时,围绕运营活动构建运营主体数据。在业务系统的发展过程中,需要通过展开一些运营活动以便吸引更多的用户以及给用户带去更多的实惠,因此,在运营主题里最关键的实体就是运营活动。
流量主题至少包括:流量实体的相关数据。所述流量实体为不同入口访问业务系统的流量,例如用户通过APP、PC网站、wap、微信等多种形式访问业务系统提供的服务时产生的流量。具体实施时,可以通过对业务系统上用户的访问日志进行加工、抽象,进一步生成流量实体。
POI主题至少包括:POI实体的相关数据。所述POI是指一些客观且物理存在的并有一定经营属性的个体,例如商户。业务系统通过直接或间接的方式建立与POI之间的联系,让用户可以在业务系统上访问到该POI的详细信息,POI的信息式业务系统非常重要的数据资产。
订单主题至少包括:订单实体的相关数据。所述订单实体为用户在业务系统上产生的订单相关的数据。流量产生的同时,会吸引用户在业务系统上产生交易,最终生成订单,订单时业务系统利润的主要来源我们,因此,具体实施时围绕着最核心的订单实体,例如:下单、支付、退款、消费等订单数据建设订单主题。
参与人主题至少包括:参与人实体的相关数据。所述参与人实体时业务系统的所有员工以及业务系统服务的商家、用户等参与人。在参与人主题中,核心实体就是参与人,所有的数据建设都是围绕着参与人展开。比如:围绕用户建立用户维度实体、用户交易事实、用户浏览事实等等。
产品主题至少包括:产品实体的相关数据。所述产品实体是业务系统上的POI下可以购买的产品。产品实体的产生来源于POI,业务系统在用户访问POI的同时还让其可以看到该POI下有哪些产品可以进行购买,产品实体则为产品主题里的核心实体。
结算主题至少包括:结算流水实体的相关数据。所述结算流水是业务系统与POI或者第三方商家进行结算时的结算流水。例如,在用户购买业务系统上的商家所提供的产品后,业务系统最终需要与POI或者第三方商家进行结算,在此过程中形成的结算流水则成为了结算主题里最核心的数据实体。具体实施时,围绕结算流水实体构建结算主体的数据。
具体实施时,根据业务系统业务的具体需求,各个层可以包括的实时数据处理模块不限于上述主题对应的数据处理模块,还可以其他主题对应的数据处理模块;各个层可以包括上述全部或部分主题对应的数据处理模块。
本申请实施例中可以通过消息队列和/或缓存数据库进行数据传输和存储,本领域技术人员应当理解,出于方便描述技术方案的考虑,本申请实施例中某些层仅介绍了通过消息队列进行数据传输和存储的技术方案,不应做为对本申请保护范围的限定。具体实施时,所述缓存数据库可以采用redis 或者tair等分布式缓存数据库。
具体实施时,多维明细层和应用层中包括的实时数据处理模块可以由 storm集群实现。例如,预设storm集群实时进行数据传输、存储和数据处理。每个层设置相应的消息队列,当通过调用Sotrm集群的数据发送函数(如 StormSpout)获取到数据之后,进一步调用Sotrm集群的相应处理函数(如 StormBolt)按照预设规则对读取的数据进行处理,并将处理后的数据保存至当前层对应的消息队列中。
本申请实施例公开的实时数据仓库,通过根据数据处理过程中的关键节点,分层构建实时数据仓库,使得数据仓库结构清晰。按照数据处理的流程,结合业务特点,对数据处理流程分层,简化了数据处理的复杂度,解决了现有技术中的实时数据仓库可扩展性差,开发效率底下的问题,有利于提高数据仓库开发效率。并且,各个层之间通过消息队列或缓存数据库进行数据传输和存储,实现数据处理逻辑解耦,有效提高数据仓库的稳定性;在进行数据仓库开发时,可以屏蔽底层数据的变化对上层建立稳定协议的影响,进一步提高数据仓库开发效率。
通过结合业务特点,对数据处理流程分层、分主题进行处理,当需要新增主题数据时,仅需在多维明细层以上的各层增加相应的实数数据处理模块,扩展性更强,可以有效提高数据仓库开发效率。
通过逐层对数据进行汇总,可以给上层应用提供丰富的数据接口。现有技术中,静态数据库通过写HIVE,SQL数据库,并对数据进行离线批处理后,存储在磁盘等介质中,无法处理实时数据流,而本申请中,数据仓库的各层之间通过实时数据处理技术进行数据处理,通过消息队列或缓存数据库进行数据存储,有效提高了数据处理的实时性。
实施例二
基于实施例一,本实施例公开的一种实时数据仓库,如图3所示,在所述多维明细层120和应用层130之间,还包括:
汇总层140,用于对所述多维明细层120中存储的数据,基于至少一个所述预设维度进行汇总处理。
所述汇总层140的建设原则是找到数据应用中经常会分析或使用到的一些维度如用户、商户等等,并对所述多维明细层120中存储的数据,按照上述常用维度,如用户、商户等进行汇总处理。
所述汇总层140中同样包括至少一个实时数据处理模块,如图3中的 1401至1403。所述至少一个实时数据处理模块用于处理相应主题的数据。所述主题可以为:客服、运营、流量、POI、订单、参与人、产品、结算等中的一项或多项。具体实施时,汇总层中包括的实时数据处理模块也可以由 storm集群实现。所述汇总层140通过消息队列或者缓存数据库与所述应用层130进行数据传输。本实施例中,以所述汇总层140通过消息队列存储处理后的数据为例,每个实时数据处理模块同样包括至少一个消息队列。所述汇总层140的数据处理流程如下:首先,通过调用StormBolt从所述多维明细层120的消息队列中的读取数据;然后,调用StormBolt对读取的数据进行处理,例如,对读取的产品数据按照商户维度进行汇总;最后,将处理后的数据存储至汇总层140的消息队列中,以便所述应用层130进行读取。
具体实施时,所述应用层130,还用于响应数据库操作,对所述汇总层 140存储的数据进行处理,并输出处理后的数据。所述应用层130根据用户的数据库操作,可以直接从多维明细层120获取数据,也可以从所述汇总层 130获取数据。
本实施例的实时数据仓库的其他部分的具体实施方式参见实施例一,此处不再赘述。
通过在多维明细层120和所述应用层130之间设置汇总层140,基于常用维度对所述多维明细层存储的数据进行汇总处理,为所述应用层130提供了更丰富的数据形式,便于应用层为上层应用提供更丰富的接口。
实施例三
相应的,本申请实施例还公开了一种实时数据处理方法,应用于如图1 所示的实时数据仓库,所述实时数据仓库至少包括以下自底向上依次设置的源数据层、多维明细层和应用层。
具体实施时,根据数据的处理流程中的关键节点,将实时数据仓库划分为多个层。具体实施时,结合对实时数据处理速度的需求,可以将实时数据仓库划分为三个层,分别为:源数据层、多维明细层和应用层。
所述源数据层,用于实时获取并存储业务系统的数据;所述多维明细层,用于基于预设维度对所述源数据层的数据进行处理,并存储处理后的数据;所述应用层,用于响应数据库操作,对所述多维明细层存储的数据进行处理,并输出处理后的数据。
其中,上述各层内通过实时数据处理技术对数据进行处理,各层之间通过消息队列和/或缓存数据库进行数据传输。
结合参见图4,所述方法包括:步骤400至步骤420。
步骤400,通过所述源数据层实时获取并存储业务系统的数据。
具体实施时,通过所述源数据层实时获取并存储业务系统的数据包括:通过所述源数据层基于消息队列获取并存储业务系统的实时数据,以及,基于数据库操作获取离线维度数据并存储至缓存数据库。
所述源数据层通过消息队列实时获取业务系统的数据,并存储在缓存数据库或通过消息队列传输给多维明细层。同时,所述源数据层还通过数据库接口读取离线维度数据,并存储在所述源数据层的缓存数据库中,便于多维明细层读取。
步骤410,通过所述多维明细层基于预设维度对所述源数据层的数据进行处理,并存储处理后的数据。
具体实施时,所述多维明细层以上的各层分别包括至少一个实时数据处理模块,在通过所述多维明细层以上的各层进行处理时,包括:通过各层包括的实时数据处理模块对相应主题的数据进行处理。
以多维明细层为例,如图2所示,所述多维明细层120包括:客服数据处理模块1201、运营数据处理模块1202、流量数据处理模块1203、POI数据处理模块1204、订单数据处理模块1205。根据具体业务需求,所述多维明细层120还可以包括其他模块,如风控数据处理模块等。每一个数据处理模块处理相应主题的数据。通过结合业务特点,分主题进行数据处理,数据处理逻辑更清晰,有利于提升数据处理的稳定性。
具体实施时,所述实时数据处理模块包括:至少一个实时数据处理函数、与所述实时数据处理函数一一对应的消息队列或缓存区域;所述实时数据处理函数用于处理相应实体的数据。每个实时数据处理模块对应至少一个消息队列,用于存储当前层处理后的数据,便于上游各层使用数据。每个消息队列对应一个实体,每个实体对应一个实时数据处理函数,如StormBolt。其中,实体是主题数据的一种表达维度,如产品主题中的下单实体、支付实体。具体实施时,通过调用所述订单数据处理模块1205中相应的StormBolt从所述源数据层110读取消息队列1101中的实时数据和缓存数据库1102中的维度数据;然后,由StormBolt对读取的实时数据中的订单主题相关的数据进行处理,例如,将所述实时数据按照下单或支付维度进行标识;最后,将处理后的数据,如,得到的下单数据存储到相应的消息队列中。例如,与下单实体对应的StormBolt将处理后的数据存储到下单实体对应的消息队列 12051中,与支付实体对应的StormBolt将处理后的数据存储到支付实体对应的消息队列12052中。
具体实施时,还可以通过缓存数据库代替消息队列以进行不同层之间的数据传输和数据存储。当通过缓存数据库代替消息队列以进行不同层之间的数据传输和数据存储时,每个实时数据处理模块可以包括一个或多个缓存区间。每个缓存区间对应一个实体,每个缓存区间对应一个实时数据处理函数。
通过为每个实体设置一个对应的消息队列或缓存区域,并为每个消息队列或缓存区域设置一个实时数据处理函数,可以针对每个目标实体单独进行数据处理,使数据处理简单化,不仅可以提高数据仓库的稳定性,同时达到并行进行数据处理的目的,进一步提升实时数据处理的效率。
所述多维明细层把源数据层中的实时消息队列与缓存数据库中的数据结合起来一起使用与加工,最终把源数据层中的实时数据与维度数据关联起来,生成信息更加丰富的数据,存储在所述多维明细层对应的消息队列或缓存数据库中。
具体实施时,多维明细层实时读取和处理所述源数据层中存储的数据。
具体实施时,所述主题包括以下任意一项或多项:客服、运营、流量、 POI、订单、参与人、产品、结算。本申请在具体实施时,首先,基于行业特点、数据特点等规则,对业务系统的数据进行抽象,得到多个数据主题。以O2O行业为例,O2O行业具有业务类型多样化的特点,因此,网络数据种类繁多,如流量、数据库、第三方数据等等。因此,具体实施时,首先基于业务类型的数据特点对数据进行高度抽象,最终形成多个数据主题,如:客服、运营、流量、POI、订单、参与人、产品、结算。各个数据主题对应的数据参见实施例一,此处不再赘述。
步骤420,根据接收到的数据库操作,通过所述应用层对所述多维明细层存储的数据进行处理,并输出处理后的数据。
具体实施时,上层应用不定期对数据库进行操作,例如:读数据库、删除数据等。当接收到上层应用发送的数据库操作时,进一步根据接收到的数据库操作,进行相应处理。例如,通过应用层的实时数据处理模块基于消息队列或缓存数据库获取多维明细层存储的数据,并进行处理,然后,输出处理后的数据。
本实施例公开的实时数据处理方法,首先通过所述源数据层实时获取并存储业务系统的数据;然后,通过所述多维明细层基于预设维度对所述源数据层的数据进行处理,并存储处理后的数据;最后,根据接收到的数据库操作,通过所述应用层对所述多维明细层存储的数据进行处理,并输出处理后的数据;其中,上述各层内通过实时数据处理技术对数据进行处理,各层之间通过消息队列和/或缓存数据库进行数据传输,简化了数据处理的复杂度,提升了数据处理的实时性。同时,各个层之间通过消息队列或缓存数据库进行数据传输和存储,实现数据处理逻辑解耦,有效提高数据仓库的稳定性;在进行数据仓库开发时,可以屏蔽底层数据的变化对上层建立稳定协议的影响,进一步提高数据仓库开发效率。
实施例四
相应的,本申请实施例还公开了一种实时数据处理方法,应用于如图3 所示的实时数据仓库,所述实时数据仓库的多维明细层和应用层之间还包括:汇总层。如图5所述,所述方法包括:
步骤500,通过所述源数据层实时获取并存储业务系统的数据。
通过所述源数据层实时获取并存储业务系统的数据的具体实时方式参见实施例三,此处不再赘述。
步骤510,通过所述多维明细层基于预设维度对所述源数据层的数据进行处理,并存储处理后的数据。
通过所述多维明细层基于预设维度对所述源数据层的数据进行处理,并存储处理后的数据的具体实时方式参见实施例三,此处不再赘述。
具体实施时,多维明细层实时读取和处理所述源数据层中存储的数据。
步骤520,基于至少一个所述预设维度,通过所述汇总层对所述多维明细层中存储的数据,进行汇总处理。
所述汇总层140的建设原则是找到数据应用中经常会分析或使用到的一些维度如用户、商户等等,并对所述多维明细层120中存储的数据,按照上述常用维度,如用户、商户等进行汇总处理。
所述汇总层140中同样包括至少一个实时数据处理模块,如图3中的 1401至1403。所述至少一个实时数据处理模块用于处理相应主题的数据。所述主题可以为:客服、运营、流量、POI、订单、参与人、产品、结算等中的一项或多项。具体实施时,汇总层中包括的实时数据处理模块也可以由 storm集群实现。所述汇总层140通过消息队列或者缓存数据库与所述应用层130进行数据传输。具体实施时,对于至少一个预设维度,如常用的用户维度,通过汇总层中的实时数据处理模块调用StormBolt从所述多维明细层的消息队列中的读取数据;然后,调用StormBolt对读取的数据进行处理,例如,对读取的产品数据按照用户维度进行汇总;最后,将处理后的数据存储至汇总层的消息队列中,以便所述应用层进行读取。
步骤530,根据接收到的数据库操作,通过所述应用层对所述汇总层或多维明细层存储的数据进行处理,并输出处理后的数据。
根据接收到的数据库操作,通过所述应用层对所述汇总层或多维明细层存储的数据进行处理,并输出处理后的数据,包括:
根据接收到的数据库操作,通过所述应用层对所述多维明细层存储的数据进行处理,并输出处理后的数据;或,根据接收到的数据库操作,通过所述应用层对所述汇总层存储的数据进行处理,并输出处理后的数据。
具体实施时,上层应用不定期对数据库进行操作,例如:读数据库、删除数据等。当接收到上层应用发送的数据库操作时,进一步根据接收到的数据库操作,进行相应处理。例如,当接收到获取汇总数据时,通过应用层的实时数据处理模块基于消息队列或缓存数据库获取汇总层存储的数据,并进行处理,然后,输出处理后的数据;当接收到获取某一维度数据时,通过应用层的实时数据处理模块基于消息队列或缓存数据库获取多维度明细层存储的数据,并进行处理,然后,输出处理后的数据。
本实施例公开的实时数据处理方法,首先通过所述源数据层实时获取并存储业务系统的数据;然后,通过所述多维明细层基于预设维度对所述源数据层的数据进行处理,并存储处理后的数据;再后,基于至少一个所述预设维度,通过所述汇总层对所述多维明细层中存储的数据,进行汇总处理;最后,根据接收到的数据库操作,通过所述应用层对所述汇总层或多维明细层存储的数据进行处理,并输出处理后的数据;其中,上述各层内通过实时数据处理技术对数据进行处理,各层之间通过消息队列和/或缓存数据库进行数据传输,简化了数据处理的复杂度,提升了数据处理的实时性。同时,各个层之间通过消息队列或缓存数据库进行数据传输和存储,实现数据处理逻辑解耦,有效提高数据仓库的稳定性;在进行数据仓库开发时,可以屏蔽底层数据的变化对上层建立稳定协议的影响,进一步提高数据仓库开发效率。相应的,本申请实施例还公开了一种电子设备,所述电子设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现本申请实施例所述的实时数据处理方法。所述电子设备可以为计算机、移动终端等具有数据存储和处理能力的设备。
相应的,本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现本申请实施例所述的实时数据处理方法的步骤。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上对本申请提供的一种实时数据仓库及实时数据处理方法进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件实现。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以通过软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
Claims (6)
1.一种实时数据仓库,其特征在于,至少包括以下自底向上依次设置的三层:
源数据层,用于通过消息队列获取并存储业务系统的实时数据,还用于获取离线维度数据并存储至所述源数据层对应的缓存数据库;
多维明细层,用于根据所述离线维度数据对所述源数据层的实时数据进行处理,并将处理后的数据存储到所述多维明细层对应的消息队列或缓存数据库;
应用层,用于响应数据库操作,对所述多维明细层存储的数据进行处理,并输出处理后的数据;
其中,各层之间通过消息队列和/或缓存数据库进行数据传输;
所述多维明细层以上的各层分别包括至少一个实时数据处理模块,所述至少一个实时数据处理模块用于处理相应主题的数据;
所述实时数据处理模块包括:至少一个实时数据处理函数、与所述实时数据处理函数一一对应的消息队列或缓存区域;所述实时数据处理函数用于处理相应实体的数据。
2.根据权利要求1所述的数据仓库,其特征在于,在所述多维明细层和应用层之间,还包括:
汇总层,用于对所述多维明细层中存储的数据,基于至少一个预设维度进行汇总处理;
所述应用层,还用于响应数据库操作,对所述汇总层存储的数据进行相应处理,并输出处理后的数据。
3.一种实时数据处理方法,其特征在于,应用于至少包括以下自底向上依次设置的源数据层、多维明细层、和应用层的实时数据仓库,所述方法包括:
通过消息队列获取并存储业务系统的实时数据,还用于获取离线维度数据并存储至所述源数据层对应的缓存数据库;
用于根据所述离线维度数据对所述源数据层的实时数据进行处理,并将处理后的数据存储到所述多维明细层对应的消息队列或缓存数据库;
根据接收到的数据库操作,通过所述应用层对所述多维明细层存储的数据进行处理,并输出处理后的数据;
其中,各层之间通过消息队列和/或缓存数据库进行数据传输;
所述多维明细层以上的各层分别包括至少一个实时数据处理模块,在通过所述多维明细层以上的各层进行处理时,包括:通过各层包括的实时数据处理模块对相应主题的数据进行处理;
所述实时数据处理模块包括:至少一个实时数据处理函数、与所述实时数据处理函数一一对应的消息队列或缓存区域;所述实时数据处理函数用于处理相应实体的数据。
4.根据权利要求3所述的方法,其特征在于,所述实时数据仓库的多维明细层和应用层之间还包括:汇总层,所述根据接收到的数据库操作,通过所述应用层对所述多维明细层存储的数据进行处理,并输出处理后的数据的步骤,还包括:
基于至少一个预设维度,通过所述汇总层对所述多维明细层中存储的数据,进行汇总处理;
根据接收到的数据库操作,通过所述应用层对所述汇总层存储的数据进行处理,并输出处理后的数据。
5.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至4任一项所述的实时数据处理方法。
6.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至4任一项所述的实时数据处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810097398.3A CN108427711B (zh) | 2018-01-31 | 2018-01-31 | 实时数据仓库、实时数据处理方法、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810097398.3A CN108427711B (zh) | 2018-01-31 | 2018-01-31 | 实时数据仓库、实时数据处理方法、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108427711A CN108427711A (zh) | 2018-08-21 |
CN108427711B true CN108427711B (zh) | 2019-09-17 |
Family
ID=63156343
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810097398.3A Active CN108427711B (zh) | 2018-01-31 | 2018-01-31 | 实时数据仓库、实时数据处理方法、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108427711B (zh) |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109597846B (zh) * | 2018-10-22 | 2024-05-07 | 平安科技(深圳)有限公司 | 大数据平台数据仓库数据处理方法、装置和计算机设备 |
CN109829003A (zh) * | 2018-12-25 | 2019-05-31 | 北京市天元网络技术股份有限公司 | 数据库备份方法及装置 |
CN111371586B (zh) * | 2018-12-26 | 2023-01-10 | 顺丰科技有限公司 | 日志数据传输方法、装置和设备 |
CN111680108B (zh) * | 2019-03-11 | 2023-11-03 | 杭州海康威视数字技术股份有限公司 | 一种数据存储方法、装置及一种数据获取方法、装置 |
CN110209507A (zh) * | 2019-05-16 | 2019-09-06 | 厦门市美亚柏科信息股份有限公司 | 基于消息队列的数据处理方法、装置、系统及存储介质 |
CN110569315B (zh) * | 2019-07-29 | 2020-11-10 | 北京创鑫旅程网络技术有限公司 | 基于数据仓库的数据处理方法和装置 |
CN110457320A (zh) * | 2019-08-06 | 2019-11-15 | 深圳萨摩耶互联网金融服务有限公司 | 数据的实时存储方法与装置、存储介质及计算机设备 |
CN110633332A (zh) * | 2019-09-18 | 2019-12-31 | 北京思维造物信息科技股份有限公司 | 数据仓库、数据更新和调用方法、装置及设备 |
CN112783887B (zh) * | 2019-11-07 | 2024-08-16 | 北京沃东天骏信息技术有限公司 | 一种基于数据仓库的数据处理方法及装置 |
CN111144819A (zh) * | 2019-12-28 | 2020-05-12 | 云汉芯城(上海)互联网科技股份有限公司 | 一种物料配单的方法、系统、设备及可读存储介质 |
CN111339073A (zh) * | 2020-02-24 | 2020-06-26 | 天津满运软件科技有限公司 | 实时数据处理方法、装置、电子设备及可读存储介质 |
CN111770106A (zh) * | 2020-07-07 | 2020-10-13 | 杭州安恒信息技术股份有限公司 | 数据威胁分析的方法、装置、系统、电子装置和存储介质 |
CN112214487A (zh) * | 2020-09-28 | 2021-01-12 | 京东数字科技控股股份有限公司 | 数据写入方法及装置、计算机可读存储介质以及电子设备 |
CN112380295B (zh) * | 2020-11-16 | 2022-04-08 | 常州微亿智造科技有限公司 | 基于工业云边服务的数仓系统 |
CN112418941A (zh) * | 2020-11-26 | 2021-02-26 | 欧冶云商股份有限公司 | 一种基于实时流的资源人气计算方法、系统及存储介质 |
CN112650889A (zh) * | 2020-12-28 | 2021-04-13 | 中国兵器装备集团自动化研究所 | 一种企业安全环保及安防监控数据的数仓建设方法和系统 |
CN113179302B (zh) * | 2021-04-19 | 2022-09-16 | 杭州海康威视系统技术有限公司 | 日志系统以及日志数据的收集方法和收集装置 |
CN113656370B (zh) * | 2021-08-16 | 2024-04-30 | 南方电网数字电网集团有限公司 | 电力量测系统数据处理方法、装置和计算机设备 |
CN113780380A (zh) * | 2021-08-27 | 2021-12-10 | 上海数禾信息科技有限公司 | 数据处理方法、装置、系统、存储介质及计算机设备 |
CN113779092B (zh) * | 2021-09-17 | 2024-03-01 | 平安科技(深圳)有限公司 | 基于数据仓库的实时数据展示方法、装置、设备及介质 |
CN116630034B (zh) * | 2023-07-21 | 2023-11-07 | 杭银消费金融股份有限公司 | 一种风控数据处理系统及方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6633882B1 (en) * | 2000-06-29 | 2003-10-14 | Microsoft Corporation | Multi-dimensional database record compression utilizing optimized cluster models |
CN104239567A (zh) * | 2014-09-28 | 2014-12-24 | 北京国双科技有限公司 | 数据仓库中的维度处理方法和装置 |
CN104820715A (zh) * | 2015-05-19 | 2015-08-05 | 杭州迅涵科技有限公司 | 基于多维度关联的数据共享和分析方法及系统 |
CN104991960A (zh) * | 2015-07-22 | 2015-10-21 | 北京京东尚科信息技术有限公司 | 构建数据仓库模型的方法与装置 |
CN106844377A (zh) * | 2015-12-03 | 2017-06-13 | 北京国双科技有限公司 | 多维数据库的处理方法及装置 |
CN107169070A (zh) * | 2017-05-08 | 2017-09-15 | 山大地纬软件股份有限公司 | 一种基于大数据的社保指标仓库的构建系统及其方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103761309B (zh) * | 2014-01-23 | 2017-04-26 | 中国移动(深圳)有限公司 | 一种运营数据处理方法及系统 |
CN106202081B (zh) * | 2015-04-30 | 2020-03-13 | 阿里巴巴集团控股有限公司 | 实时数据处理方法及装置 |
CN105718565B (zh) * | 2016-01-20 | 2019-07-02 | 北京京东尚科信息技术有限公司 | 数据仓库模型的构建方法和构建装置 |
CN106202489A (zh) * | 2016-07-20 | 2016-12-07 | 青岛云智环境数据管理有限公司 | 一种基于大数据的农业病虫害智能诊断系统 |
CN107247763A (zh) * | 2017-05-31 | 2017-10-13 | 北京凤凰理理它信息技术有限公司 | 业务数据统计方法、装置、系统、存储介质及电子设备 |
-
2018
- 2018-01-31 CN CN201810097398.3A patent/CN108427711B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6633882B1 (en) * | 2000-06-29 | 2003-10-14 | Microsoft Corporation | Multi-dimensional database record compression utilizing optimized cluster models |
CN104239567A (zh) * | 2014-09-28 | 2014-12-24 | 北京国双科技有限公司 | 数据仓库中的维度处理方法和装置 |
CN104820715A (zh) * | 2015-05-19 | 2015-08-05 | 杭州迅涵科技有限公司 | 基于多维度关联的数据共享和分析方法及系统 |
CN104991960A (zh) * | 2015-07-22 | 2015-10-21 | 北京京东尚科信息技术有限公司 | 构建数据仓库模型的方法与装置 |
CN106844377A (zh) * | 2015-12-03 | 2017-06-13 | 北京国双科技有限公司 | 多维数据库的处理方法及装置 |
CN107169070A (zh) * | 2017-05-08 | 2017-09-15 | 山大地纬软件股份有限公司 | 一种基于大数据的社保指标仓库的构建系统及其方法 |
Also Published As
Publication number | Publication date |
---|---|
CN108427711A (zh) | 2018-08-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108427711B (zh) | 实时数据仓库、实时数据处理方法、电子设备及存储介质 | |
Huang et al. | Signed graph attention networks | |
Pinna et al. | A petri nets model for blockchain analysis | |
US7181417B1 (en) | System and method for revenue generation in an automatic, real-time delivery of personalized informational and transactional data | |
CN105074724B (zh) | 使用列式数据库中的直方图进行有效查询处理 | |
Tamaddoni Jahromi et al. | Modeling customer churn in a non-contractual setting: the case of telecommunications service providers | |
US6694316B1 (en) | System and method for a subject-based channel distribution of automatic, real-time delivery of personalized informational and transactional data | |
Zhu et al. | Predicting user activity level in social networks | |
CN106022708A (zh) | 一种预测员工离职的方法 | |
US20090122065A1 (en) | Network rating visualization | |
CN111611309A (zh) | 话单数据关系网络交互式可视化方法 | |
CN110457320A (zh) | 数据的实时存储方法与装置、存储介质及计算机设备 | |
US20080140642A1 (en) | Automated user activity associated data collection and reporting for content/metadata selection and propagation service | |
WO2021225907A1 (en) | Risk management data channel interleaved with enterprise data to facilitate assessment responsive to a risk event | |
Nanduri et al. | Ecommerce fraud detection through fraud islands and multi-layer machine learning model | |
Sahil et al. | Bibliometric monitoring of research performance in ICT-based disaster management literature | |
Jayagopal et al. | Data management and big data analytics: Data management in digital economy | |
Sharaf Addin et al. | Customer mobile behavioral segmentation and analysis in telecom using machine learning | |
Liu et al. | Spreading dynamics of a preferential information model with hesitation psychology on scale-free networks | |
Xu et al. | Prediction and big data impact analysis of telecom churn by backpropagation neural network algorithm from the perspective of business model | |
Breuer et al. | The structure of trade-type and governance-type organized crime groups: a network study | |
CN112418929B (zh) | 一种数据共享方法及装置 | |
Liu et al. | A novel multi-layer network model for service ecosystems | |
CN110162521A (zh) | 一种支付系统交易数据处理方法及系统 | |
CN116843390A (zh) | 信息展示方法及其装置 |
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 | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20200622 Address after: 100102 3 / F / 01, 2-4 / F, building 6, yard 6, Wangjing East Road, Chaoyang District, Beijing Patentee after: Beijing three cloud computing Co.,Ltd. Address before: 100083 Beijing Haidian District North Fourth Ring Road West, No. 9 2106-030 Patentee before: BEIJING SANKUAI ONLINE TECHNOLOGY Co.,Ltd. |