CN109597842A - 数据实时计算方法、装置、设备及计算机可读存储介质 - Google Patents
数据实时计算方法、装置、设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN109597842A CN109597842A CN201811539993.4A CN201811539993A CN109597842A CN 109597842 A CN109597842 A CN 109597842A CN 201811539993 A CN201811539993 A CN 201811539993A CN 109597842 A CN109597842 A CN 109597842A
- Authority
- CN
- China
- Prior art keywords
- real
- time
- data
- days
- configuration
- 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
Links
- 238000004364 calculation method Methods 0.000 title claims abstract description 146
- 238000003860 storage Methods 0.000 title claims abstract description 65
- 238000000034 method Methods 0.000 claims description 33
- 230000008520 organization Effects 0.000 claims description 15
- 235000013399 edible fruits Nutrition 0.000 claims description 3
- 230000005540 biological transmission Effects 0.000 claims description 2
- 238000003825 pressing Methods 0.000 claims description 2
- 238000011161 development Methods 0.000 abstract description 14
- 238000010586 diagram Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 238000012423 maintenance Methods 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000003754 machining Methods 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Abstract
本发明公开了一种数据实时计算方法。所述数据实时计算方法包括:在接收到配置端发送的配置指令时,对所述配置指令进行解析,得到配置信息;根据所述配置信息生成计算任务,根据所述计算任务对数据源进行计算,并将计算结果存储至预设Hbase数据库中;在接收到查询端发送的数据实时计算请求时,根据所述数据实时计算请求获取对应的目标指标信息和目标时间范围;根据所述目标指标信息和所述目标时间范围按预设规则从所述预设Hbase数据库中获取对应的指标数据,并根据所述指标数据计算得到实时数值。本发明还公开了一种数据实时计算装置、设备及计算机可读存储介质。本发明能够实现减少开发成本,同时提高代码复用率。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及一种数据实时计算方法、装置、设备及计算机可读存储介质。
背景技术
近年来,随着信息通讯技术和互联网的发展,大数据场景越来越多,随之存在各种数据实时计算业务。目前流行的实时计算引擎有strom(原生实时流处理框架),sparkstreaming(把流看成微批次处理的准实时流处理框架),flink(原生实时流处理框架)等,但在进行数据实时计算时,使用其中任一种,都需要针对每个场景逐例来写计算任务。例如,在计算带有类似“最近7天”这种时间范围维度的指标时,需写入包括当日实时计算任务和历史6日的批量计算任务的计算任务,以计算当日实时指标值和最近6日批量指标值;而当更改指标的时间范围时,如改为“最近3天”时,又需重新写入新的批量任务,以重新计算历史2日的批量指标值,从而导致开发成本较高,代码复用率低。
发明内容
本发明的主要目的在于提供一种数据实时计算方法、装置、设备及计算机可读存储介质,旨在实现减少开发成本,同时提高代码复用率。
为实现上述目的,本发明提供一种数据实时计算方法,所述数据实时计算方法包括:
在接收到配置端发送的配置指令时,对所述配置指令进行解析,得到配置信息;
根据所述配置信息生成计算任务,根据所述计算任务对数据源进行计算,并将计算结果存储至预设Hbase数据库中;
在接收到查询端发送的数据实时计算请求时,根据所述数据实时计算请求获取对应的目标指标信息和目标时间范围;
根据所述目标指标信息和所述目标时间范围按预设规则从所述预设Hbase数据库中获取对应的指标数据,并根据所述指标数据计算得到实时数值。
可选地,所述配置信息包括指标信息、实时计算周期、离线计算周期和计算逻辑,所述根据所述配置信息生成计算任务,并根据所述计算任务对数据源进行计算,并将计算结果存储至预设Hbase数据库中的步骤包括:
根据所述实时计算周期和所述计算逻辑生成实时计算任务,并根据所述离线计算周期和所述计算逻辑生成离线计算任务;
根据所述实时计算任务从kafka集群中获取与所述指标信息对应的实时指标数据源并进行计算,得到实时计算结果;
根据所述离线计算任务从预设数据仓库中获取与所述指标信息对应的离线指标数据源并进行计算,得到离线计算结果;
将所述实时计算结果和所述离线计算结果存储至预设Hbase数据库中。
可选地,当所述目标时间范围为近n日,当前日期为T日时,所述根据所述目标指标信息和所述目标时间范围按预设规则从所述预设Hbase数据库中获取对应的指标数据,并根据所述指标数据计算得到实时数值的步骤,包括:
根据所述目标指标信息和目标时间范围从所述预设Hbase数据库中获取对应的指标数据,所述指标数据包括T日实时指标值、截止至T-1日的历史指标总值和截止至T-n日的历史指标总值;
根据所述T日实时指标值、所述截止至T-1日的历史指标总值和所述截止至T-n日的历史指标总值,按预设计算公式计算得到实时数值;
其中,所述预设计算公式为:
S=ST+ST-1-ST-n
其中,S为所述实时数值,ST为所述T日实时指标值,ST-1为所述截止至T-1日的历史指标总值,ST-n为所述截止至T-n日的历史指标总值。
可选地,所述配置信息还包括存储结构和存储表名,所述将计算结果存储至预设Hbase数据库中的步骤,包括:
将所述计算结果按所述存储结构存储至预设Hbase数据库中与所述存储表名对应的存储表中;
所述根据所述目标指标信息和所述目标时间范围按预设规则从所述预设Hbase数据库中获取对应的指标数据的步骤包括:
根据所述目标指标信息和所述目标时间范围按预设规则从所述预设Hbase数据库中对应的存储表中获取对应的指标数据。
可选地,所述配置信息还包括展示样式,所述根据所述指标数据计算得到实时数值的步骤之后,所述方法还包括:
将所述实时数值按与所述配置信息对应的展示样式进行展示。
可选地,所述在接收到配置端发送的配置指令时,对所述配置指令进行解析,得到配置信息的步骤之前,所述方法还包括:
在接收到所述配置端发送的配置请求时,根据所述配置请求显示对应的配置界面,以供工作人员基于所述配置界面触发所述配置指令。
此外,为实现上述目的,本发明还提供一种数据实时计算装置,所述数据实时计算装置包括:
配置信息获取模块,用于在接收到配置端发送的配置指令时,对所述配置指令进行解析,得到配置信息;
计算结果存储模块,用于根据所述配置信息生成计算任务,根据所述计算任务对数据源进行计算,并将计算结果存储至预设Hbase数据库中;
目标信息获取模块,用于在接收到查询端发送的数据实时计算请求时,根据所述数据实时计算请求获取对应的目标指标信息和目标时间范围;
实时数值计算模块,用于根据所述目标指标信息和所述目标时间范围按预设规则从所述预设Hbase数据库中获取对应的指标数据,并根据所述指标数据计算得到实时数值。
可选地,所述配置信息包括指标信息、实时计算周期、离线计算周期和计算逻辑,所述计算结果存储模块包括:
计算任务生成单元,用于根据所述实时计算周期和所述计算逻辑生成实时计算任务,并根据所述离线计算周期和所述计算逻辑生成离线计算任务;
实时计算单元,用于根据所述实时计算任务从kafka集群中获取与所述指标信息对应的实时指标数据源并进行计算,得到实时计算结果;
离线计算单元,用于根据所述离线计算任务从预设数据仓库中获取与所述指标信息对应的离线指标数据源并进行计算,得到离线计算结果;
计算结果存储单元,用于将所述实时计算结果和所述离线计算结果存储至预设Hbase数据库中。
可选地,当所述目标时间范围为近n日,当前日期为T日时,所述实时数值计算模块包括:
指标数据获取单元,用于根据所述目标指标信息和目标时间范围从所述预设Hbase数据库中获取对应的指标数据,所述指标数据包括T日实时指标值、截止至T-1日的历史指标总值和截止至T-n日的历史指标总值;
实时数值计算单元,用于根据所述T日实时指标值、所述截止至T-1日的历史指标总值和所述截止至T-n日的历史指标总值,按预设计算公式计算得到实时数值;
其中,所述预设计算公式为:
S=ST+ST-1-ST-n
其中,S为所述实时数值,ST为所述T日实时指标值,ST-1为所述截止至T-1日的历史指标总值,ST-n为所述截止至T-n日的历史指标总值。
此外,为实现上述目的,本发明还提供一种数据实时计算设备,所述数据实时计算设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的数据实时计算程序,所述数据实时计算程序被所述处理器执行时实现如上所述的数据实时计算方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有数据实时计算程序,所述数据实时计算程序被处理器执行时实现如上所述的数据实时计算方法的步骤。
本发明提供一种数据实时计算方法、装置、设备及计算机可读存储介质,在接收到配置端发送的配置端发送的配置指令时,对该配置指令进行解析,得到配置信息;根据配置信息生成计算任务,进而根据计算任务对数据源进行计算,并将计算结果存储至预设Hbase数据库中;在接收到查询端发送的数据实时计算请求时,根据该数据实时计算请求获取对应的目标指标信息和目标时间范围;根据目标指标信息和目标时间范围按预设规则从预设Hbase数据库中获取对应的指标数据,并根据获取到的指标数据计算得到实时数值。本发明中,在配置计算逻辑时,通过SQL实现,同时将实时计算与离线计算的计算代码统一,可提高代码复用率,减少开发工作量,此外,在进行数据实时计算时,对计算方式进行了改进,可灵活支持不同时间范围的计算需求,无需在时间范围改变时,重新写入新的离线批量任务,从而可提高代码复用率,无需开发维护其他离线批量任务,从而可减少开发成本和维护成本。
附图说明
图1为本发明实施例方案涉及的硬件运行环境的设备结构示意图;
图2为本发明数据实时计算方法第一实施例的流程示意图;
图3为本发明数据实时计算方法涉及的一系统架构示意图;
图4为本发明数据实时计算装置第一实施例的功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
参照图1,图1为本发明实施例方案涉及的硬件运行环境的设备结构示意图。
本发明实施例数据实时计算设备可以是服务器,也可以是PC(PersonalComputer,个人计算机)、平板电脑、便携计算机等终端设备。
如图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中存储的数据实时计算程序,并执行以下操作:
在接收到配置端发送的配置指令时,对所述配置指令进行解析,得到配置信息;
根据所述配置信息生成计算任务,根据所述计算任务对数据源进行计算,并将计算结果存储至预设Hbase数据库中;
在接收到查询端发送的数据实时计算请求时,根据所述数据实时计算请求获取对应的目标指标信息和目标时间范围;
根据所述目标指标信息和所述目标时间范围按预设规则从所述预设Hbase数据库中获取对应的指标数据,并根据所述指标数据计算得到实时数值。
进一步地,所述配置信息包括指标信息、实时计算周期、离线计算周期和计算逻辑,处理器1001可以调用存储器1005中存储的数据实时计算程序,还执行以下操作:
根据所述实时计算周期和所述计算逻辑生成实时计算任务,并根据所述离线计算周期和所述计算逻辑生成离线计算任务;
根据所述实时计算任务从kafka集群中获取与所述指标信息对应的实时指标数据源并进行计算,得到实时计算结果;
根据所述离线计算任务从预设数据仓库中获取与所述指标信息对应的离线指标数据源并进行计算,得到离线计算结果;
将所述实时计算结果和所述离线计算结果存储至预设Hbase数据库中。
进一步地,当所述目标时间范围为近n日,当前日期为T日时,处理器1001可以调用存储器1005中存储的数据实时计算程序,还执行以下操作:
根据所述目标指标信息和目标时间范围从所述预设Hbase数据库中获取对应的指标数据,所述指标数据包括T日实时指标值、截止至T-1日的历史指标总值和截止至T-n日的历史指标总值;
根据所述T日实时指标值、所述截止至T-1日的历史指标总值和所述截止至T-n日的历史指标总值,按预设计算公式计算得到实时数值;
其中,所述预设计算公式为:
S=ST+ST-1-ST-n
其中,S为所述实时数值,ST为所述T日实时指标值,ST-1为所述截止至T-1日的历史指标总值,ST-n为所述截止至T-n日的历史指标总值。
进一步地,所述配置信息还包括存储结构和存储表名,处理器1001可以调用存储器1005中存储的数据实时计算程序,还执行以下操作:
将所述计算结果按所述存储结构存储至预设Hbase数据库中与所述存储表名对应的存储表中;
所述根据所述目标指标信息和所述目标时间范围按预设规则从所述预设Hbase数据库中获取对应的指标数据的步骤包括:
根据所述目标指标信息和所述目标时间范围按预设规则从所述预设Hbase数据库中对应的存储表中获取对应的指标数据。
进一步地,所述配置信息还包括展示样式,处理器1001可以调用存储器1005中存储的数据实时计算程序,还执行以下操作:
将所述实时数值按与所述配置信息对应的展示样式进行展示。
本发明数据实时计算设备的具体实施例与下述数据实时计算方法的各具体实施例基本相同,在此不作赘述。
基于上述硬件结构,提出本发明数据实时计算方法的各实施例。
本发明提供一种数据实时计算方法。
参照图2,图2为本发明数据实时计算方法第一实施例的流程示意图。
在本实施例中,该数据实时计算方法包括:
步骤S10,在接收到配置端发送的配置指令时,对所述配置指令进行解析,得到配置信息;
目前流行的实时计算引擎有strom(原生实时流处理框架),spark streaming(把流看成微批次处理的准实时流处理框架),flink(原生实时流处理框架)等,但在进行数据实时计算时,使用其中任一种,都需要针对每个场景逐例来写计算任务。例如,在计算带有类似“最近7天”这种时间范围维度的指标时,需写入包括当日实时计算任务和历史6日的批量计算任务的计算任务,以计算当日实时指标值和最近6日批量指标值;而当更改指标的时间范围时,如改为“最近3天”时,又需重新写入新的批量任务,以重新计算历史2日的批量指标值,从而导致开发成本较高,代码复用率低。对此,本发明提供一种数据实时计算方法,在配置计算逻辑时,通过SQL实现,同时将实时计算与离线计算的计算代码统一,可提高代码复用率,减少开发工作量,此外,在进行数据实时计算时,对计算方式进行了改进,可灵活支持不同时间范围的计算需求,无需在时间范围改变时,重新写入新的离线批量任务,从而可提高代码复用率,无需开发维护其他离线批量任务,从而可减少开发成本和维护成本。
在本实施例中,该数据实时计算方法基于图3所示的系统架构示意图来实现,参照图3,业务系统中产生业务数据时,可通过kafka producer(kafka生产者,kafka是一种高吞吐量的分布式发布订阅消息系统)将业务消息上报给kafka server(kafka服务器),作为实时计算的数据源。同时在本地MySQL(关系型数据库管理系统)中建流水表,记录上报的明细,进而通过ETL(Extract-Transform-Load,数据抽取、交互转换、加载)抽数任务将MySQL中的数据抽取到预设数据仓库中,作为数据仓库离线计算的数据源。该系统中还包括配置中心、查询中心、Hbase数据库,其中,配置中心是供工作人员进行指标信息、计算逻辑、存储信息、展示样式等信息的配置,查询中心是供查询者进行数据的实时查询,Hbase(分布式列数据库)是用于存储实时计算结果和离线计算结果。该系统可支持后台配置接入,只需标明输入源数据格式、计算逻辑与结果存储模式即可,可以动态发布和暂停任务,并支持多种图表配置查看结果,从而使得实现数据实时计算的门槛变得很低,可大大减少开发成本。
在上述步骤S10之前,该数据实时计算方法还包括:
在接收到所述配置端发送的配置请求时,根据所述配置请求显示对应的配置界面,以供工作人员基于所述配置界面触发所述配置指令。
在本实施例中,在接收到配置端(如智能手机、PC等)发送的配置请求时,根据该配置请求显示对应的配置界面,以供工作人员基于该配置界面触发配置指令。其中,在该配置界面中,至少包括指标信息、指标计算逻辑的配置板块,还可以包括但不限于存储信息、展示样式等其他配置板块。其中,指标信息的配置板块,以金融场景为例,可以配置银行名称和指标名称等信息;指标计算逻辑的配置板块,可以配置实时计算周期、离线计算周期和计算逻辑,对于计算逻辑的配置可采用SQL(Structured Query Language,结构化查询语言)函数来书写;存储信息的配置板块,可以配置存储结构和存储表名等信息;展示样式的配置板块,可以配置展示方式。其中,计算逻辑完全由SQL实现,同时将实时计算与离线计算的计算代码统一,可大大减少开发工作量,从而减少开发成本,同时提高代码复用率。
数据实时计算设备在接收到配置端发送的配置端发送的配置指令时,对该配置指令进行解析,得到配置信息。
步骤S20,根据所述配置信息生成计算任务,根据所述计算任务对数据源进行计算,并将计算结果存储至预设Hbase数据库中;
在得到配置信息之后,根据配置信息生成计算任务,进而根据计算任务对数据源进行计算,并将计算结果存储至预设Hbase数据库中。其中,所述配置信息包括指标信息、实时计算周期、离线计算周期和计算逻辑,步骤S20包括:
步骤a1,根据所述实时计算周期和所述计算逻辑生成实时计算任务,并根据所述离线计算周期和所述计算逻辑生成离线计算任务;
在本实施例中,配置信息包括指标信息、实时计算周期、离线计算周期和计算逻辑,在得到配置信息之后,先根据实时计算周期和计算逻辑生成实时计算任务,并根据离线计算周期和计算逻辑生成离线计算任务,其中,实时计算周期和离线计算周期是针对指标分别进行设置的,在具体实施例中,也可以是预先设置好的,所有指标共用同一实时计算周期和离线计算周期,如实时计算周期可设为5~10s,离线计算周期设为1天。
步骤a2,根据所述实时计算任务从kafka集群中获取与所述指标信息对应的实时指标数据源并进行计算,得到实时计算结果;
然后根据实时计算任务从kafka集群中获取与该指标信息对应的实时指标数据源并进行计算,得到实时计算结果。具体的,在进行实时计算时,从kafka集群中获取与该指标信息对应的实时指标数据源,可以看作数据流,然后将数据流按实时计算周期切分为微小的批次(micro batch),进而在这些微批次中执行配置的计算逻辑,计算得到实时计算结果。
步骤a3,根据所述离线计算任务从预设数据仓库中获取与所述指标信息对应的离线指标数据源并进行计算,得到离线计算结果;
根据离线计算任务从预设数据仓库中获取与该指标信息对应的离线指标数据源并进行计算,得到离线计算结果。例如,离线计算周期设为1天时,可每隔一天获取离线指标数据源并进行计算,以得到截止至计算前一天的指标总值。
需要说明的是,步骤a2和a3的执行顺序不分先后。
步骤a4,将所述实时计算结果和所述离线计算结果存储至预设Hbase数据库中。
在得到实时计算结果和离线计算结果后,将其存储至预设Hbase数据库中。
需要说明的是,因为实时计算整个过程链路较长,难免出现消息丢失,或者调用超时等异常场景,使得最终计算结果不够准确。对此,可使用离线计算任务进行T+1校准,具体的,实时计算只计算T日结果,按天存放,当到了T+1日时运行离线任务,通过计算T+1日的离线计算结果与T日的离线计算结果可得到T日的结果,以对T日的实时计算结果进行修正校准。通过此方法可保证金融系统的数据结果的高精准要求。
步骤S30,在接收到查询端发送的数据实时计算请求时,根据所述数据实时计算请求获取对应的目标指标信息和目标时间范围;
在接收到查询端发送的数据实时计算请求时,根据该数据实时计算请求获取对应的目标指标信息和目标时间范围。其中,以金融场景为例,目标指标信息可以包括目标银行名称和指标名称,目标时间范围可以是近n日,也可以是当日。例如,查询者进行查询时,可以查询近n日A银行的B指标的实时数据,也可以查询当日A银行的B指标的实时数据。
步骤S40,根据所述目标指标信息和所述目标时间范围按预设规则从所述预设Hbase数据库中获取对应的指标数据,并根据所述指标数据计算得到实时数值。
根据目标指标信息和目标时间范围按预设规则从预设Hbase数据库中获取对应的指标数据,并根据获取到的指标数据计算得到实时数值。具体的,当所述目标时间范围为近n日,当前日期为T日时,步骤S40包括:
步骤b1,根据所述目标指标信息和目标时间范围从所述预设Hbase数据库中获取对应的指标数据,所述指标数据包括T日实时指标值、截止至T-1日的历史指标总值和截止至T-n日的历史指标总值;
步骤b2,根据所述T日实时指标值、所述截止至T-1日的历史指标总值和所述截止至T-n日的历史指标总值,按预设计算公式计算得到实时数值;
其中,所述预设计算公式为:
S=ST+ST-1-ST-n
其中,S为所述实时数值,ST为所述T日实时指标值,ST-1为所述截止至T-1日的历史指标总值,ST-n为所述截止至T-n日的历史指标总值。
在本实施例中,当目标时间范围为近n日,当前日期为T日时,根据目标指标信息和目标时间范围从预设Hbase数据库中获取对应的指标数据,指标数据包括T日实时指标值、截止至T-1日的历史指标总值和截止至T-n日的历史指标总值,然后根据T日实时指标值、截止至T-1日的历史指标总值和截止至T-n日的历史指标总值计算得到实时数值,具体的,实时数值=T日实时指标值+截止至T-1日的历史指标总值-截止至T-n日的历史指标总值。通过上述方式,离线批量加工逻辑只需计算截止至T-1日的指标总值,可灵活支持“最近n天”的计算需求,提高代码复用率,无需开发维护其他离线批量任务,从而可减少开发成本和维护成本。
当然,可以理解的是,本发明也适用于查询当日数据实时计算场景,即查询者需查询当日某一指标的实时数据时,可直接从该预设Hbase数据库中获取对应的实时指标数据。
本发明实施例提供一种数据实时计算方法,在接收到配置端发送的配置端发送的配置指令时,对该配置指令进行解析,得到配置信息;根据配置信息生成计算任务,进而根据计算任务对数据源进行计算,并将计算结果存储至预设Hbase数据库中;在接收到查询端发送的数据实时计算请求时,根据该数据实时计算请求获取对应的目标指标信息和目标时间范围;根据目标指标信息和目标时间范围按预设规则从预设Hbase数据库中获取对应的指标数据,并根据获取到的指标数据计算得到实时数值。本发明中,在配置计算逻辑时,通过SQL实现,同时将实时计算与离线计算的计算代码统一,可提高代码复用率,减少开发工作量,此外,在进行数据实时计算时,对计算方式进行了改进,可灵活支持不同时间范围的计算需求,无需在时间范围改变时,重新写入新的离线批量任务,从而可提高代码复用率,无需开发维护其他离线批量任务,从而可减少开发成本和维护成本。
进一步的,基于上述第一实施例,提出本发明数据实时计算方法第二实施例。
在本实施例中,所述配置信息还包括存储结构和存储表名,所述步骤“将计算结果存储至预设Hbase数据库中”包括:
将所述计算结果按所述存储结构存储至预设Hbase数据库中与所述存储表名对应的存储表中;
此时,步骤“根据所述目标指标信息和所述目标时间范围按预设规则从所述预设Hbase数据库中获取对应的指标数据”包括:
根据所述目标指标信息和所述目标时间范围按预设规则从所述预设Hbase数据库中对应的存储表中获取对应的指标数据。
在本实施例中,工作人员在进行配置时,除对指标信息和计算逻辑进行配置外,还可以对存储部分进行灵活配置,具体的,可以配置存储结构和存储表名。对应的,配置信息还可以包括存储结构和存储表名,在根据计算任务对数据源进行计算之后,可以将计算结果按该存储结构存储至预设Hbase数据库中与该存储表名对应的存储表中,进而在接收到数据实时计算请求时,根据目标指标信息和目标时间范围按预设规则从预设Hbase数据库中对应的存储表中获取对应的指标数据。本实施例中通过配置存储结构和存储表名,可便于后续指标数据的查找,同时也便于指标数据的管理。
进一步的,基于上述第一实施例和第二实施例,提出本发明数据实时计算方法第三实施例。
在本实施例中,所述配置信息还包括展示样式,在步骤S40之后,所述数据实时计算方法还包括:
将所述实时数值按与所述配置信息对应的展示样式进行展示。
在本实施例中,工作人员在进行配置时,还可以针对不同的指标配置不同的展示样式,从而可将计算得到的实时数值按对应的展示样式进行展示,以便于查询者查看。具体的,该配置信息还包括展示样式,展示样式可以包括但不限于:数字翻牌器展示和图表展示(如柱状图、折线图、饼图等)。在计算得到实时数值之后,可以将实时数值按与该配置信息对应的展示样式进行展示。例如,对于数字翻牌器展示,可以在数字翻牌器中实时更新显示实时计算得到的实时数值。对于折线图展示,可每隔一预设时间在图中添加实时计算得到的实时数值点,并进行折线连接。
本发明还提供一种数据实时计算装置。
参照图4,图4为本发明数据实时计算装置第一实施例的功能模块示意图。
在本实施例中,所述数据实时计算装置包括:
配置信息获取模块10,用于在接收到配置端发送的配置指令时,对所述配置指令进行解析,得到配置信息;
计算结果存储模块20,用于根据所述配置信息生成计算任务,根据所述计算任务对数据源进行计算,并将计算结果存储至预设Hbase数据库中;
目标信息获取模块30,用于在接收到查询端发送的数据实时计算请求时,根据所述数据实时计算请求获取对应的目标指标信息和目标时间范围;
实时数值计算模块40,用于根据所述目标指标信息和所述目标时间范围按预设规则从所述预设Hbase数据库中获取对应的指标数据,并根据所述指标数据计算得到实时数值。
进一步的,所述配置信息包括指标信息、实时计算周期、离线计算周期和计算逻辑,所述计算结果存储模块20包括:
计算任务生成单元,用于根据所述实时计算周期和所述计算逻辑生成实时计算任务,并根据所述离线计算周期和所述计算逻辑生成离线计算任务;
实时计算单元,用于根据所述实时计算任务从kafka集群中获取与所述指标信息对应的实时指标数据源并进行计算,得到实时计算结果;
离线计算单元,用于根据所述离线计算任务从预设数据仓库中获取与所述指标信息对应的离线指标数据源并进行计算,得到离线计算结果;
计算结果存储单元,用于将所述实时计算结果和所述离线计算结果存储至预设Hbase数据库中。
进一步的,当所述目标时间范围为近n日,当前日期为T日时,所述实时数值计算模块40包括:
指标数据获取单元,用于根据所述目标指标信息和目标时间范围从所述预设Hbase数据库中获取对应的指标数据,所述指标数据包括T日实时指标值、截止至T-1日的历史指标总值和截止至T-n日的历史指标总值;
实时数值计算单元,用于根据所述T日实时指标值、所述截止至T-1日的历史指标总值和所述截止至T-n日的历史指标总值,按预设计算公式计算得到实时数值;
其中,所述预设计算公式为:
S=ST+ST-1-ST-n
其中,S为所述实时数值,ST为所述T日实时指标值,ST-1为所述截止至T-1日的历史指标总值,ST-n为所述截止至T-n日的历史指标总值。
进一步的,所述配置信息还包括存储结构和存储表名,所述计算结果存储模块20具体用于将所述计算结果按所述存储结构存储至预设Hbase数据库中与所述存储表名对应的存储表中;
所述实时数值计算模块40具体用于根据所述目标指标信息和所述目标时间范围按预设规则从所述预设Hbase数据库中对应的存储表中获取对应的指标数据。
进一步的,所述配置信息还包括展示样式,所述数据实时计算装置还包括:
实时数值展示模块,用于将所述实时数值按与所述配置信息对应的展示样式进行展示。
其中,上述数据实时计算装置中各个模块的功能实现与上述数据实时计算方法实施例中各步骤相对应,其功能和实现过程在此处不再一一赘述。
本发明还提供一种计算机可读存储介质,该计算机可读存储介质上存储有数据实时计算程序,所述数据实时计算程序被处理器执行时实现如以上任一项实施例所述的数据实时计算方法的步骤。
本发明计算机可读存储介质的具体实施例与上述数据实时计算方法各实施例基本相同,在此不作赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (11)
1.一种数据实时计算方法,其特征在于,所述数据实时计算方法包括:
在接收到配置端发送的配置指令时,对所述配置指令进行解析,得到配置信息;
根据所述配置信息生成计算任务,根据所述计算任务对数据源进行计算,并将计算结果存储至预设Hbase数据库中;
在接收到查询端发送的数据实时计算请求时,根据所述数据实时计算请求获取对应的目标指标信息和目标时间范围;
根据所述目标指标信息和所述目标时间范围按预设规则从所述预设Hbase数据库中获取对应的指标数据,并根据所述指标数据计算得到实时数值。
2.如权利要求1所述的数据实时计算方法,其特征在于,所述配置信息包括指标信息、实时计算周期、离线计算周期和计算逻辑,所述根据所述配置信息生成计算任务,并根据所述计算任务对数据源进行计算,并将计算结果存储至预设Hbase数据库中的步骤包括:
根据所述实时计算周期和所述计算逻辑生成实时计算任务,并根据所述离线计算周期和所述计算逻辑生成离线计算任务;
根据所述实时计算任务从kafka集群中获取与所述指标信息对应的实时指标数据源并进行计算,得到实时计算结果;
根据所述离线计算任务从预设数据仓库中获取与所述指标信息对应的离线指标数据源并进行计算,得到离线计算结果;
将所述实时计算结果和所述离线计算结果存储至预设Hbase数据库中。
3.如权利要求1所述的数据实时计算方法,其特征在于,当所述目标时间范围为近n日,当前日期为T日时,所述根据所述目标指标信息和所述目标时间范围按预设规则从所述预设Hbase数据库中获取对应的指标数据,并根据所述指标数据计算得到实时数值的步骤,包括:
根据所述目标指标信息和目标时间范围从所述预设Hbase数据库中获取对应的指标数据,所述指标数据包括T日实时指标值、截止至T-1日的历史指标总值和截止至T-n日的历史指标总值;
根据所述T日实时指标值、所述截止至T-1日的历史指标总值和所述截止至T-n日的历史指标总值,按预设计算公式计算得到实时数值;
其中,所述预设计算公式为:
S=ST+ST-1-ST-n
其中,S为所述实时数值,ST为所述T日实时指标值,ST-1为所述截止至T-1日的历史指标总值,ST-n为所述截止至T-n日的历史指标总值。
4.如权利要求1所述的数据实时计算方法,其特征在于,所述配置信息还包括存储结构和存储表名,所述将计算结果存储至预设Hbase数据库中的步骤,包括:
将所述计算结果按所述存储结构存储至预设Hbase数据库中与所述存储表名对应的存储表中;
所述根据所述目标指标信息和所述目标时间范围按预设规则从所述预设Hbase数据库中获取对应的指标数据的步骤包括:
根据所述目标指标信息和所述目标时间范围按预设规则从所述预设Hbase数据库中对应的存储表中获取对应的指标数据。
5.如权利要求1至4中任一项所述的数据实时计算方法,其特征在于,所述配置信息还包括展示样式,所述根据所述指标数据计算得到实时数值的步骤之后,所述方法还包括:
将所述实时数值按与所述配置信息对应的展示样式进行展示。
6.如权利要求1所述的数据实时计算方法,其特征在于,所述在接收到配置端发送的配置指令时,对所述配置指令进行解析,得到配置信息的步骤之前,所述方法还包括:
在接收到所述配置端发送的配置请求时,根据所述配置请求显示对应的配置界面,以供工作人员基于所述配置界面触发所述配置指令。
7.一种数据实时计算装置,其特征在于,所述数据实时计算装置包括:
配置信息获取模块,用于在接收到配置端发送的配置指令时,对所述配置指令进行解析,得到配置信息;
计算结果存储模块,用于根据所述配置信息生成计算任务,根据所述计算任务对数据源进行计算,并将计算结果存储至预设Hbase数据库中;
目标信息获取模块,用于在接收到查询端发送的数据实时计算请求时,根据所述数据实时计算请求获取对应的目标指标信息和目标时间范围;
实时数值计算模块,用于根据所述目标指标信息和所述目标时间范围按预设规则从所述预设Hbase数据库中获取对应的指标数据,并根据所述指标数据计算得到实时数值。
8.如权利要求7所述的数据实时计算装置,其特征在于,所述配置信息包括指标信息、实时计算周期、离线计算周期和计算逻辑,所述计算结果存储模块包括:
计算任务生成单元,用于根据所述实时计算周期和所述计算逻辑生成实时计算任务,并根据所述离线计算周期和所述计算逻辑生成离线计算任务;
实时计算单元,用于根据所述实时计算任务从kafka集群中获取与所述指标信息对应的实时指标数据源并进行计算,得到实时计算结果;
离线计算单元,用于根据所述离线计算任务从预设数据仓库中获取与所述指标信息对应的离线指标数据源并进行计算,得到离线计算结果;
计算结果存储单元,用于将所述实时计算结果和所述离线计算结果存储至预设Hbase数据库中。
9.如权利要求7所述的数据实时计算装置,其特征在于,当所述目标时间范围为近n日,当前日期为T日时,所述实时数值计算模块包括:
指标数据获取单元,用于根据所述目标指标信息和目标时间范围从所述预设Hbase数据库中获取对应的指标数据,所述指标数据包括T日实时指标值、截止至T-1日的历史指标总值和截止至T-n日的历史指标总值;
实时数值计算单元,用于根据所述T日实时指标值、所述截止至T-1日的历史指标总值和所述截止至T-n日的历史指标总值,按预设计算公式计算得到实时数值;
其中,所述预设计算公式为:
S=ST+ST-1-ST-n
其中,S为所述实时数值,ST为所述T日实时指标值,ST-1为所述截止至T-1日的历史指标总值,ST-n为所述截止至T-n日的历史指标总值。
10.一种数据实时计算设备,其特征在于,所述数据实时计算设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的数据实时计算程序,所述数据实时计算程序被所述处理器执行时实现如权利要求1至6中任一项所述的数据实时计算方法的步骤。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有数据实时计算程序,所述数据实时计算程序被处理器执行时实现如权利要求1至6中任一项所述的数据实时计算方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811539993.4A CN109597842A (zh) | 2018-12-14 | 2018-12-14 | 数据实时计算方法、装置、设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811539993.4A CN109597842A (zh) | 2018-12-14 | 2018-12-14 | 数据实时计算方法、装置、设备及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109597842A true CN109597842A (zh) | 2019-04-09 |
Family
ID=65962632
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811539993.4A Pending CN109597842A (zh) | 2018-12-14 | 2018-12-14 | 数据实时计算方法、装置、设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109597842A (zh) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110459276A (zh) * | 2019-08-15 | 2019-11-15 | 北京嘉和海森健康科技有限公司 | 一种数据处理方法及相关设备 |
CN110489476A (zh) * | 2019-08-22 | 2019-11-22 | 金瓜子科技发展(北京)有限公司 | 数据处理方法、系统及服务器 |
CN111046077A (zh) * | 2019-10-29 | 2020-04-21 | 口碑(上海)信息技术有限公司 | 数据的获取方法及装置、存储介质、终端 |
CN111125121A (zh) * | 2020-03-30 | 2020-05-08 | 四川新网银行股份有限公司 | 基于HBase表的实时数据显示方法 |
CN111339073A (zh) * | 2020-02-24 | 2020-06-26 | 天津满运软件科技有限公司 | 实时数据处理方法、装置、电子设备及可读存储介质 |
CN111797310A (zh) * | 2020-06-19 | 2020-10-20 | 北京达佳互联信息技术有限公司 | 一种行为回查方法、装置、电子设备和存储介质 |
CN112148779A (zh) * | 2019-06-28 | 2020-12-29 | 京东数字科技控股有限公司 | 确定业务指标的方法、装置及存储介质 |
CN112148512A (zh) * | 2019-06-27 | 2020-12-29 | 腾讯科技(深圳)有限公司 | 一种内容库管理方法、装置、设备及存储介质 |
WO2021037066A1 (zh) * | 2019-08-26 | 2021-03-04 | 第四范式(北京)技术有限公司 | 用于批量和实时特征计算的系统和方法 |
CN112632091A (zh) * | 2020-12-17 | 2021-04-09 | 平安普惠企业管理有限公司 | 基于大数据的指标流实时计算方法、装置、设备及介质 |
CN112801534A (zh) * | 2021-02-19 | 2021-05-14 | 广州市网星信息技术有限公司 | Aa分流实验方法、装置、设备和存储介质 |
CN113672361A (zh) * | 2021-07-13 | 2021-11-19 | 上海携宁计算机科技股份有限公司 | 分布式数据处理系统、方法、服务器和可读存储介质 |
CN113741868A (zh) * | 2020-05-29 | 2021-12-03 | 腾讯科技(深圳)有限公司 | 业务计算任务处理方法、装置、计算机设备和存储介质 |
CN113762665A (zh) * | 2020-06-29 | 2021-12-07 | 北京京东振世信息技术有限公司 | 一种实时指标的相关实时数据回溯方法及系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130139166A1 (en) * | 2011-11-24 | 2013-05-30 | Alibaba Group Holding Limited | Distributed data stream processing method and system |
CN104424229A (zh) * | 2013-08-26 | 2015-03-18 | 腾讯科技(深圳)有限公司 | 一种多维度拆分的计算方法及系统 |
CN106156307A (zh) * | 2016-06-30 | 2016-11-23 | 北京奇虎科技有限公司 | 一种实时计算平台的数据处理系统和方法 |
CN106598823A (zh) * | 2016-10-19 | 2017-04-26 | 同盾科技有限公司 | 一种网络行为特征的差量计算方法和系统 |
CN108038085A (zh) * | 2017-12-27 | 2018-05-15 | 世纪龙信息网络有限责任公司 | 实时任务的数据校准方法及装置 |
CN108519914A (zh) * | 2018-04-09 | 2018-09-11 | 腾讯科技(深圳)有限公司 | 大数据计算方法、系统和计算机设备 |
-
2018
- 2018-12-14 CN CN201811539993.4A patent/CN109597842A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130139166A1 (en) * | 2011-11-24 | 2013-05-30 | Alibaba Group Holding Limited | Distributed data stream processing method and system |
CN104424229A (zh) * | 2013-08-26 | 2015-03-18 | 腾讯科技(深圳)有限公司 | 一种多维度拆分的计算方法及系统 |
CN106156307A (zh) * | 2016-06-30 | 2016-11-23 | 北京奇虎科技有限公司 | 一种实时计算平台的数据处理系统和方法 |
CN106598823A (zh) * | 2016-10-19 | 2017-04-26 | 同盾科技有限公司 | 一种网络行为特征的差量计算方法和系统 |
CN108038085A (zh) * | 2017-12-27 | 2018-05-15 | 世纪龙信息网络有限责任公司 | 实时任务的数据校准方法及装置 |
CN108519914A (zh) * | 2018-04-09 | 2018-09-11 | 腾讯科技(深圳)有限公司 | 大数据计算方法、系统和计算机设备 |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112148512A (zh) * | 2019-06-27 | 2020-12-29 | 腾讯科技(深圳)有限公司 | 一种内容库管理方法、装置、设备及存储介质 |
CN112148779A (zh) * | 2019-06-28 | 2020-12-29 | 京东数字科技控股有限公司 | 确定业务指标的方法、装置及存储介质 |
CN110459276A (zh) * | 2019-08-15 | 2019-11-15 | 北京嘉和海森健康科技有限公司 | 一种数据处理方法及相关设备 |
CN110489476A (zh) * | 2019-08-22 | 2019-11-22 | 金瓜子科技发展(北京)有限公司 | 数据处理方法、系统及服务器 |
US11971882B2 (en) | 2019-08-26 | 2024-04-30 | The Fourth Paradigm (Beijing) Tech Co Ltd | System and method for batch and real-time feature computation |
WO2021037066A1 (zh) * | 2019-08-26 | 2021-03-04 | 第四范式(北京)技术有限公司 | 用于批量和实时特征计算的系统和方法 |
CN111046077A (zh) * | 2019-10-29 | 2020-04-21 | 口碑(上海)信息技术有限公司 | 数据的获取方法及装置、存储介质、终端 |
CN111339073A (zh) * | 2020-02-24 | 2020-06-26 | 天津满运软件科技有限公司 | 实时数据处理方法、装置、电子设备及可读存储介质 |
CN111125121B (zh) * | 2020-03-30 | 2020-07-03 | 四川新网银行股份有限公司 | 基于HBase表的实时数据显示方法 |
CN111125121A (zh) * | 2020-03-30 | 2020-05-08 | 四川新网银行股份有限公司 | 基于HBase表的实时数据显示方法 |
CN113741868A (zh) * | 2020-05-29 | 2021-12-03 | 腾讯科技(深圳)有限公司 | 业务计算任务处理方法、装置、计算机设备和存储介质 |
CN111797310A (zh) * | 2020-06-19 | 2020-10-20 | 北京达佳互联信息技术有限公司 | 一种行为回查方法、装置、电子设备和存储介质 |
CN113762665A (zh) * | 2020-06-29 | 2021-12-07 | 北京京东振世信息技术有限公司 | 一种实时指标的相关实时数据回溯方法及系统 |
CN113762665B (zh) * | 2020-06-29 | 2024-04-16 | 北京京东振世信息技术有限公司 | 一种实时指标的相关实时数据回溯方法及系统 |
CN112632091A (zh) * | 2020-12-17 | 2021-04-09 | 平安普惠企业管理有限公司 | 基于大数据的指标流实时计算方法、装置、设备及介质 |
CN112632091B (zh) * | 2020-12-17 | 2023-10-20 | 重庆软江图灵人工智能科技有限公司 | 基于大数据的指标流实时计算方法、装置、设备及介质 |
CN112801534A (zh) * | 2021-02-19 | 2021-05-14 | 广州市网星信息技术有限公司 | Aa分流实验方法、装置、设备和存储介质 |
CN113672361A (zh) * | 2021-07-13 | 2021-11-19 | 上海携宁计算机科技股份有限公司 | 分布式数据处理系统、方法、服务器和可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109597842A (zh) | 数据实时计算方法、装置、设备及计算机可读存储介质 | |
CN107451109B (zh) | 报表生成方法及系统 | |
CN109656963B (zh) | 元数据获取方法、装置、设备及计算机可读存储介质 | |
US20160063072A1 (en) | Systems, methods, and apparatuses for detecting activity patterns | |
CN107943841A (zh) | 流式数据处理方法、系统和计算机可读存储介质 | |
CN109542889A (zh) | 流式数据列存储方法、装置、设备和存储介质 | |
CN103927314B (zh) | 一种数据批量处理的方法和装置 | |
CN110321273A (zh) | 一种业务统计方法及装置 | |
CN110264328A (zh) | 对账方法、装置、设备、系统及计算机可读存储介质 | |
CN111241182A (zh) | 数据处理方法和装置、存储介质和电子装置 | |
US11163586B1 (en) | Automated configuration of application program instance | |
WO2019076001A1 (zh) | 信息更新方法和装置 | |
CN106886535A (zh) | 一种适配多种数据源的数据抽取方法和装置 | |
CN106156047A (zh) | 一种快照信息处理方法及装置 | |
CN108363741B (zh) | 大数据统一接口方法、装置、设备及存储介质 | |
CN112269830A (zh) | 大数据分析方法、系统、计算机设备及其存储介质 | |
CN110262951A (zh) | 一种业务秒级监控方法及系统、存储介质及客户端 | |
CN110399089A (zh) | 数据存储方法、装置、设备和介质 | |
CN105138676A (zh) | 基于高级语言并发聚合计算的分库分表merge查询方法 | |
CN106649377A (zh) | 一种图像处理系统及图像处理的方法 | |
CN106888264A (zh) | 一种数据交换方法和装置 | |
US10691653B1 (en) | Intelligent data backfill and migration operations utilizing event processing architecture | |
CN109271453A (zh) | 一种数据库容量的确定方法和装置 | |
CN111723004B (zh) | 敏捷软件开发的度量方法,度量数据输出方法以及装置 | |
CN103809915B (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190409 |
|
RJ01 | Rejection of invention patent application after publication |