CN112650777A - 数据仓库的制作方法、装置、终端设备及计算机存储介质 - Google Patents

数据仓库的制作方法、装置、终端设备及计算机存储介质 Download PDF

Info

Publication number
CN112650777A
CN112650777A CN202011535886.1A CN202011535886A CN112650777A CN 112650777 A CN112650777 A CN 112650777A CN 202011535886 A CN202011535886 A CN 202011535886A CN 112650777 A CN112650777 A CN 112650777A
Authority
CN
China
Prior art keywords
data
real
time
preset
warehouse
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.)
Pending
Application number
CN202011535886.1A
Other languages
English (en)
Inventor
黄琳
江旻
杨杨
王大飞
陈博娜
沈立
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
WeBank Co Ltd
Original Assignee
WeBank Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by WeBank Co Ltd filed Critical WeBank Co Ltd
Priority to CN202011535886.1A priority Critical patent/CN112650777A/zh
Publication of CN112650777A publication Critical patent/CN112650777A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24568Data stream processing; Continuous queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2462Approximate or statistical queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/283Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computational Linguistics (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及金融科技技术领域,公开了一种数据仓库的制作方法、装置、终端设备及计算机存储介质。该数据仓库的制作方法基于获取实时数据和批量数据,并将所述实时数据和所述批量数据存入至预设开源数据库当中;根据预设的参数配置在所述预设开源数据库中读取待加工实时数据或者待加工批量数据;按照预设的共用加工代码针对所述待加工实时数据或者所述待加工批量数据进行加工得到明细数据;将所述明细数据导出至预设查询系统当中以制作得到数据仓库。本发明能够减少开发成本,还能做到对历史数据的回溯,在需要进行基于批量数据的准实时分析时,提供统一的实时和批量数据加工,提升了数据仓库的实用性和有效性。

Description

数据仓库的制作方法、装置、终端设备及计算机存储介质
技术领域
本发明涉及金融科技(Fintech)技术领域,尤其涉及一种数据仓库的制作方法、装置,终端设备及计算机存储介质。
背景技术
随着计算机技术的发展,越来越多的技术应用在金融领域,传统金融业正在逐步向金融科技(Fintech)转变,但由于金融行业的安全性、实时性要求,也对数据同步技术提出了更高的要求。
时下,众多企业都是通过kafka(一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者在网站中的所有动作流数据)技术,利用Java(一门面向对象的计算机编程语言)编程来进行实时数据的加工,即,在获取到实时数据流后利用特定加工逻辑对该数据量进行加工得到统计值,然后将统计值存入开源数据库当中形成数据仓库来提供实时查询服务。
然而,现有针对批量数据进行加工以制作数据仓库普遍是以hive sql(hive数据仓库工具提供的sql查询功能)或者spark sql(Spark SQL是一个用来处理结构化数据的spark组件)来实现,如此,在针对基于现有方式制作的批量数据仓库和实时数据仓库进行数据表开发时,只能分开独立的进行各自数据表开发操作,导致数据表开发成本高昂。
发明内容
本发明的主要目的在于提供一种数据仓库的制作方法、装置、终端设备及计算机存储介质,旨在解决基于现有方式制作的批量数据仓库和实时数据仓库,在进行数据表开发时只能分开独立的进行各自数据表开发操作,数据表开发成本高昂的技术问题。
为实现上述目的,本发明提供一种数据仓库的制作方法,所述数据仓库的制作方法包括:
获取实时数据和批量数据,并将所述实时数据和所述批量数据存入至预设开源数据库当中;
根据预设的参数配置在所述预设开源数据库中读取待加工实时数据或者待加工批量数据;
按照预设的共用加工代码针对所述待加工实时数据或者所述待加工批量数据进行加工得到明细数据;
将所述明细数据导出至预设查询系统当中以制作得到数据仓库。
可选地,所述将所述实时数据和所述批量数据存入至预设开源数据库当中的步骤,包括:
将所述实时数据按照预设数表方式存入所述预设开源数据库中的实时数仓表上;
将所述批量数据按照所述预设数表方式存入所述预设开源数据库中的批量数仓表上,其中,所述实时数仓表的第一表命名规则和所述批量数仓表的第二表命名规则不同。
可选地,所述参数配置与所述第一表命名规则或者所述第二表命名规则相关联,
所述根据预设的参数配置在所述预设开源数据库中读取待加工实时数据或者待加工批量数据的步骤,包括:
若所述参数配置与所述第一表命名规则相关联,则在所述预设开源数据库中读取所述实时数仓表上的所述实时数据作为待加工实时数据;或者,
若所述参数配置与所述第二表命名规则相关联,则在所述预设开源数据库中读取所述实时数仓表上的所述实时数据作为待加工实时数据。
可选地,所述数据仓库的制作方法,还包括:
根据预设的准实时数据加工任务针对述预设开源数据库中的所述实时数据和所述批量数据进行合并加工处理得到实时加工结果,并将所述实时加工结果导出至所述预设查询系统当中。
可选地,所述根据预设的准实时数据加工任务针对述预设开源数据库中的所述实时数据和所述批量数据进行合并加工处理得到实时加工结果的步骤,包括:
在接收到所述准实时数据加工任务时,确定所述准实时数据加工任务中携带的时间信息;
从所述实时数据中提取所述时间信息关联的全量实时数据,并从所述批量数据中提取所述时间信息关联的增量数据;
针对所述全量实时数据和所述增量数据进行进行合并加工处理得到实时加工结果。
可选地,所述时间信息为日期,所述从所述实时数据中提取所述时间信息关联的全量实时数据的步骤,包括:
检测所述日期在所述实时数据中对应的第一待选全量实时数据是否完成预设的数仓操作,其中,所述数仓操作包括数据抽取、数据转换和数据加载;
若是,则针对所述第一待选全量实时数据和所述日期的后一日在所述实时数据中对应的第二待选全量实时数据进行去重得到所述全量实时数据;
若否,则针对所述第一待选全量实时数据、所述第二待选全量实时数据以及所述日期的前一日在所述实时数据中对应的第三待选全量实时数据进行去重得到所述全量实时数据。
可选地,所述数据仓库的制作方法,还包括:
基于预设固定时间开销计算单一计算资源处理预设最大支持计算量的计算耗时;
获取实时可用计算资源,并调用预设取整函数根据所述计算耗时和所述预设固定时间开销计算得到所述准实时数据加工任务的最小计算时效,以在执行所述准实时数据加工任务时,按照所述最小计算时效提取所述实时数据和所述批量数据。
可选地,所述数据仓库的制作方法,还包括:
根据所述预设查询系统接收到的数据查询任务提供多维实时分析查询服务;以及,
根据预设批量校准任务从所述预设查询系统中抽取回流数据来确定校准结果数据,并在所述预设查询系统中基于所述校准结果数据依次更新进行数据校准。
此外,为实现上述目的,本发明还提供一种数据仓库的制作装置,所述数据仓库的制作装置包括:
数据存储模块,用于获取实时数据和批量数据,并将所述实时数据和所述批量数据存入至预设开源数据库当中;
数据读取模块,用于根据预设的参数配置在所述预设开源数据库中读取待加工实时数据或者待加工批量数据;
数据加工模块,用于按照预设的共用加工代码针对所述待加工实时数据或者所述待加工批量数据进行加工得到明细数据;
数仓制作模块,用于将所述明细数据导出至预设查询系统当中以制作得到数据仓库。
此外,为实现上述目的,本发明还提供一种终端设备,所述终端设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的数据仓库的制作程序,所述数据仓库的制作程序被所述处理器执行时实现如上所述的数据仓库的制作方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机存储介质,所述计算机存储介质上存储有数据仓库的制作程序,所述数据仓库的制作程序被处理器执行时实现如上所述的数据仓库的制作方法的步骤。
本发明提供一种数据仓库的制作方法、装置,终端设备及计算机存储介质,基于获取实时数据和批量数据,并将所述实时数据和所述批量数据存入至预设开源数据库当中;根据预设的参数配置在所述预设开源数据库中读取待加工实时数据或者待加工批量数据;按照预设的共用加工代码针对所述待加工实时数据或者所述待加工批量数据进行加工得到明细数据;将所述明细数据导出至预设查询系统当中以制作得到数据仓库。
本发明在基于统计数据制作提供数据分析查询服务的数据仓库的过程中,先获取实时数据和批量数据,并将该实时数据和批量数据均存储至预设开源数据库当中,然后,基于预设的参数配置从该预设开源数据库内存储的实时数据和批量数据当中,分别读取待加工实时数据和待加工批量数据,再然后,利用预设的共用加工代码针对该待加工实时数据和待加工批量数据进行以得加明细数据目的加工处理得到明细数据,最后,将该明细数据导出至预设查询系统当中提供数据分析查询服务从而制作得到数据仓库。
本发明与现有针对基于流式数据进行实时加工处理制作数据仓库的方式相比,能够复用相同的共用加工代码来针对实时数据和批量数据进行数据加工,从而无需开发不同代码来独立进行批量数据和实时数据各自数据表的开发操作,不仅提升了数据加工开发效率,还极大程度上减少了开发成本。此外,由于本发明将实时数据和批量数据都进行了存储,如此,不仅能做到对历史数据的回溯,还能在需要进行基于批量数据的准实时分析时,可提供统一的实时和批量数据加工,提升了数据仓库的实用性和有效性。
附图说明
图1为本发明实施例方案涉及的硬件运行环境的设备结构示意图;
图2为本发明数据仓库的制作方法第一实施例的流程示意图;
图3为本发明数据仓库的制作方法一实施例所涉及现有技术制作数据仓库的应用流程示意图;
图4为本发明数据仓库的制作方法一实施例所涉及的应用流程示意图;
图5为本发明数据仓库的制作方法一实施例中所涉及应用流程的细化流程示意图;
图6为本发明数据仓库的制作方法一实施例执行准实时数据加工任务所涉及应用流程示意图;
图7为本发明数据仓库的制作方法一实施例执行批量校准任务所涉及应用流程示意图;
图8为本发明数据仓库的制作装置一实施例的功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
参照图1,图1为本发明实施例方案涉及的硬件运行环境的设备结构示意图。
本发明实施例终端设备可以是智能手机,也可以是PC(Personal Computer,个人计算机)、平板电脑、便携计算机等终端设备。
如图1所示,该终端设备可以包括:处理器1001,例如CPU,通信总线1002,用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如Wi-Fi接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的终端设备结构并不构成对终端设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及数据仓库的制作程序。
在图1所示的终端中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端,与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的数据仓库的制作程序,并执行以下操作:
获取实时数据和批量数据,并将所述实时数据和所述批量数据存入至预设开源数据库当中;
根据预设的参数配置在所述预设开源数据库中读取待加工实时数据或者待加工批量数据;
按照预设的共用加工代码针对所述待加工实时数据或者所述待加工批量数据进行加工得到明细数据;
将所述明细数据导出至预设查询系统当中以制作得到数据仓库。
进一步地,处理器1001可以调用存储器1005中存储的数据仓库的制作程序,还执行以下操作:
将所述实时数据按照预设数表方式存入所述预设开源数据库中的实时数仓表上;
将所述批量数据按照所述预设数表方式存入所述预设开源数据库中的批量数仓表上,其中,所述实时数仓表的第一表命名规则和所述批量数仓表的第二表命名规则不同。
进一步地,所述参数配置与所述第一表命名规则或者所述第二表命名规则相关联,处理器1001可以调用存储器1005中存储的数据仓库的制作程序,还执行以下操作:
若所述参数配置与所述第一表命名规则相关联,则在所述预设开源数据库中读取所述实时数仓表上的所述实时数据作为待加工实时数据;或者,
若所述参数配置与所述第二表命名规则相关联,则在所述预设开源数据库中读取所述实时数仓表上的所述实时数据作为待加工实时数据。
进一步地,处理器1001可以调用存储器1005中存储的数据仓库的制作程序,还执行以下操作:
根据预设的准实时数据加工任务针对述预设开源数据库中的所述实时数据和所述批量数据进行合并加工处理得到实时加工结果,并将所述实时加工结果导出至所述预设查询系统当中。
进一步地,处理器1001可以调用存储器1005中存储的数据仓库的制作程序,还执行以下操作:
在接收到所述准实时数据加工任务时,确定所述准实时数据加工任务中携带的时间信息;
从所述实时数据中提取所述时间信息关联的全量实时数据,并从所述批量数据中提取所述时间信息关联的增量数据;
针对所述全量实时数据和所述增量数据进行进行合并加工处理得到实时加工结果。
进一步地,处理器1001可以调用存储器1005中存储的数据仓库的制作程序,还执行以下操作:
检测所述日期在所述实时数据中对应的第一待选全量实时数据是否完成预设的数仓操作,其中,所述数仓操作包括数据抽取、数据转换和数据加载;
若是,则针对所述第一待选全量实时数据和所述日期的后一日在所述实时数据中对应的第二待选全量实时数据进行去重得到所述全量实时数据;
若否,则针对所述第一待选全量实时数据、所述第二待选全量实时数据以及所述日期的前一日在所述实时数据中对应的第三待选全量实时数据进行去重得到所述全量实时数据。
进一步地,处理器1001可以调用存储器1005中存储的数据仓库的制作程序,还执行以下操作:
基于预设固定时间开销计算单一计算资源处理预设最大支持计算量的计算耗时;
获取实时可用计算资源,并调用预设取整函数根据所述计算耗时和所述预设固定时间开销计算得到所述准实时数据加工任务的最小计算时效,以在执行所述准实时数据加工任务时,按照所述最小计算时效提取所述实时数据和所述批量数据。
进一步地,处理器1001可以调用存储器1005中存储的数据仓库的制作程序,还执行以下操作:
根据所述预设查询系统接收到的数据查询任务提供多维实时分析查询服务;以及,
根据预设批量校准任务从所述预设查询系统中抽取回流数据来确定校准结果数据,并在所述预设查询系统中基于所述校准结果数据依次更新进行数据校准。
基于上述硬件结构,提出本发明数据仓库的制作方法的各实施例。
需要说明的是,请参照附图3,附图3所示为本发明数据仓库的制作方法所涉及现有技术中进行数据实时加工以制作数据仓库的应用流程。现有技术中,CNC业务系统(一种采集、转换和加载外部数据的业务系统)可以通过配置订阅来收集实时数据,如,通过RMB(实时高可用服务总线)消息或者binlog(二进制日志文件)采集得到实时数据码流,然后再将数据码流利用kafka技术,通过RCS(cncbdp-Real Time Computing System-Businessindex Model,准实时业务指标计算模块)系统将特定标定的数据码流匹配专用的实时加工逻辑进行实时数据统计,然后将统计结果存入hbase(一个分布式的、面向列的开源数据库),通过HQS或者FDS(file description system,文件描述系统)等系统提供对实时数据外查询服务。同时,因实时加工存在实时消息丢失或者时差等原因,可能会导致实时数据加工的准确性较差,从而需要通过对每日的批量数据(以每日为单位统计的实时数据)进行校准。而批量数据加工目前主要是通过hive sql或者spark sql在hive(一个数据仓库工具)数据库完成批量数据加工,并按实时加工时同样的主键规则及结果表数据结构将数据更新到hbase里,以达到数据校准的目的。如此,在针对基于现有方式制作的批量数据仓库和实时数据仓库进行数据表开发时,只能分开独立的进行各自数据表开发操作,导致数据表开发成本高昂。
针对上述现象,本发明提供一种数据仓库的制作方法。请参照图2,图2为本发明数据仓库的制作方法第一实施例的流程示意图。
在本实施例中,该数据仓库的制作方法包括:
步骤S10,获取实时数据和批量数据,并将所述实时数据和所述批量数据存入至预设开源数据库当中;
终端设备在基于统计数据制作提供数据分析查询服务的数据仓库的过程中,通过接收开发工作人员输入的配置参数实现对数据来源的订阅以获取实时数据,并按照预设时间周期统计该实时数据以得到批量数据,然后,按照相同的数据表方式将该实时数据和该批量数据都存入到预设开源数据库当中以备后续调用。
需要说明的是,在本实施例中,预设开源数据库为现有任意分布式的开源数据库,例如,该预设开源数据库具体可以为:HDFS(Hadoop分布式文件系统,是指被设计成适合运行在通用硬件(commodity hardware)上的分布式文件系统(Distributed File System))。应当理解的是,基于实际应用的不同设计需要,在其它可行的实施方式当中,终端设备当然也可以选择其它不同于本实施列举的HDFS来作为该预设开源数据库,本发明数据仓库的制作方法,并不针对该预设开源数据库的类型进行具体的限定。此外,还应当理解的是,终端设备可连接一个或者多个开源数据库,且一个或者多个开源数据库都可以被配置用于存储实时数据和/或者批量数据。
进一步地,需要说明的是,在本实施例中,终端设备同样可以基于配置订阅来收集实时数据和统计得到批量数据。具体地,例如,终端设备基于开发工作人员输入的配置参数通过配置RMB消息或者binlog采集实时数据码流得到实时数据,然后,终端设备以每一天作为一个时间周期统计该实时数据形成以日为单位的批量数据——日终批量数据。
进一步地,在另一种可行的实施例中,终端设备当然也可以基于开发工作人员的配置通过其它数据采集渠道获取得到实时数据,以及采用其它数据单位来统计实时数据得到批量数据,本发明数据仓库的制作方法,并不针对终端设备获取得到实时数据和统计得到批量数据的具体方式进行限定。
进一步地,在一种可行的实施例中,上述步骤S10中,“将所述实时数据和所述批量数据存入至预设开源数据库当中”的步骤,可以包括:
步骤S101,将所述实时数据按照预设数表方式存入所述预设开源数据库中的实时数仓表上;
步骤S102,将所述批量数据按照所述预设数表方式存入所述预设开源数据库中的批量数仓表上,其中,所述实时数仓表的第一表命名规则和所述批量数仓表的第二表命名规则不同;
终端设备通过按照预设配置的数据表方式,先在预先连接的预设开源数据库当中按照第一表命名规则创建实时数仓表,以及按照与该第一表命名规则不相同的第二表命名规则创建批量数仓表,然后,将获取得到的实时数据以及批量数据,分别存写在该实时数仓表和批量数仓表上,从而将实时数据和批量数据存入预设开源数据库当中。
需要说明的是,在本实施例中,第一表命名规则具体可以为:以“rcs”作为表头规则进行命名,而分区则以8位日期格式—yyyymmdd进行命名;此外,第二表命名规则具体可以为:以“tm/tt”作为表头规则进行命名,而分区则同样以8位日期格式—yyyymmdd进行命名。应当理解的是,在其它可行的实施方式当中,终端设备在保证第一表命名规则与第二表命名规则不同的情况下,当然也可以采用不同于本实施例所列举具体命名规则之外的其它第一表命名规则和第二表命名规则,在预设开源数据库当中分别创建用于存写实时数据和批量数据的数据表,本发明数据仓库的制作方法,并不针对该第一第一表命名规则和第二表命名规则的具体规则内容进行限定。
具体地,例如,请参照如图4所示的应用流程,终端设备可预先基于接收到的开发工作人员输入的配置参数,在已经连接的开源数据库——HDFS中先创建一类数据表并以第一表命名规则:以“rcs”作为表头规则进行命名,而分区则以8位日期格式—yyyymmdd进行命名,来对该类数据表命名从而形成实时数仓表——实时etl(数据仓库技术,全称为Extract-Transform-Load,描述将数据从来源端经过抽取(extract)、转换(transform)、加载(load)至目的端的过程)表,然后,终端设备在该HDFS中再创建另一类数据表并以第二表命名规则:以“tm/tt”作为表头规则进行命名,而分区则同样以8位日期格式—yyyymmdd进行命名,来对该类数据表命名从而形成批量数仓表——日终etl表。如此,终端设备在采集得到实时数据之后,即将该实时数据即时的存写到HDFS中已经创建好的实时etl表上,以及,终端设备在以每一天作为一个时间周期统计实时数据形成以日为单位的批量数据——日终批量数据之后,也按照相同方式将该日终批量数据即时的存写到HDFS中已经创建好的日终etl表上,从而,将实时数据和批量数据均存入HDFS中以供后续进行调用。
在本实施例中,本发明通过终端设备将获取到的实时数据和批量数据都按表方式存入开源数据库中,从而在后续针对该实时数据和/或者该批量数据进行数据加工时,可根据实际需要通过简单易开发spark sql,从对应的实时数仓表和/或者批量数仓表中来进行取数加工,如此,可以实现针对实时数据和该批量数据加工逻辑的统一,无需再分开独立的进行各自实时和批量数据表的开发操作,减少了需求实际开发量,能够极大程度上降低整体开发成本。
此外,相比于现有的实时计算方案中数据不落库,导致只能加工较简单的数据指标,且加工时不适合关联时间跨度超过分钟级的数据的方式,本发明基于将所有的实时数据全部存入到开源数据库中,从而大大突破了数据加工对时间跨度的限制,能够做到在时间跨度达到跨天或者月的场景下,也可以在实时计算中关联数据加工得到结果,而且,即时在当前的实时加工逻辑发生变化时,依然可以对历史数据进行回溯。
步骤S20,根据预设的参数配置在所述预设开源数据库中读取待加工实时数据或者待加工批量数据;
终端设备在将获取得到的实时数据和批量数据都按表方式存入到预设开源数据库中之后,通过接收开发工作人员自定义输入预设的参数配置,判断当前从该预设开源数据库当中提取实时数据作为待加工实时数据进行后续加工,或者提取批量数据作为待加工批量数据进行后续加工。
需要说明的是,在本实施例中,预设的参数配置为终端设备接收到的开发工作人员基于预设开源数据库中,存储实时数据的实时数仓表与存储批量数据的批量数仓表之间的差异,所自定义输入以供终端设备准确区分提取实时数据还是提取批量数据用于数据加工操作的参数。
进一步地,在一种可行的实施例中,终端设备接收到的开发工作人员所自定义输入的参数配置,可以与预设开源数据库中实时数仓表的第一表命名规则或者批量数仓表的第二表命名规则相关联。上述步骤S20,可以包括:
步骤S201,若所述参数配置与所述第一表命名规则相关联,则在所述预设开源数据库中读取所述实时数仓表上的所述实时数据作为待加工实时数据;
终端设备在接收到开发工作人员自定义输入的参数配置后,若该参数配置是开发工作人员基于预设开源数据库中实时数仓表的第一表命名规则进行定义输入,以供终端设备判断到该参数配置与该第一表命名规则相关联的,则终端设备即直接从该实时数仓表上存写的各实时数据当中,提取当前数据加工任务指向的数据作为待加工实时数据。
具体地,例如,请参照如图4所示的应用流程,开发工作人员可以基于实际数据加工任务需要,根据开源数据库——HDFS中实时数仓表——实时etl表的第一表命名规则:以“rcs”作为表头规则进行命名,而分区则以8位日期格式—yyyymmdd进行命名,来输入与该表头规则相一一对应的配置参数1,从而,终端设备基于接收到的该参数配置1后,基于该参数配置1与实时etl表的第一表命名规则中表头规则之间的一一对应关系,判断到该参数配置1是与第一表命名规则相关联的,并可直接按照当前数据加工任务从该实时etl表中提取对应的实时数据作为后续进行加工处理的待加工实时数据。
步骤S202,若所述参数配置与所述第二表命名规则相关联,则在所述预设开源数据库中读取所述实时数仓表上的所述实时数据作为待加工实时数据。
终端设备在接收到开发工作人员自定义输入的参数配置后,若该参数配置是开发工作人员基于预设开源数据库中批量数仓表的第二表命名规则进行定义输入,以供终端设备判断到该参数配置与该第二表命名规则相关联的,则终端设备即直接从该批量数仓表上存写的各批量数据当中,提取当前数据加工任务指向的数据作为待加工批量数据。
具体地,例如,请参照如图4所示的应用流程,开发工作人员可以基于实际数据加工任务需要,根据开源数据库——HDFS中批量数仓表——日终etl表的第二表命名规则:以“tm/tt”作为表头规则进行命名,而分区则同样以8位日期格式—yyyymmdd进行命名,来输入与该表头规则相一一对应的配置参数2,从而,终端设备基于接收到的该参数配置2后,基于该参数配置2与日终etl表的第二表命名规则中表头规则之间的一一对应关系,判断到该参数配置2是与第二表命名规则相关联的,并可直接按照当前数据加工任务从该日终etl表中提取对应的批量数据作为后续进行加工处理的待加工批量数据。
需要说明的是,在本实施例中,开发工作人员输入配置参数以及基于实际需要编写数据加工逻辑针对提取到的待加工实时数据或者待加工批量数据进行数据加工,都是基于开发spark sql实现,而对于批量加工和实时加工逻辑只用通过输入不同参数配置控制提取数据的主表是批量数仓表还是实时数仓表即可(由于批量数仓表和实时数仓表的表头规则不同,则可以通过参数控制),进而,能够实现一份代码通过输入不同参数配置进行多套部署,来达到对批量数据和对实时数据的加工功能能够共用加工代码,进一步降低了整体开发成本。
步骤S30,按照预设的共用加工代码针对所述待加工实时数据或者所述待加工批量数据进行加工得到明细数据;
终端设备在基于接收到的参数配置从预设开源数据库当中提取出待加工实时数据或者待加工批量数据之后,终端设备进一步按照当前数据加工任务以加工明细数据为目的针对该待加工实时数据或者待加工批量数据进行加工得到明细数据。
需要说明的是,在本实施例中,终端设备针对待加工实时数据或者待加工批量数据,加工明细数据为目的进行加工的数据加工逻辑,具体可以由开发工作人员基于实际需要自定义开发spark sql实现,应当理解的是,基于实际应用的不同设计需要,在不同可行的实施方式当中,只要保证针对待加工实时数据或者待加工批量数据的数据加工是以加工明细数据为目的的,那么数据加工逻辑的具体内容当然可以是不同的,本发明数据仓库的制作方法并不针对该数据加工逻辑的具体内容进行限定。
在本实施例中,本发明通过终端设备对批量数据和实时数据的加工都以加工明细数据为目的,而非现有实时指标加工中直接加工出具体的统计值为目的,如此,能够基于明细数据向用户提供更加多维和复杂的查询服务。
步骤S400,将所述明细数据导出至预设查询系统当中以制作得到数据仓库。
终端设备在以加工明细数据目的针对待加工实时数据或者待加工批量数据进行加工得到明细数据之后,进一步根据已经连接好的预设查询系统的更新模式将该明细数据导出到该预设查询系统当中,从而制作得到基于该预设查询系统对外提供多维复杂查询服务的数据仓库。
需要说明的是,在本实施例中,请参照如图4所示的应用流程和图5所示的细化应用流程,预设查询系统为ES(Elastic search,是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口)系统。应当理解的是,基于实际应用的不同设计需要,在其它可行的实施方式当中,终端设备当然也可以连接其它能够提供多维复杂查询服务的系统,从而将加工的明细数据导入到该系统中以制作得到数据仓库,本发明数据仓库的制作方法,并不针对该预设查询系统的种类进行具体的限定。
在本实施例中,本发明基于ES系统可以为所有类型的数据(包括结构化文本、非结构化文本、数字数据或地理空间数据)提供实时的搜索和分析,以及能够以快速搜索的方式有效地对其进行存储和简历索引,不仅可以进行简单的数据检索,还可以聚合信息来发现数据中的趋势和模式的特性,将所加工的明细数据通过更新模式导出到ES系统里制作得到数据仓库,然后通过ES查询服务提供多维复杂查询功能,提升了数据仓库的实用性。
本实施例提供一种数据仓库的制作方法,通过终端设备在基于统计数据制作提供数据分析查询服务的数据仓库的过程中,通过接收开发工作人员输入的配置参数实现对数据来源的订阅以获取实时数据,并按照预设时间周期统计该实时数据以得到批量数据,然后,按照相同的数据表方式将该实时数据和该批量数据都存入到预设开源数据库当中以备后续调用;终端设备在将获取得到的实时数据和批量数据都按表方式存入到预设开源数据库中之后,通过接收开发工作人员自定义输入预设的参数配置,判断当前从该预设开源数据库当中提取实时数据作为待加工实时数据进行后续加工,或者提取批量数据作为待加工批量数据进行后续加工;终端设备在基于接收到的参数配置从预设开源数据库当中提取出待加工实时数据或者待加工批量数据之后,终端设备进一步按照当前数据加工任务以加工明细数据为目的针对该待加工实时数据或者待加工批量数据进行加工得到明细数据;终端设备在以加工明细数据目的针对待加工实时数据或者待加工批量数据进行加工得到明细数据之后,进一步根据已经连接好的预设查询系统的更新模式将该明细数据导出到该预设查询系统当中,从而制作得到基于该预设查询系统对外提供多维复杂查询服务的数据仓库。
与现有针对基于流式数据进行实时加工处理制作数据仓库的方式相比,本发明能够复用相同的共用加工代码来针对实时数据和批量数据进行数据加工,从而无需开发不同代码来独立进行批量数据和实时数据各自数据表的开发操作,不仅提升了数据加工开发效率,还在极大程度上减少了开发成本。此外,由于本发明将实时数据和批量数据都进行了存储,如此,不仅能做到对历史数据的回溯,还能在需要进行基于批量数据的准实时分析时,可提供统一的实时和批量数据加工,提升了数据仓库的实用性和有效性。
进一步的,基于上述第一实施例,提出本发明数据仓库的制作方法的第二实施例,在本实施例中,本方法数据仓库的制作方法,还可以包括:
步骤S50,根据预设的准实时数据加工任务针对述预设开源数据库中的所述实时数据和所述批量数据进行合并加工处理得到实时加工结果,并将所述实时加工结果导出至所述预设查询系统当中。
终端设备在将获取得到的实时数据以及统计的批量数据存入到预设开源数据库当中之后,根据实时接收到或者要周期执行的准实时数据加工任务,从该预设开源数据库当中提取实时数据和与该实时数据相关的批量数据,来一起进行合并加工处理得到实时加工结果,然后同样的将该实时加工结果也基于所连接的预设查询系统的更新模式进行导出,以通过该预设查询系统对外提供查询服务。
需要说明的是,在本实施例中,预设的准实时数据加工任务可以为终端设备基于实时接收到的开发工作人员基于实际需求而开发spark sql生成的数据加工任务,终端设备根据该准实时数据加工任务的计算时效从预设开源数据库当中提取对应实时数据或者批量数据进行即时或者周期性的数据加工处理得到实时加工结果并输出。此外,该计算时效为基于数据加工任务的复杂度以及终端设备自身的计算性能进行计算得到。
进一步地,在一种可行的实施例中,本发明数据仓库的制作方法还包括:
步骤A,基于预设固定时间开销计算单一计算资源处理预设最大支持计算量的计算耗时;
需要说明的是,在本实施例中,预设固定时间开销为分配计算任务耗时,此外,预设最大支持计算量为基于终端设备自身可用计算资源计算处理的周期增量数据量,具体地,例如,终端设备当前以日为周期单位,则该预设最大支持计算量具体为终端设备一个可用计算资源需要计算处理的24小时增量数据量。
具体地,例如,假定该预设固定时间开销为task_time,则终端设备基于试运行操作测算单一计算资源—1vcore(计算资源表示单位)可用的原子计算及存储资源计算处理24小时增量数据量的计算耗时为:
task_time+time_1vcore_24hour
其中,上述计算结果的单位为秒,终端设备单一计算资源已经固定配置好终端设备相应的cpu核数及内存大小。
步骤B,获取实时可用计算资源,并调用预设取整函数根据所述计算耗时和所述预设固定时间开销计算得到所述准实时数据加工任务的最小计算时效,以在执行所述准实时数据加工任务时,按照所述最小计算时效提取所述实时数据和所述批量数据。
终端设备获取当前时刻处于能够用于提供计算服务的实时可用资源,然后调用预先配置的预设取整函数,以单一计算资源计算处理预设最大支持计算量的计算耗时以及预设固定时间开销,来测算在极限状态下要周期执行的准实时数据加工任务的最小计算时效,从而,在执行该准实时数据加工任务时,即可按照该计算时效从预设开源数据库当中提取该计算时效对应的实时数据和与该实时数据相关的批量数据来合并进行后续加工处理。
具体地,例如,假定周期执行的准实时数据加工任务的时间粒度为5分钟,预设取整函数为现有成熟的取整函数—ceil函数,如此,终端设备在当前时刻获取得到实时可用计算资源为N vcore,从而,在计算得到1vcore可用的原子计算及存储资源计算处理24小时增量数据量的计算耗时为:task_time+time_1vcore_24hour的情况下,进一步测算该Nvcore计算资源在极限情况下计算处理24小时增量数据量时,准实时任务加工的最小计算时效:Min_time_delay为:
Min_time_delay=ceil((time_1vcore_24hour/N+task_time)/5)*5。
应当理解的是,基于实际应用的不同设计需要,在其它可行的实施方式当中,该最小计算时效当然也可根据实际数据加工任务的复杂度以及终端设备自身机器性能,从而被测算为其它不同于本实施所列举的计算结果,或者,在其它可行的实施方式当中,该最小计算时效还可以由开发工作人员自行决策并配置给终端设备直接进行设定,本发明数据仓库的制作方法并不针对该最小计算时效的具体大小进行限定。
进一步地,在一种可行的实施例中,上述步骤S50中,“根据预设的准实时数据加工任务针对述预设开源数据库中的所述实时数据和所述批量数据进行合并加工处理得到实时加工结果”的步骤,可以包括:
步骤S501,在接收到所述准实时数据加工任务时,确定所述准实时数据加工任务中携带的时间信息;
终端设备在接收到基于开发工作人员配置生成的准实时数据加工任务时,解析该准实时数据加工任务得到开发工作人员所配置的时间间隔,并将该时间间隔确定为该准实时数据加工任务所携带用于指向要进行加工的数据的时间信息。
步骤S502,从所述实时数据中提取所述时间信息关联的全量实时数据,并从所述批量数据中提取所述时间信息关联的增量数据;
步骤S503,针对所述全量实时数据和所述增量数据进行进行合并加工处理得到实时加工结果。
终端设备在确定出准实时数据加工任务所携带的时间信息之后,基于该时间信息和预设开源数据库中实时数仓表和批量数仓表各自的表命名规则,确定该时间信息所关联的全量实时数据,以及该时间信息所关联的增量数据,然后,从该预设开源数据库中提取出该全量实时数据和增量数据用于进行合并加工处理得到实时加工结果。
进一步地,在一种可行的实施例中,该时间信息可以为日期,上述步骤S502中,“从所述实时数据中提取所述时间信息关联的全量实时数据”的步骤,可以包括:
步骤S5021,检测所述日期在所述实时数据中对应的第一待选全量实时数据是否完成预设的数仓操作,其中,所述数仓操作包括数据抽取、数据转换和数据加载;
需要说明的是,在本实施例中,预设的数仓操作包括数据抽取、数据转换和数据加载。
具体地,例如,请参照图6所示的应用流程,假定终端设备从接收到的准实时数据加工任务确定出的时间信息为:T日(具体格式可以为yyyymmdd),则,终端设备先基于预设开源数据库——HDFS中,实时etl表的第一表命名规则:以“rcs”作为表头规则进行命名,而分区则以8位日期格式—yyyymmdd进行命名,和日终etl表的第二表命名规则:以“tm/tt”作为表头规则进行命名,而分区则同样以8位日期格式—yyyymmdd进行命名,确定该实时etl表和日终etl表中日期与该T日相同的全量实时数据——B日终全量表上存写的第一待选全量实时数据,然后,终端设备开始检测该第一待选全量实时数据是否已经完成了预设的数仓操作——ETL动作:数据抽取、数据转换和数据加载。
步骤S5022,若是,则针对所述第一待选全量实时数据和所述日期的后一日在所述实时数据中对应的第二待选全量实时数据进行去重得到所述全量实时数据;
步骤S5022,若否,则针对所述第一待选全量实时数据、所述第二待选全量实时数据以及所述日期的前一日在所述实时数据中对应的第三待选全量实时数据进行去重得到所述全量实时数据。
具体地,例如,请参照图6所示的应用流程,若终端设备检测到T日的全量实时数据——B日终全量表(T日)上存写的第一待选全量实时数据已经完成了ETL动作,则终端设备即取该第一待选全量实时数据,和T+1日的全量实时数据——B实时表(T+1日)上存写的第二待选全量实时数据,并针对该第一待选全量实时数据和第二待选全量实时数据按主键去重,来得到截至统计时点的全量实时数据——B实时全量表数据;或者,若终端设备检测到T日的全量实时数据——B日终全量表(T日)上存写的第二待选全量实时数据还没有完成ETL动作,则终端设备取T-1日日终全量表B和T及T+1日实时表B去重得到截至统计时点的B实时全量表数据。
进一步地,在本实施例中,请参照图6所示的应用流程,终端设备在基于时间信息:T日检测和提取B实时全量表数据的同时,也同步从预设开源数据库——HDFS中提取与该时间信息:T日相关联的增量数据,即A实时表(T+1日)上存写的数据。然后,终端设备根据该准实时数据加工任务中的数据加工逻辑,针对取得的该B实时全量表和A实时表(T+1日)进行加工得到ES实时结果表,最后,终端设备以更新方式将该ES实时结果表导出到ES系统以对外提供多维实时分析查询服务。
进一步的,基于上述第一实施例和第二实施例,提出本发明数据仓库的制作方法的第三实施例,在本实施例中,本方法数据仓库的制作方法,还可以包括:
步骤S60,根据所述预设查询系统接收到的数据查询任务提供多维实时分析查询服务;
需要说明的是,在本实施例中,预设查询系统为ES系统。应当理解的是,基于实际应用的不同设计需要,在其它可行的实施方式当中,终端设备当然也可以连接其它能够提供多维复杂查询服务的系统,从而将加工的明细数据导入到该系统中以制作得到数据仓库,本发明数据仓库的制作方法,并不针对该预设查询系统的种类进行具体的限定。
在本实施例中,本发明基于ES系统可以为所有类型的数据(包括结构化文本、非结构化文本、数字数据或地理空间数据)提供实时的搜索和分析,以及能够以快速搜索的方式有效地对其进行存储和简历索引,不仅可以进行简单的数据检索,还可以聚合信息来发现数据中的趋势和模式的特性,将所加工的明细数据通过更新模式导出到ES系统里制作得到数据仓库,然后通过ES查询服务提供多维复杂查询功能,提升了数据仓库的实用性。
进一步地,在一种可行的实施例中,本方法数据仓库的制作方法,还可以包括:
步骤S70,根据预设批量校准任务从所述预设查询系统中抽取回流数据来确定校准结果数据,并在所述预设查询系统中基于所述校准结果数据依次更新进行数据校准。
需要说明的是,在本实施例中,考虑到实时数据加工制作数据仓库的过程可能存在数据码流丢失的情况,因此,可按业务场景增加针对数据加工的批量校准。针对数据丢失的主要场景:场景1,数据整体丢失;场景2,数据记录存在,但是丢失了最后一条更新记录;场景3,数据记录存在,但是丢失了中间某几条更新记录,目前常见的数据校准方案大都以批量数据的时间戳和实时结果表(基于上述本发明第二实施例中执行准实时数据加工任务得出)的对应数据时间戳进行比较,若批量数据时间戳更新则将此数据更新到实时结果表上,但是,该数据校准方案对于场景3却难以发现数据存在的差异,即便能发现差异也会因实时数据一直在不停的更新,从而难以准确的进行校准。
具体地,例如,请参照如图7所示的应用流程,终端设备在每日0点将指定的ES实时结果表,反抽回预设开源数据库——HDFS得到T日的ES回流表,并以HIVE表方式针对该ES回流表进行存储和访问;然后,终端设备使用批量数据按实时加工逻辑加工出T日的批量结果表,并比对数据差异得到所有需校准的明细数据,将该明细数据记为T日校准结果表,再然后,依据T日校准结果表明细,依次抽取T+1日目前所有实时加工数据并按时间排序,将T日校准结果表和T+1日实时回溯表更新任务插入ES实时结果表更新队列中依次更新以进行数据校准。
在本实施例中,本发明通过终端设备根据预设批量校准任务从所述预设查询系统中抽取回流数据来确定校准结果数据,并在所述预设查询系统中基于所述校准结果数据依次更新进行数据校准。从而,能够准确的解决数据丢失场景下难以进行数据校准的问题,提升了数据校准效率和数据加工的准确性。
进一步地,本发明还提供一种数据仓库的制作装置。
请参照图8,图8为本发明数据仓库的制作装置一实施例的功能模块示意图。如图8所示,本发明数据仓库的制作装置包括:
数据存储模块10,用于获取实时数据和批量数据,并将所述实时数据和所述批量数据存入至预设开源数据库当中;
数据读取模块20,用于根据预设的参数配置在所述预设开源数据库中读取待加工实时数据或者待加工批量数据;
数据加工模块30,用于按照预设的共用加工代码针对所述待加工实时数据或者所述待加工批量数据进行加工得到明细数据;
数仓制作模块40,用于将所述明细数据导出至预设查询系统当中以制作得到数据仓库。
进一步地,数据存储模块10,包括:
第一存写单元,用于将所述实时数据按照预设数表方式存入所述预设开源数据库中的实时数仓表上;
第二存写单元,用于将所述批量数据按照所述预设数表方式存入所述预设开源数据库中的批量数仓表上,其中,所述实时数仓表的第一表命名规则和所述批量数仓表的第二表命名规则不同。
进一步地,所述参数配置与所述第一表命名规则或者所述第二表命名规则相关联,数据读取模块20,包括:
第一取数单元,用于若所述参数配置与所述第一表命名规则相关联,则在所述预设开源数据库中读取所述实时数仓表上的所述实时数据作为待加工实时数据;或者,
第二取数单元,用于若所述参数配置与所述第二表命名规则相关联,则在所述预设开源数据库中读取所述实时数仓表上的所述实时数据作为待加工实时数据。
进一步地,本发明数据仓库的制作装置,还包括:
任务处理模块,用于根据预设的准实时数据加工任务针对述预设开源数据库中的所述实时数据和所述批量数据进行合并加工处理得到实时加工结果,并将所述实时加工结果导出至所述预设查询系统当中。
进一步地,任务处理模块,包括:
确定单元,用于在接收到所述准实时数据加工任务时,确定所述准实时数据加工任务中携带的时间信息;
第三取数单元,用于从所述实时数据中提取所述时间信息关联的全量实时数据,并从所述批量数据中提取所述时间信息关联的增量数据;
合并加工单元,用于针对所述全量实时数据和所述增量数据进行进行合并加工处理得到实时加工结果。
进一步地,第三取数单元,包括:
检测子单元,用于检测所述日期在所述实时数据中对应的第一待选全量实时数据是否完成预设的数仓操作,其中,所述数仓操作包括数据抽取、数据转换和数据加载;
第一取数子单元,用于针对所述第一待选全量实时数据和所述日期的后一日在所述实时数据中对应的第二待选全量实时数据进行去重得到所述全量实时数据;
第二取数子单元,用于针对所述第一待选全量实时数据、所述第二待选全量实时数据以及所述日期的前一日在所述实时数据中对应的第三待选全量实时数据进行去重得到所述全量实时数据。
进一步地,本发明数据仓库的制作装置,还包括:
任务时效确定模块,用于基于预设固定时间开销计算单一计算资源处理预设最大支持计算量的计算耗时;以及,
获取实时可用计算资源,并调用预设取整函数根据所述计算耗时和所述预设固定时间开销计算得到所述准实时数据加工任务的最小计算时效,以在执行所述准实时数据加工任务时,按照所述最小计算时效提取所述实时数据和所述批量数据。
进一步地,本发明数据仓库的制作装置,还包括:
查询服务模块,用于根据所述预设查询系统接收到的数据查询任务提供多维实时分析查询服务;以及,
批量校准模块,用于根据预设批量校准任务从所述预设查询系统中抽取回流数据来确定校准结果数据,并在所述预设查询系统中基于所述校准结果数据依次更新进行数据校准。
其中,上述本发明数据仓库的制作装置中各个模块的功能实现与上述数据仓库的制作方法实施例中各步骤相对应,其功能和实现过程在此处不再一一赘述。
本发明还提供一种计算机存储介质,该计算机存储介质上存储有数据仓库的制作程序,所述数据仓库的制作程序被处理器执行时实现如以上任一项实施例所述的数据仓库的制作方法的步骤。
本发明计算机存储介质的具体实施例与上述数据仓库的制作方法各实施例基本相同,在此不作赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (11)

1.一种数据仓库的制作方法,其特征在于,所述数据仓库的制作方法包括:
获取实时数据和批量数据,并将所述实时数据和所述批量数据存入至预设开源数据库当中;
根据预设的参数配置在所述预设开源数据库中读取待加工实时数据或者待加工批量数据;
按照预设的共用加工代码针对所述待加工实时数据或者所述待加工批量数据进行加工得到明细数据;
将所述明细数据导出至预设查询系统当中以制作得到数据仓库。
2.如权利要求1所述的数据仓库的制作方法,其特征在于,所述将所述实时数据和所述批量数据存入至预设开源数据库当中的步骤,包括:
将所述实时数据按照预设数表方式存入所述预设开源数据库中的实时数仓表上;
将所述批量数据按照所述预设数表方式存入所述预设开源数据库中的批量数仓表上,其中,所述实时数仓表的第一表命名规则和所述批量数仓表的第二表命名规则不同。
3.如权利要求2所述的数据仓库的制作方法,其特征在于,所述参数配置与所述第一表命名规则或者所述第二表命名规则相关联,
所述根据预设的参数配置在所述预设开源数据库中读取待加工实时数据或者待加工批量数据的步骤,包括:
若所述参数配置与所述第一表命名规则相关联,则在所述预设开源数据库中读取所述实时数仓表上的所述实时数据作为待加工实时数据;或者,
若所述参数配置与所述第二表命名规则相关联,则在所述预设开源数据库中读取所述实时数仓表上的所述实时数据作为待加工实时数据。
4.如权利要求1所述的数据仓库的制作方法,其特征在于,所述数据仓库的制作方法,还包括:
根据预设的准实时数据加工任务针对述预设开源数据库中的所述实时数据和所述批量数据进行合并加工处理得到实时加工结果,并将所述实时加工结果导出至所述预设查询系统当中。
5.如权利要求4所述的数据仓库的制作方法,其特征在于,所述根据预设的准实时数据加工任务针对述预设开源数据库中的所述实时数据和所述批量数据进行合并加工处理得到实时加工结果的步骤,包括:
在接收到所述准实时数据加工任务时,确定所述准实时数据加工任务中携带的时间信息;
从所述实时数据中提取所述时间信息关联的全量实时数据,并从所述批量数据中提取所述时间信息关联的增量数据;
针对所述全量实时数据和所述增量数据进行进行合并加工处理得到实时加工结果。
6.如权利要求5所述的数据仓库的制作方法,其特征在于,所述时间信息为日期,所述从所述实时数据中提取所述时间信息关联的全量实时数据的步骤,包括:
检测所述日期在所述实时数据中对应的第一待选全量实时数据是否完成预设的数仓操作,其中,所述数仓操作包括数据抽取、数据转换和数据加载;
若是,则针对所述第一待选全量实时数据和所述日期的后一日在所述实时数据中对应的第二待选全量实时数据进行去重得到所述全量实时数据;
若否,则针对所述第一待选全量实时数据、所述第二待选全量实时数据以及所述日期的前一日在所述实时数据中对应的第三待选全量实时数据进行去重得到所述全量实时数据。
7.如权利要求4至6任一项所述的数据仓库的制作方法,其特征在于,所述数据仓库的制作方法,还包括:
基于预设固定时间开销计算单一计算资源处理预设最大支持计算量的计算耗时;
获取实时可用计算资源,并调用预设取整函数根据所述计算耗时和所述预设固定时间开销计算得到所述准实时数据加工任务的最小计算时效,以在执行所述准实时数据加工任务时,按照所述最小计算时效提取所述实时数据和所述批量数据。
8.如权利要求1或者6所述的数据仓库的制作方法,其特征在于,所述数据仓库的制作方法,还包括:
根据所述预设查询系统接收到的数据查询任务提供多维实时分析查询服务;以及,
根据预设批量校准任务从所述预设查询系统中抽取回流数据来确定校准结果数据,并在所述预设查询系统中基于所述校准结果数据依次更新进行数据校准。
9.一种数据仓库的制作装置,其特征在于,所述数据仓库的制作装置包括:
数据存储模块,用于获取实时数据和批量数据,并将所述实时数据和所述批量数据存入至预设开源数据库当中;
数据读取模块,用于根据预设的参数配置在所述预设开源数据库中读取待加工实时数据或者待加工批量数据;
数据加工模块,用于按照预设的共用加工代码针对所述待加工实时数据或者所述待加工批量数据进行加工得到明细数据;
数仓制作模块,用于将所述明细数据导出至预设查询系统当中以制作得到数据仓库。
10.一种终端设备,其特征在于,所述终端设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的数据仓库的制作程序,所述数据仓库的制作程序被所述处理器执行时实现如权利要求1至8中任一项所述的数据仓库的制作方法的步骤。
11.一种计算机存储介质,其特征在于,所述计算机存储介质上存储有数据仓库的制作程序,所述数据仓库的制作程序被处理器执行时实现如权利要求1至8中任一项所述的数据仓库的制作方法的步骤。
CN202011535886.1A 2020-12-23 2020-12-23 数据仓库的制作方法、装置、终端设备及计算机存储介质 Pending CN112650777A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011535886.1A CN112650777A (zh) 2020-12-23 2020-12-23 数据仓库的制作方法、装置、终端设备及计算机存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011535886.1A CN112650777A (zh) 2020-12-23 2020-12-23 数据仓库的制作方法、装置、终端设备及计算机存储介质

Publications (1)

Publication Number Publication Date
CN112650777A true CN112650777A (zh) 2021-04-13

Family

ID=75359438

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011535886.1A Pending CN112650777A (zh) 2020-12-23 2020-12-23 数据仓库的制作方法、装置、终端设备及计算机存储介质

Country Status (1)

Country Link
CN (1) CN112650777A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113868525A (zh) * 2021-09-27 2021-12-31 支付宝(杭州)信息技术有限公司 基于流批配合的累计独立访问量确定方法、装置及设备
CN114116842A (zh) * 2021-11-25 2022-03-01 上海柯林布瑞信息技术有限公司 多维医疗数据实时获取方法、装置、电子设备及存储介质

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113868525A (zh) * 2021-09-27 2021-12-31 支付宝(杭州)信息技术有限公司 基于流批配合的累计独立访问量确定方法、装置及设备
CN114116842A (zh) * 2021-11-25 2022-03-01 上海柯林布瑞信息技术有限公司 多维医疗数据实时获取方法、装置、电子设备及存储介质
CN114116842B (zh) * 2021-11-25 2023-05-19 上海柯林布瑞信息技术有限公司 多维医疗数据实时获取方法、装置、电子设备及存储介质

Similar Documents

Publication Publication Date Title
CN111767143B (zh) 交易数据处理方法、装置、设备及系统
JP6667931B2 (ja) 音声情報から時間情報を認識するための方法およびデバイス
CN109388657B (zh) 数据处理方法、装置、计算机设备及存储介质
CN110309172B (zh) 一种数据计算方法、系统、装置及电子设备
CN110781183B (zh) Hive数据库中增量数据的处理方法、装置以及计算机设备
CN112396462B (zh) 基于Clickhouse的人群圈选方法及装置
CN111241182A (zh) 数据处理方法和装置、存储介质和电子装置
CN112650777A (zh) 数据仓库的制作方法、装置、终端设备及计算机存储介质
US20170279970A1 (en) Dynamically generating an aggregation routine
CN113642300A (zh) 一种报表生成方法、装置、电子设备及计算机可读介质
CN111061758A (zh) 数据存储方法、装置及存储介质
CN108960672B (zh) 限额限次的风控方法、装置及计算机可读存储介质
CN113190517A (zh) 数据集成方法、装置、电子设备和计算机可读介质
CN116595106A (zh) 一种用户分群方法、设备及存储介质
CN110728118B (zh) 跨数据平台的数据处理方法、装置、设备及存储介质
CN111522840A (zh) 标签的配置方法、装置、设备及计算机可读存储介质
US20230083123A1 (en) State-Sequence Pathing
CN115905168A (zh) 自适应压缩方法和压缩装置、计算机设备、存储介质
CN114741392A (zh) 数据查询方法、装置、电子设备及存储介质
CN113377604B (zh) 一种数据处理方法、装置、设备和存储介质
CN115795187A (zh) 资源访问方法、装置及设备
CN114328486A (zh) 基于模型的数据质量核查方法及装置
CN115017185A (zh) 一种数据处理方法、装置及存储介质
CN110134728B (zh) 一种基于全文搜索提供地图空间数据的方法及系统
CN115914120B (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