CN109614417B - 基于数据流的报表指标的显示方法、装置及终端 - Google Patents
基于数据流的报表指标的显示方法、装置及终端 Download PDFInfo
- Publication number
- CN109614417B CN109614417B CN201811280786.1A CN201811280786A CN109614417B CN 109614417 B CN109614417 B CN 109614417B CN 201811280786 A CN201811280786 A CN 201811280786A CN 109614417 B CN109614417 B CN 109614417B
- Authority
- CN
- China
- Prior art keywords
- log stream
- module
- key
- stream
- value
- 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
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明提供了一种基于数据流的报表指标的显示方法、装置及设备,所述方法包括:将接收到的流式数据按照数据类型拆分成多个数据流,所述多个数据流包括:第一日志流和第二日志流,且第一日志流和第二日志流存在先后关系;将所述第一日志流按照关键字key缓存到数据库中;从所述数据库中为所述第二日志流确定对应的第一日志流;将所述第二日志流与对应的第一日志流进行实时关联;统计关联后的第二日志流,得到对应的报表指标;实时显示所述报表指标。本发明在流式数据中,实时将第二日志流关联到相应的第一日志流,实现了实时数据流的关联操作及指标统计,并将报表中指标进行可视化,提供高了用户满意度。
Description
技术领域
本发明涉及数据处理技术领域,特别是涉及一种基于数据流的报表指标的显示方法、装置及终端。
背景技术
报表指标统计的数据源都是依赖于用户日志数据,但是用户日志数据由多个不同的设备传输的,有些统计的报表指标需要将日志进行关联统计,如用户的点击展示行为日志和播放行为日志是分开发送的,但是统计时需要一起进行统计;在离线系统中,可以用一些大数据工具如HIVE进行join操作,将数据关联后统计,但是,在现有流式数据的统计中,不能对流式数据提供实时关联,因此导致统计的某些报表指标不可实时化。
因此,如何实现报表指标的实时化,是目前有待解决的技术问题。
发明内容
本发明实施例所要解决的技术问题是提供一种基于数据流的报表指标的显示方法,以解决现有的流式数据统计中,由于不能将相关的数据进行实时关联,导致一些报表指标不能实时化,降低了用户满意度的技术问题。
相应的,本发明实施例还提供了一种基于数据流的报表指标的显示装置及终端,用以保证上述方法的实现及应用。
为了解决上述问题,本发明是通过如下技术方案实现的:
第一方面提供一种基于数据流的报表指标的显示方法,包括:
将接收到的流式数据按照数据类型拆分成多个数据流,所述多个数据流包括:第一日志流和第二日志流,且第一日志流和第二日志流存在先后关系;
将所述第一日志流按照关键字key缓存到数据库中;
从所述数据库中为所述第二日志流确定对应的第一日志流;
将所述第二日志流与对应的第一日志流进行实时关联;
统计关联后的第二日志流,得到对应的报表指标;
实时显示所述报表指标。
可选的,所述从所述数据库中为所述第二日志流确定对应的第一日志流,包括:
提取所述第二日志流的关键字key;
从所述数据库中查询所述第二日志流的关键字key;
如果查询到所述关键字key,则读取与所述关键字key对应的第一日志流的数值value;
所述将所述第二日志流与对应的第一日志流进行实时关联,包括:
将与所述关键字key对应的数值value添加到所述第二日志流中。
可选的,所述关键字key包括:用户ID和视频ID,所述数值value包括:需要提供给第二日志流的内容的时间戳和维度信息。
可选的,所述方法还包括:
将拆分得到的所述第一日志流按照设定的时间通过对应的布隆过滤器进行过滤;
对通过每个时间的布隆过滤器的所述第一日志流的关键字key进行标记,得到对应的标志位;
将所述标志位对应的关键字key及第一日志流同时存储到内存分布式数据库中和普通分布式数据库中。
可选的,所述方法还包括:
提取所述第二日志流的关键字key;
按照所述关键字key查询标志位;
如果查询到对应的标志位,则根据所述标志位确定对应布隆过滤器的时间;
判断所述时间与当前时间的差值是否大于等于设定缓存阈值;
如果所述差值大于等于设定的缓存阈值,则从所述普通分布式数据库读取与所述标志位对应的第一日志流的数值value;
如果所述差值不大于等于设定的缓存阈值,则从所述内存分布式数据库中读取与所述标志位对应的第一日志流的数值value;
其中,所述将所述第二日志流与对应的第一日志流进行实时关联,包括:
将与所述标志位对应的第一日志流的数值value添加到所述第二日志流中。
第二方面提供一种基于数据流的报表指标的显示装置,包括:
拆分模块,用于将接收到的流式数据按照数据类型拆分成多个数据流,所述多个数据流包括:第一日志流和第二日志流,且第一日志流和第二日志流存在先后关系;
缓存模块,用于将所述第一日志流按照关键字key缓存到数据库中;
第一确定模块,用于从所述数据库中为所述第二日志流确定对应的第一日志流;
关联模块,用于将所述第二日志流与对应的第一日志流进行实时关联;
统计模块,用于统计关联后的第二日志流,得到对应的报表指标;
显示模块,用于实时显示所述报表指标。
可选的,所述第一确定模块包括:
第一提取模块,用于提取所述第二日志流的关键字key;
第一查询模块,用于从所述数据库中查询所述第二日志流的关键字key;
第一读取模块,用于在所述查询模块查询到所述关键字key时,读取与所述关键字key对应的第一日志流的数值value;
所述关联模块,具体用于将与所述关键字key对应的数值value添加到所述第二日志流中。
可选的,所述第一提取模块提取的所述关键字key包括:用户ID和视频ID;
所述第一读取模块读取的所述数值value包括:需要提供给第二日志流的内容的时间戳和维度信息。
可选的,所述装置还包括:
过滤模块,用于将所述拆分模块拆分得到的所述第一日志流按照设定的时间通过对应的布隆过滤器进行过滤;
标记模块,用于对通过每个时间的布隆过滤器的所述第一日志流的关键字key分别进行标记,得到对应的标志位;
存储模块,用于将所述标志位对应的关键字key及第一日志流同时存储到内存分布式数据库中和普通分布式数据库中。
可选的,所述装置还包括:
第二提取模块,用于提取所述拆分模块拆分得到的所述第二日志流的关键字key;
第二查询模块,用于按照所述关键字key查询标志位;
第二确定模块,用于在所述第二查询模块查询到对应的标志位时,根据所述标志位确定对应布隆过滤器的时间;
判断模块,用于判断所述时间与当前时间的差值是否大于等于设定缓存阈值;
第二读取模块,用于在所述判断模块判断所述差值大于等于设定缓存阈值时,则从所述普通分布式数据库读取与所述标志位对应的第一日志流的数值value;
第三读取模块,用于在所述判断模块判断所述差值不大于等于设定缓存阈值,则从所述内存分布式数据库中读取与所述标志位对应的第一日志流的数值value;
所述关联模块,还用于将所述第二读取模块或第三读取模块读取的与所述标志位对应的第一日志流的数值value添加到所述第二日志流中。
第三方面提供一种终端,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至5中任一项所述的基于数据流的统计指标的显示方法的步骤。
第四方面提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至5中任一项所述的基于数据流的统计指标的显示方法中的步骤。
与现有技术相比,本发明实施例包括以下优点:
本发明实施例中,先将接收到的流式数据拆分成多个数据流,多个数据流中包括第一日志流和第二日志流,且第一日志流和第二日志流存在先后关系;然后,将所述第一日志流按照关键字key缓存到数据库中,从所述数据库中为所述第二日志流确定对应的第一日志流;将第二日志流与对应的第一日志流进行实时关联,最后,统计关联后的第二日志流,得到对应的报表指标,实时显示所述报表指标。也就是说,本发明实施例中,在流式数据中,先将接收到的第一日志流缓存到数据库中,在接收到第二日志流时,将第二日志流与数据库中的第一日志流进行实时关联,并统计关联后的第二日志流,得到并实时显示对应的报表指标。本发明实施例中,实现了实时数据流的关联操作,对报表中的指标实时统计并显示,实现了报表指标的可视化,提供高了用户满意度。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
图1是本发明实施例提供的一种基于数据流的报表指标的显示方法的流程图;
图2为本发明实施例提供的一种数据关联过程的示意图;
图3为本发明实施例提供的一种将数据流通过布隆过滤器进行业务过滤的示意图;
图4是本发明实施例提供的一种基于数据流的报表指标的显示装置的结构示意图;
图5是本发明实施例提供的一种基于数据流的报表指标的显示装置的另一结构示意图;
图6是本发明实施例提供的一种基于数据流的报表指标的显示装置的另一结构示意图;
图7是本发明实施例提供的一种基于数据流的报表指标的显示装置的另一结构示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
请参阅图1,为本发明实施例提供的一种基于数据流的报表指标的显示方法的流程图,具体可以包括如下步骤:
步骤101:将接收到的流式数据按照数据类型拆分成多个数据流,所述多个数据流包括:第一日志流和第二日志流,且第一日志流和第二日志流存在先后关系;
该步骤中,计算机或后台服务器按照数据类型将该流式数据拆分成多个数据流,其拆分的方式:按照字段标识或者标志位来拆分数据流。其中,流式数据,就是实时的数据流,比如,从集群上获取实时数据流。该流式数据可以包括但并不限于此:第一日志流和第二日志流,且第一日志流和第二日志流存在先后关系。其中,第一日志流可以是:行为日志流,第二日志流可以是播放日志流等;所述行为日志流可以包括视频点击行为日志流、图片点击行为日志流、文本点击行为日志流或者是网页搜索日志流等。而播放日志流可以是视频播放日志流,图片展示日志流、文本展示日志流等,网页搜索停留日志流等。
当然,本实施例的流式数据中还可以包括其他的第三日志流,其第三日志流可以包括:时长行为日志流、点展行为日志流等等。其中,时长行为日志流为某一页面停留的时长数据,点展行为日志流为展示视频的行为数据。
步骤102:将所述第一日志流按照关键字key缓存到数据库中;
该步骤中,关键字key为用来唯一标识日志流中每类数据流的属性集。所述关键字key可以包括:用户ID和视频ID(即uid+tvid),
其中,第一日志流还包括与关键字key对应的数值value,所述数值value 为需要提供给第二日志流的内容。具体包括:需要提供给第二日志流的内容的时间戳和维度信息(即timestamp+dimensions)。其中,维度信息可以包括不同业务平台需要的所有数据类型分析信息,比如,客户端版本信息,测量用户分桶信息,安卓手机平台信息等。而将第一日志流的value提供给第二日志流,其目的就是信息补充,便于统计。
其中,所述数据库可以包括:内存分布式数据库和普通分布式数据库(比如couchbase&Hbase等),或者是其中的一个数据库,即内存分布式数据库或普通分布式数据库。
需要说明的是,该步骤中,按照业务的限定,第二日志流(比如播放时长日志流)是在第一日志流(比如点击行为日志流)之后发送的,也即是说,理论上,第二日志流一定是在第一日志流之后投递的,但是二者间隔时间较短。因此,在接收到第二日志流时,相应的第一日志流已经收到,需要先将第一日志流缓存到数据库中,以便于在后续接收到第二日志流时,与第一日志流进行实时关联。
步骤103:从所述数据库中为所述第二日志流确定对应的第一日志流;
一种确定的方式包括:
1)提取所述第二日志流的关键字key;
该步骤中,提取第二日志流中的用户ID和视频ID(即uid+tvid)。
2)从所述数据库中查询所述第二日志流的关键字key;
查询数据库中是否存储有所述第二日志流的关键字key,需要说明的是,第二日志流与第一日志流的关键字key相同。
3)如果查询到所述关键字key,则读取与所述关键字key对应的第一日志流的数值value;
如果从该数据库中查询到该关键字key,则从所述数据库中读取与所述关键字key对应的第一日志流的数值value,即为所述第二日志流确定对应的第一日志流。
如果从该数据库中没有查询到该关键字key,则直接过滤掉所述第二日志流。
步骤104:将所述第二日志流与对应的第一日志流进行实时关联;
该步骤中,将与所述关键字key对应的数值value添加到所述第二日志流中。
步骤105:统计关联后的第二日志流,得到对应的报表指标;
该步骤中,如果第二日志流为关联后的播放时长日志流,则得到的报表指标为播放时长报表指标。
步骤106:实时显示所述报表指标。
该步骤中,可以通过屏幕实时显示统计的报表指标。
当然,在该实施例中,多个数据流还可以包括:第三日志流等,比如,包括时长行为日志流和点展行为日志流,所述方法还可以包括:
在所述统计关联后的第一日志流(比如播放时长日志流)时,统计所述时长行为日志流和展示行为日志流;
在所述实时显示所述播放时长报表指标时,还可以显示时长行为报表指标和展示行为报表指标。
本发明实施例中,先将接收到的流式数据拆分成多个数据流,所述多个数据流包括第一日志流和第二日志流,且第一日志流和第二日志流存在先后关系;然后,将所述第一日志流按照关键字key缓存到数据库中,从所述数据库中为所述第二日志流确定对应的第一日志流;将第二日志流与对应的第一日志流进行实时关联,最后,统计关联后的第二日志流,得到对应的报表指标,实时显示所述报表指标。也就是说,本发明实施例中,在流式数据中,先将接收到的第一日志流缓存到数据库中,在接收到第二日志流时,将第二日志流与数据库中的第一日志流进行实时关联,并统计关联后的第二日志流,得到并实时显示对应的报表指标。本发明实施例中,实现了实时数据流的关联操作,对报表中的指标实时统计并显示,实现了报表指标的可视化,提供高了用户满意度。
为了便于理解,还请一并参阅图2,为本发明实施例提供的一种数据流关联过程的示意图,在该实施例中,第一日志流以点击行为日志流,第二日志流以与第一日志流存在先后关系的播放时长日志流为例,如图2所示:
1)将拆分后的所述点击行为日志流按照关键字key缓存到数据库中,其中,数据库可以为:内存分布式数据库或普通分布式数据库(比如 couchbase&Hbase等)。
需要说明的是,缓存到数据库中的内容包括:关键字key,以及对应的数值value,其中,所述数值value为需要提供给播放时长日志流的内容。其中,关键字key为用来唯一标识数据流的属性集。所述关键字key包括:用户ID和视频ID(即uid+tvid),数值value包括:需要提供给播放时长日志流的内容的时间戳和维度信息(即timestamp+dimensions)。
2)在接收播放时长日志流时,提取所述播放时长日志流的关键字key,
3)从所述数据库中查询所述播放时长日志流的关键字key;
在所述数据库中查询(即读取信息)所述播放时长日志流的关键字key,如果查询到所述关键字key,执行步骤4);否则,执行步骤5);
4)读取与所述关键字key对应的点击行为日志流的数值value,将与所述关键字key对应的数值value添加到所述第二日志流中;
5)直接过滤掉所述播放时长日志流。
也就是说,上述过程,是对播放时长日志流和点击行为日志流的双流join 过程。
可选的,在另一实施例中,该实施例在上述实施例的基础上,所述方法还可以包括:
1)将拆分得到的所述第一日志流按照设定的时间通过对应的布隆过滤器进行过滤;
该步骤中,设定的时间可以设定为每小时一次,即将第一日志流每小时通过布隆过滤器进行过滤。
2)对通过每个时间的布隆过滤器的所述第一日志流的关键字key分别进行标记,得到对应的标志位;
3)将所述标志位对应的关键字key及第一日志流同时存储到内存分布式数据库中和普通分布式数据库中。
该实施例中,将拆分得到的所述第一日志流按照设定的时间通过布隆过滤器过滤时,布隆过滤器用k个hash函数计算出关键字key的k个散列值,并把数组中与k个散列值对应的比特位置进行标记,得到对应的标志位1,然后将1对应的关键字key及第一日志流同时存储到内存分布式数据库中和普通分布式数据库中。
该步骤中,设定的时间范围可以每小时一次,即将第一日志流每小时通过布隆过滤器进行过滤,得到所述第一日志流的关键字key的标志位。
可选的,在另一实施例中,该实施例在上述实施例的基础上,所述方法还可以包括:
1)提取所述第二日志流的关键字key;
该步骤中,提取第二日志流中的用户ID和视频ID(即uid+tvid) ;
2)按照所述关键字key查询标志位;
查询布隆过滤器中是否存储有所述关键字key对应的标志位。
3)如果查询到对应的标志位,则根据所述标志位确定对应布隆过滤器的时间;
该步骤中,如果查询到所述关键字key对应的标志位,则可以根据标志位确定对应布隆过滤器的时间,比如,根据标志位确定的布隆过滤器的时间为12点。
4)判断所述时间与当前时间的差值是否大于等于设定缓存阈值;
该步骤中,缓存阈值的是根据需要人为设定的,比如,可以设定为2小时,3小时,5小时等,其设置的目的就是定期清理内存分布式数据库中的数据,简单的说,就是定期清理内存中的数据。
假如设定的缓存阈值为2小时,如果当前时间是下午1点,而确定布隆过滤器的时间为中午12点,则二者的时间差为1小时,由于差值1小时小于缓存阈值2小时,则需要执行步骤6),从所述内存分布式数据库中读取与所述标志位对应的第一日志流的数值value;否则,需要从所述普通分布式数据库读取与所述标志位对应的第一日志流的数值value。
也就是说,通过判断差值是否大于等于设定缓存阈值,来确定第一日志流的数值value是存在内存分布式数据库中,还是存在普通分布式数据库中。
5)如果所述差值大于等于设定缓存阈值,则从所述普通分布式数据库读取与所述标志位对应的第一日志流的数值value;
6)如果所述差值不大于等于设定缓存阈值,则从所述内存分布式数据库中读取与所述标志位对应的第一日志流的数值value;
7)将与所述标志位对应的第一日志流的数值value添加到所述第二日志流中。
也就是说,该实施例中,当第二日志流到达后,按照所述第二日志流的关键字key,按照所述关键字key查询标志位,如果查询到,则说明所述标志位对应的第一日志流存在内存分布式数据库中或者普通分布式数据库中,然后,根据所述标志位确定对应布隆过滤器的时间,判断所述时间与当前时间的差值是否大于等于设定缓存阈值,如果大于等于,则从所述普通分布式数据库读取与所述标志位对应的第一日志流的数值value;否则,从所述内存分布式数据库中读取与所述标志位对应的第一日志流的数值value,将与所述标志位对应的第一日志流的数值value添加到所述第二日志流中。
其中,该实施例中,所述关键字key包括:用户ID和视频ID(即uid+tvid),数值value包括:需要提供给第二日志流的内容的时间戳和维度信息(即 timestamp+dimensions)。
该实施例中,需要对双Join的数据流做业务上的过滤,即对缓存的全部数据通过布隆过滤器进行优化,即在访问内存分布式数据库或普通分布树数据库之前,先访问一次布隆过滤器,进行预过滤,如果命中,则继续访问,而且布隆过滤器能根据时间差是否大于等于设定的缓存阈值,决定是访问内存分布式数据库或普通分布树数据库。从而避免每条数据都去访问内存分布式数据库(比如couchbase)或者普通分布式数据库(比如Hbase)。其对应的结构示意图如图3所示,图3为本发明实施例提供的一种将数据流通过布隆过滤器进行业务过滤的示意图,该实施例中,第一日志流以点击行为日志流,第二日志流以播放时长日志流为例。
该实施例中,先将拆分得到的点击行为日志流按照设定的时间输入到对应的布隆过滤器进行过滤,该过滤过程无需存储点击行为日志流的key值,对于每个key值,只需要k个比特位,即对通过每个时间的布隆过滤器的所述点击行为日志流的关键字key分别进行标记,得到对应的标志位,将所述标志位对应的关键字key及点击行为日志流同时存储到内存分布式数据库中和普通分布式数据库中。之后,提取拆分得到的所述播放时长日志流的关键字key;按照所述关键字key查询标志位;如果查询到对应的标志位,则根据所述标志位确定对应布隆过滤器的时间;判断所述时间与当前时间的差值是否大于等于设定缓存阈值;如果所述差值大于等于设定的缓存阈值,则从所述普通分布式数据库读取与所述标志位对应的点击行为日志流的数值 value;如果所述差值不大于等于设定的缓存阈值,则从所述内存分布式数据库中读取与所述标志位对应的点击行为日志流的数值value;将与所述标志位对应的点击行为日志流的数值value添加到所述播放时长日志流中。
其中,每个布隆过滤器的处理过程为:
①首先需要k个hash函数,每个函数可以把key散列成为1个整数;
②初始化时,需要一个长度为n比特的数组,每个比特位初始化为0;
③某个key加入集合时,用k个hash函数计算出k个散列值,并把数组中对应的比特位置为1;
④判断某个key是否在集合时,用k个hash函数计算出k个散列值,并查询数组中对应的比特位,如果所有的比特位都是1,认为在集合中。
通过上述算法,可以避免每条数据都去访问内存分布式数据库(比如 couchbase)或者普通分布式数据库(比如Hbase)。
本发明实施例中,对双Join的数据流做业务上的过滤,即对缓存的全部数据通过布隆过滤器进行优化,即在访问内存分布式数据库或普通分布树数据库之前,做一次预过滤,即先访问一次布隆过滤器,如果命中,则继续访问,否则,就放弃。从而避免每条数据都去访问内存分布式数据库(比如 couchbase)或者普通分布式数据库(比如Hbase),从而提高了查询效率。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
请参阅图4,为本发明实施例提供的一种基于数据流的报表指标的显示装置的结构示意图,具体可以包括如下模块:拆分模块41,缓存模块42,第一确定模块43,关联模块44,统计模块45和显示模块46,其中,
拆分模块41,用于将接收到的流式数据按照数据类型拆分成多个数据流,所述多个数据流包括:第一日志流和第二日志流,且第一日志流和第二日志流存在先后关系;
缓存模块42,用于将所述第一日志流按照关键字key缓存到数据库中;
第一确定模块43,用于从所述数据库中为所述第二日志流确定对应的第一日志流;
关联模块44,用于将所述第二日志流与对应的第一日志流进行实时关联;
统计模块45,用于统计关联后的第二日志流,得到对应的报表指标;
显示模块46,用于实时显示所述报表指标。
可选的,在另一实施例中,该实施例在上述实施例的基础上,所述第一确定模块43包括:第一提取模块51,第一查询模块52和第一读取模块53,其结构示意图如图5所示,其中,
第一提取模块51,用于提取所述拆分模块41拆分得到的所述第二日志流的关键字key;
第一查询模块52,用于从所述数据库中查询所述第二日志流的关键字 key;
第一读取模块53,用于在所述查询模块查询到所述关键字key时,读取与所述关键字key对应的第一日志流的数值value;
所述关联模块54,具体用于将与所述关键字key对应的数值value添加到所述第二日志流中。
可选的,在另一实施例中,该实施例在上述实施例的基础上,所述第一提取模块提取的所述关键字key包括:用户ID和视频ID;
所述第一读取模块读取的所述数值value包括:需要提供给第二日志流的内容的时间戳和维度信息。
可选的,在另一实施例中,该实施例在上述实施例的基础上,所述装置还可以包括:过滤模块61,标记模块62和存储模块63,其结构示意图如图 6所示,其中,
过滤模块61,用于将所述拆分模块41拆分得到的所述第一日志流按照设定的时间通过对应的布隆过滤器进行过滤;
标记模块62,用于对通过每个时间的布隆过滤器的所述第一日志流的关键字key分别进行标记,得到对应的标志位;
存储模块63,用于将所述标志位对应的关键字key及第一日志流同时存储到内存分布式数据库中和普通分布式数据库中。
可选的,在另一实施例中,该实施例在上述实施例的基础上,所述装置还可以包括:第二提取模块71,第二查询模块72,第二确定模块73,判断模块74,第二读取模块75和第三读取模块76,其结构示意图如图7所示,其中,
第二提取模块71,用于提取所述拆分模块41拆分得到的所述第二日志流的关键字key;
第二查询模块72,用于按照所述关键字key查询标志位;
第二确定模块73,用于在所述第二查询模块72查询到对应的标志位时,根据所述标志位确定对应布隆过滤器的时间;
判断模块74,用于判断所述时间与当前时间的差值是否大于等于设定缓存阈值;
第二读取模块75,用于在所述判断模块74判断所述差值大于等于设定缓存阈值时,则从所述普通分布式数据库读取与所述标志位对应的第一日志流的数值value;
第三读取模块76,用于在所述判断模块4判断所述差值不大于等于设定缓存阈值,则从所述内存分布式数据库中读取与所述标志位对应的第一日志流的数值value;
所述关联模块44,还用于将所述第二读取模块75或第三读取模块76 读取的与所述标志位对应的第一日志流的数值value添加到所述第二日志流中。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
可选的,本发明实施例还提供一种终端设备,包括处理器,存储器,存储在存储器上并可在所述处理器上运行的计算机程序,该计算机程序被处理器执行时实现上述的基于实时数据流的统计指标的显示方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述的基于实时数据流的统计指标的显示方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所述权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种基于实时数据流的报表指标的显示方法、装置及设备,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种基于数据流的报表指标的显示方法,其特征在于,包括:
将接收到的流式数据按照数据类型拆分成多个数据流,所述多个数据流包括:第一日志流和第二日志流,且第一日志流和第二日志流存在先后关系;
将所述第一日志流按照关键字key缓存到数据库中;
提取所述第二日志流的关键字key;
从所述数据库中查询所述第二日志流的关键字key;
如果查询到所述关键字key,则读取与所述关键字key对应的第一日志流的数值value;
将与所述关键字key对应的数值value添加到所述第二日志流中,以将所述第二日志流与对应的第一日志流进行实时关联;
统计关联后的第二日志流,得到对应的报表指标;
实时显示所述报表指标。
2.根据权利要求1所述的方法,其特征在于,
所述关键字key包括:用户ID和视频ID,所述数值value包括:需要提供给第二日志流的内容的时间戳和维度信息。
3.根据权利要求1所述的方法,其特征在于,还包括:
将拆分得到的所述第一日志流按照设定的时间通过对应的布隆过滤器进行过滤;
对通过每个时间的布隆过滤器的所述第一日志流的关键字key进行标记,得到对应的标志位;
将所述标志位对应的关键字key及第一日志流同时存储到内存分布式数据库中和普通分布式数据库中。
4.根据权利要求3所述的方法,其特征在于,还包括:
提取所述第二日志流的关键字key;
按照所述关键字key查询标志位;
如果查询到对应的标志位,则根据所述标志位确定对应布隆过滤器的时间;
判断所述时间与当前时间的差值是否大于等于设定缓存阈值;
如果所述差值大于等于设定的缓存阈值,则从所述普通分布式数据库读取与所述标志位对应的第一日志流的数值value;
如果所述差值不大于等于设定的缓存阈值,则从所述内存分布式数据库中读取与所述标志位对应的第一日志流的数值value;
其中,所述将所述第二日志流与对应的第一日志流进行实时关联,包括:
将与所述标志位对应的第一日志流的数值value添加到所述第二日志流中。
5.一种基于数据流的报表指标的显示装置,其特征在于,包括:
拆分模块,用于将接收到的流式数据按照数据类型拆分成多个数据流,所述多个数据流包括:第一日志流和第二日志流,且第一日志流和第二日志流存在先后关系;
缓存模块,用于将所述第一日志流按照关键字key缓存到数据库中;
第一确定模块,用于从所述数据库中为所述第二日志流确定对应的第一日志流;
关联模块,用于将与所述关键字key对应的数值value添加到所述第二日志流中,以将所述第二日志流与对应的第一日志流进行实时关联;
统计模块,用于统计关联后的第二日志流,得到对应的报表指标;
显示模块,用于实时显示所述报表指标;
所述第一确定模块包括:
第一提取模块,用于提取所述第二日志流的关键字key;
第一查询模块,用于从所述数据库中查询所述第二日志流的关键字key;
第一读取模块,用于在所述查询模块查询到所述关键字key时,读取与所述关键字key对应的第一日志流的数值value。
6.根据权利要求5所述的装置,其特征在于,
所述第一提取模块提取的所述关键字key包括:用户ID和视频ID;
所述第一读取模块读取的所述数值value包括:需要提供给第二日志流的内容的时间戳和维度信息。
7.根据权利要求5所述的装置,其特征在于,还包括:
过滤模块,用于将所述拆分模块拆分得到的所述第一日志流按照设定的时间通过对应的布隆过滤器进行过滤;
标记模块,用于对通过每个时间的布隆过滤器的所述第一日志流的关键字key分别进行标记,得到对应的标志位;
存储模块,用于将所述标志位对应的关键字key及第一日志流同时存储到内存分布式数据库中和普通分布式数据库中。
8.根据权利要求7所述的装置,其特征在于,还包括:
第二提取模块,用于提取所述拆分模块拆分得到的所述第二日志流的关键字key;
第二查询模块,用于按照所述关键字key查询标志位;
第二确定模块,用于在所述第二查询模块查询到对应的标志位时,根据所述标志位确定对应布隆过滤器的时间;
判断模块,用于判断所述时间与当前时间的差值是否大于等于设定缓存阈值;
第二读取模块,用于在所述判断模块判断所述差值大于等于设定缓存阈值时,则从所述普通分布式数据库读取与所述标志位对应的第一日志流的数值value;
第三读取模块,用于在所述判断模块判断所述差值不大于等于设定缓存阈值,则从所述内存分布式数据库中读取与所述标志位对应的第一日志流的数值value;
所述关联模块,还用于将所述第二读取模块或第三读取模块读取的与所述标志位对应的第一日志流的数值value添加到所述第二日志流中。
9.一种用于数据处理的终端,其特征在于,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至4中任一项所述的基于数据流的统计指标的显示方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至4中任一项所述的基于数据流的统计指标的显示方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811280786.1A CN109614417B (zh) | 2018-10-30 | 2018-10-30 | 基于数据流的报表指标的显示方法、装置及终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811280786.1A CN109614417B (zh) | 2018-10-30 | 2018-10-30 | 基于数据流的报表指标的显示方法、装置及终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109614417A CN109614417A (zh) | 2019-04-12 |
CN109614417B true CN109614417B (zh) | 2020-09-22 |
Family
ID=66002365
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811280786.1A Active CN109614417B (zh) | 2018-10-30 | 2018-10-30 | 基于数据流的报表指标的显示方法、装置及终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109614417B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110297846B (zh) * | 2019-05-28 | 2021-08-20 | 北京奇艺世纪科技有限公司 | 一种日志特征处理系统、方法、电子设备及存储介质 |
CN112115136B (zh) * | 2020-08-17 | 2022-11-15 | 苏宁云计算有限公司 | 多数据流处理方法、装置、计算机设备和存储介质 |
CN113342748B (zh) * | 2021-07-05 | 2024-07-19 | 北京腾云天下科技有限公司 | 日志数据处理方法和装置、分布式计算系统以及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1556490A (zh) * | 2004-01-08 | 2004-12-22 | 上海复旦光华信息科技股份有限公司 | 基于状态转换表的多源审计数据业务一致性判断方法 |
CN101247509A (zh) * | 2007-02-14 | 2008-08-20 | 智辉研发股份有限公司 | 设定频道特定节目类型的方法、播放节目方法与相关装置 |
CN103473078A (zh) * | 2013-09-30 | 2013-12-25 | 南京朗睿软件科技有限公司 | 一种生成报表的方法 |
CN103532940A (zh) * | 2013-09-30 | 2014-01-22 | 广东电网公司电力调度控制中心 | 网络安全检测方法及装置 |
CN106921614A (zh) * | 2015-12-24 | 2017-07-04 | 北京国双科技有限公司 | 业务数据处理方法和装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8973131B2 (en) * | 2012-11-02 | 2015-03-03 | International Business Machines Corporation | Refinement-based security analysis |
-
2018
- 2018-10-30 CN CN201811280786.1A patent/CN109614417B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1556490A (zh) * | 2004-01-08 | 2004-12-22 | 上海复旦光华信息科技股份有限公司 | 基于状态转换表的多源审计数据业务一致性判断方法 |
CN101247509A (zh) * | 2007-02-14 | 2008-08-20 | 智辉研发股份有限公司 | 设定频道特定节目类型的方法、播放节目方法与相关装置 |
CN103473078A (zh) * | 2013-09-30 | 2013-12-25 | 南京朗睿软件科技有限公司 | 一种生成报表的方法 |
CN103532940A (zh) * | 2013-09-30 | 2014-01-22 | 广东电网公司电力调度控制中心 | 网络安全检测方法及装置 |
CN106921614A (zh) * | 2015-12-24 | 2017-07-04 | 北京国双科技有限公司 | 业务数据处理方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN109614417A (zh) | 2019-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109614417B (zh) | 基于数据流的报表指标的显示方法、装置及终端 | |
Shi et al. | Predicting US primary elections with Twitter | |
US10574548B2 (en) | Key indicators view | |
CN105095211B (zh) | 多媒体数据的获取方法和装置 | |
CN106815125A (zh) | 一种日志审计方法及平台 | |
CN108710654B (zh) | 一种舆情数据可视化方法及设备 | |
CN111092880B (zh) | 一种网络流量数据提取方法及装置 | |
CN104978438A (zh) | 基于日志的实时分析方法及系统 | |
CN102855309A (zh) | 一种基于用户行为关联分析的信息推荐方法及装置 | |
JP6328846B2 (ja) | アダプティブビットレートストリーミングと関連したメッセージングを使用してモバイルプラットフォーム用のメディア監視を行うこと | |
CN109472017B (zh) | 获得待生成裁判文书本院认为段相关信息的方法及装置 | |
CN104270605B (zh) | 一种视频监控数据的处理方法及装置 | |
US10785329B2 (en) | Methods and apparatus to facilitate meter to meter matching for media identification | |
CN104270654A (zh) | 互联网视频播放监测方法和装置 | |
CN102929932A (zh) | 一种实时新闻的展现装置及其方法 | |
CN106557483B (zh) | 一种数据处理、数据查询方法及设备 | |
CN111258819A (zh) | MySQL数据库备份文件的数据获取方法、装置和系统 | |
US20130013625A1 (en) | Estimating apparatus, estimating method, and program | |
US20170337192A1 (en) | Network node, indexing server and methods performed thereby for supportingindexing of audio visual content | |
CN110851758B (zh) | 一种网页访客数量统计方法及装置 | |
CN112418941A (zh) | 一种基于实时流的资源人气计算方法、系统及存储介质 | |
CN103312584A (zh) | 一种在网络社区中发布信息的方法与设备 | |
US20140351005A1 (en) | Data Collection Method and Apparatus | |
CN105468748B (zh) | 一种分布式存储位置数据方法及系统 | |
US9558167B2 (en) | Method, system and web server for adding related microblogs on webpage |
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 |