CN111311326B - 用户行为实时多维度分析方法、装置及存储介质 - Google Patents
用户行为实时多维度分析方法、装置及存储介质 Download PDFInfo
- Publication number
- CN111311326B CN111311326B CN202010098994.0A CN202010098994A CN111311326B CN 111311326 B CN111311326 B CN 111311326B CN 202010098994 A CN202010098994 A CN 202010098994A CN 111311326 B CN111311326 B CN 111311326B
- Authority
- CN
- China
- Prior art keywords
- user
- data
- user behavior
- analysis
- data set
- 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
- 238000004458 analytical method Methods 0.000 title claims abstract description 152
- 230000006399 behavior Effects 0.000 claims abstract description 157
- 238000004364 calculation method Methods 0.000 claims abstract description 64
- 238000012545 processing Methods 0.000 claims abstract description 47
- 238000000034 method Methods 0.000 claims abstract description 34
- 238000007405 data analysis Methods 0.000 claims abstract description 17
- 238000000605 extraction Methods 0.000 claims description 14
- 230000000694 effects Effects 0.000 claims description 11
- 230000014759 maintenance of location Effects 0.000 claims description 6
- 238000004141 dimensional analysis Methods 0.000 claims description 4
- 230000004044 response Effects 0.000 abstract description 4
- 238000002955 isolation Methods 0.000 abstract description 3
- 230000006870 function Effects 0.000 description 16
- 230000008569 process Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 3
- 241001441732 Ostraciidae Species 0.000 description 2
- 241000270666 Testudines Species 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 241000282813 Aepyceros melampus Species 0.000 description 1
- 241001125046 Sardina pilchardus Species 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000032297 kinesis Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004091 panning Methods 0.000 description 1
- 235000019512 sardine Nutrition 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0201—Market modelling; Market analysis; Collecting market data
-
- 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/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2471—Distributed queries
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- Accounting & Taxation (AREA)
- Development Economics (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Entrepreneurship & Innovation (AREA)
- General Physics & Mathematics (AREA)
- Marketing (AREA)
- General Business, Economics & Management (AREA)
- Economics (AREA)
- Game Theory and Decision Science (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及数据分析技术领域,提出一种用户行为实时多维度分析方法、装置及存储介质,其中方法包括:通过实时处理程序提取分布式消息队列中的用户行为数据并进行处理,获取对应的数据集;将数据集发送至用户行为预分析引擎中,通过用户行为预分析引擎对用户数据进行预计算,并获取对应的预计算结果;将用户数据集及对应的预计算结果保存至分布式文件系统内;当对用户行为进行分析时,向查询引擎发出查询请求,查询引擎根据请求的类型和内容判断用户数据集是否已进行预计算;基于用户数据集是否已进行预计算的查询结果,通过对应的分析引擎分析获取查询结果并反馈。本发明能够提高查询响应速度和系统吞吐量,以及资源利用率和隔离性。
Description
技术领域
本发明涉及数据分析技术领域,尤其涉及一种用户行为实时多维度分析方法、装置及计算机可读存储介质。
背景技术
当前几乎所有的手机App都在不停的采集手机用户的行为数据,市场、产品、运营、管理者都需要对海量的用户行为数据进行实时多维的事件分析、漏斗分析、留存分析、分布分析、用户路径分析等。这些分析功能都必须建立在一个分布式的、可伸缩的、高可用的、实时的、计算和存储平台之上,因此大数据用户行为实时多维深度分析平台孕育而生,满足了海量的用户行为数据分析的需求。
目前,广泛应用的神策数据有类似的大数据用户行为实时多维分析平台,神策数据的分析平台主要由impala、kudu、hdfs、yarn组成。但其存在以下缺陷:每次分析必须基于海量的原始数据进行,导致用户经常使用的一些分析功能非常慢,用户体验非常差。
发明内容
本发明提供一种用户行为实时多维度分析方法、电子装置及计算机可读存储介质,其主要目的在于对用户经常使用的分析功能进行预计算,能够提高查询响应速度和系统吞吐量,改进用户体验。此外,还可以同时处理一到多个接入应用,每个程序都可以在Druid和YARN上独立分配资源,资源利用率高、隔离性强。
为实现上述目的,本发明提供一种用户行为实时多维度分析方法,应用于电子装置,所述方法包括:
通过实时处理程序提取所述分布式消息队列中的用户行为数据并进行处理,获取对应的数据集;
将所述数据集发送至数据仓库和用户行为预分析引擎中,通过所述数据仓库对所述用户数据集进行存储,通过所述用户行为预分析引擎对所述用户数据进行预计算,并获取对应的预计算结果;
将所述用户数据集及对应的预计算结果保存至分布式文件系统内;
当对所述用户行为进行分析时,向查询引擎发出查询请求,所述查询引擎根据所述请求的类型和内容判断用户数据集是否已进行预计算;
基于所述用户数据集是否已进行预计算的查询结果,通过对应的分析引擎分析获取查询结果并反馈。
优选地,所述请求类型包括:总体指标、事件分析、漏斗分析、留存分析、分布分析、用户路径分析;
所述预计算的维度包括:App版本、操作系统、操作系统版本、渠道、国家、省份、城市、网络、运营商、设备品牌、设备型号、屏幕大小、语言。
优选地,所述通过实时处理程序提取所述分布式消息队列中的用户行为数据并进行处理,获取对应的数据集的步骤包括:
从分布式消息队列的talking data主题中获取与所述用户行为数据对应的日志数据;
对所述日志数据依次进行数据解析、抽取关键信息和信息分类处理,获取对应的用户设备信息、用户事件信息、用户会话信息、用户活动信息和新用户信息五个数据集合。
优选地,所述通过实时处理程序提取所述分布式消息队列中的用户行为数据并进行处理,获取对应的数据集的步骤还包括:
从分布式消息队列的device主题中获取所述日志数据中的用户属性数据;
对所述用户属性数据依次进行数据解析和抽取关键信息处理,获取与用户属性数据对应的数据集。
优选地,所述基于所述用户数据集是否已进行预计算的查询结果,通过对应的分析引擎分析获取查询结果并反馈的步骤包括:
若所述用户数据集已经执行预计算,则将所述请求发送至所述用户行为预分析引擎,所述用户行为预分析引擎通过Druid在所述分布式文件系统内查询所述预计算结果,并基于所述预计算结果分析获取查询结果并返回;
若所述用户数据集没有执行预计算,则将所述请求发送至用户行为分析引擎,所述用户行为分析引擎通过Hive LLAP查询访问所述数据仓库,分析获取查询结果并返回。
为实现上述目的,本发明还提供一种电子装置,该电子装置包括:存储器及处理器,所述存储器中包括用户行为实时多维度分析程序,所述用户行为实时多维度分析程序被所述处理器执行时实现如下步骤:
通过实时处理程序提取所述分布式消息队列中的用户行为数据并进行处理,获取对应的数据集;
将所述数据集发送至数据仓库和用户行为预分析引擎中,通过所述数据仓库对所述用户数据集进行存储,通过所述用户行为预分析引擎对所述用户数据进行预计算,并获取对应的预计算结果;
将所述用户数据集及对应的预计算结果保存至分布式文件系统内;
当对所述用户行为进行分析时,向查询引擎发出查询请求,所述查询引擎根据所述请求的类型和内容判断用户数据集是否已进行预计算;
基于所述用户数据集是否已进行预计算的查询结果,通过对应的分析引擎分析获取查询结果并反馈。
优选地,所述通过实时处理程序提取所述分布式消息队列中的用户行为数据并进行处理,获取对应的数据集的步骤包括:
从分布式消息队列的talking data主题中获取与所述用户行为数据对应的日志数据;
对所述日志数据依次进行数据解析、抽取关键信息和信息分类处理,获取对应的用户设备信息、用户事件信息、用户会话信息、用户活动信息和新用户信息五个数据集合。
优选地,所述通过实时处理程序提取所述分布式消息队列中的用户行为数据并进行处理,获取对应的数据集的步骤还包括:
从分布式消息队列的device主题中获取所述日志数据中的用户属性数据;
对所述用户属性数据依次进行数据解析和抽取关键信息处理,获取与用户属性数据对应的数据集。
优选地,所述基于所述用户数据集是否已进行预计算的查询结果,通过对应的分析引擎分析获取查询结果并反馈的步骤包括:
若所述用户数据集已经执行预计算,则将所述请求发送至所述用户行为预分析引擎,所述用户行为预分析引擎通过Druid在所述分布式文件系统内查询所述预计算结果,并基于所述预计算结果分析获取查询结果并返回;
若所述用户数据集没有执行预计算,则将所述请求发送至用户行为分析引擎,所述用户行为分析引擎通过Hive LLAP查询访问所述数据仓库,分析获取查询结果并返回。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质中包括用户行为实时多维度分析程序,所述用户行为实时多维度分析程序被处理器执行时,实现如上所述的用户行为实时多维度分析方法中的任意步骤。
本发明提出的用户行为实时多维度分析方法、电子装置及计算机可读存储介质,对用户经常使用的一些分析功能进行预计算并保留计算结果,当用户使用此分析功能时直接将已经计算好的结果返回给用户,从而经过预计算技术提高查询响应速度和系统吞吐量,改进用户体验。同时,根据每个接入应用的数据量大小,为每个接入应用独立的评估、分配计算资源和存储资源,以应用为单位对资源进行更加细粒度的管理,能够提高资源利用率,此外由于每个接入应用使用的资源都是独立的,接入应用之间互不影响,还能够增强资源的隔离性。
附图说明
图1为本发明用户行为实时多维度分析方法较佳实施例的应用环境示意图;
图2为图1中用户行为实时多维度分析程序较佳实施例的模块示意图;
图3为本发明用户行为实时多维度分析方法较佳实施例的流程图;
图4为本发明用户行为实时多维度分析方法的原理框图;
图5为本发明用户行为实时多维度分析系统的框图;
图6为本发明用户行为实时多维度分析系统的结构图;
图7为本发明用户行为实时多维度分析的程序原理图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提供一种用户行为实时多维度分析方法,应用于一种电子装置1。参照图1所示,为本发明用户行为实时多维度分析方法较佳实施例的应用环境示意图。
在本实施例中,电子装置1可以是服务器、智能手机、平板电脑、便携计算机、桌上型计算机等具有运算功能的终端设备。
该电子装置1包括:处理器12、存储器11、摄像装置13、网络接口14及通信总线15。
存储器11包括至少一种类型的可读存储介质。所述至少一种类型的可读存储介质可为如闪存、硬盘、多媒体卡、卡型存储器11等的非易失性存储介质。在一些实施例中,所述可读存储介质可以是所述电子装置1的内部存储单元,例如该电子装置1的硬盘。在另一些实施例中,所述可读存储介质也可以是所述电子装置1的外部存储器11,例如所述电子装置1上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。
在本实施例中,所述存储器11的可读存储介质通常用于存储安装于所述电子装置1的用户行为实时多维度分析程序10等。所述存储器11还可以用于暂时地存储已经输出或者将要输出的数据。
处理器12在一些实施例中可以是一中央处理器(Central Processing Unit,CPU),微处理器或其他数据处理芯片,用于运行存储器11中存储的程序代码或处理数据,例如执行用户行为实时多维度分析程序10等。
网络接口14可选地可以包括标准的有线接口、无线接口(如WI-FI接口),通常用于在该电子装置1与其他电子设备之间建立通信连接。
通信总线15用于实现这些组件之间的连接通信。
图1仅示出了具有组件11-15的电子装置1,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
可选地,该电子装置1还可以包括用户接口,用户接口可以包括输入单元比如键盘(Keyboard)、语音输入装置比如麦克风(microphone)等具有语音识别功能的设备、语音输出装置比如音响、耳机等,可选地用户接口还可以包括标准的有线接口、无线接口。
可选地,该电子装置1还可以包括显示器,显示器也可以称为显示屏或显示单元。在一些实施例中可以是LED显示器、液晶显示器、触控式液晶显示器以及有机发光二极管(Organic Light-Emitting Diode,OLED)触摸器等。显示器用于显示在电子装置1中处理的信息以及用于显示可视化的用户界面。
可选地,该电子装置1还包括触摸传感器。所述触摸传感器所提供的供用户进行触摸操作的区域称为触控区域。此外,这里所述的触摸传感器可以为电阻式触摸传感器、电容式触摸传感器等。而且,所述触摸传感器不仅包括接触式的触摸传感器,也可包括接近式的触摸传感器等。此外,所述触摸传感器可以为单个传感器,也可以为例如阵列布置的多个传感器。
此外,该电子装置1的显示器的面积可以与所述触摸传感器的面积相同,也可以不同。可选地,将显示器与所述触摸传感器层叠设置,以形成触摸显示屏。该装置基于触摸显示屏侦测用户触发的触控操作。
可选地,该电子装置1还可以包括射频(Radio Frequency,RF)电路,传感器、音频电路等等,在此不再赘述。
在图1所示的装置实施例中,作为一种计算机存储介质的存储器11中可以包括操作系统、以及用户行为实时多维度分析程序10;处理器12执行存储器11中存储的用户行为实时多维度分析程序10时实现如下步骤:
通过实时处理程序提取所述分布式消息队列中的用户行为数据并进行处理,获取对应的数据集;
将所述数据集发送至数据仓库和用户行为预分析引擎中,通过所述数据仓库对所述用户数据集进行存储,通过所述用户行为预分析引擎对所述用户数据进行预计算,并获取对应的预计算结果;
将所述用户数据集及对应的预计算结果保存至分布式文件系统内;
当对所述用户行为进行分析时,向查询引擎发出查询请求,所述查询引擎根据所述请求的类型和内容判断用户数据集是否已进行预计算;
基于所述用户数据集是否已进行预计算的查询结果,通过对应的分析引擎分析获取查询结果并反馈。
优选地,所述请求类型包括:总体指标、事件分析、漏斗分析、留存分析、分布分析、用户路径分析;
所述预计算的维度包括:App版本、操作系统、操作系统版本、渠道、国家、省份、城市、网络、运营商、设备品牌、设备型号、屏幕大小、语言。
优选地,所述通过实时处理程序提取所述分布式消息队列中的用户行为数据并进行处理,获取对应的数据集的步骤包括:
从分布式消息队列的talking data主题中获取与所述用户行为数据对应的日志数据;
对所述日志数据依次进行数据解析、抽取关键信息和信息分类处理,获取对应的用户设备信息、用户事件信息、用户会话信息、用户活动信息和新用户信息五个数据集合。
优选地,所述通过实时处理程序提取所述分布式消息队列中的用户行为数据并进行处理,获取对应的数据集的步骤还包括:
从分布式消息队列的device主题中获取所述日志数据中的用户属性数据;
对所述用户属性数据依次进行数据解析和抽取关键信息处理,获取与用户属性数据对应的数据集。
优选地,所述基于所述用户数据集是否已进行预计算的查询结果,通过对应的分析引擎分析获取查询结果并反馈的步骤包括:
若所述用户数据集已经执行预计算,则将所述请求发送至所述用户行为预分析引擎,所述用户行为预分析引擎通过Druid在所述分布式文件系统内查询所述预计算结果,并基于所述预计算结果分析获取查询结果并返回;
若所述用户数据集没有执行预计算,则将所述请求发送至用户行为分析引擎,所述用户行为分析引擎通过Hive LLAP查询访问所述数据仓库,分析获取查询结果并返回。
在其他实施例中,用户行为实时多维度分析程序10还可以被分割为一个或者多个模块,一个或者多个模块被存储于存储器11中,并由处理器12执行,以完成本发明。本发明所称的模块是指能够完成特定功能的一系列计算机程序指令段。
参照图2所示,为图1中用户行为实时多维度分析程序10较佳实施例的程序模块图。所述用户行为实时多维度分析程序10可以被分割为:
数据集获取单元101,用于通过实时处理程序提取所述分布式消息队列中的用户行为数据并进行处理,获取对应的数据集;
预计算结果获取单元102,用于将所述数据集发送至数据仓库和用户行为预分析引擎中,通过所述数据仓库对所述用户数据集进行存储,通过所述用户行为预分析引擎对所述用户数据进行预计算,并获取对应的预计算结果;
预计算结果保存单元103,用于将所述用户数据集及对应的预计算结果保存至分布式文件系统内;
判断单元104,用于当对所述用户行为进行分析时,向查询引擎发出查询请求,所述查询引擎根据所述请求的类型和内容判断用户数据集是否已进行预计算;
结果反馈单元105,用于基于所述用户数据集是否已进行预计算的查询结果,通过对应的分析引擎分析获取查询结果并反馈。
此外,本发明还提供一种用户行为实时多维度分析方法。参照图3所示,为本发明用户行为实时多维度分析方法较佳实施例的流程图。该方法可以由一个装置执行,该装置可以由软件和/或硬件实现。
在本实施例中,用户行为实时多维度分析方法包括:
S110:通过实时处理程序提取所述分布式消息队列中的用户行为数据并进行处理,获取对应的数据集。
S120:将所述数据集发送至数据仓库和用户行为预分析引擎中,通过所述数据仓库对所述用户数据集进行存储,通过所述用户行为预分析引擎对所述用户数据进行预计算,并获取对应的预计算结果。
S130:将所述用户数据集及对应的预计算结果保存至分布式文件系统内。
其中,预计算的过程主要是对用户比较关系的指标,比如活跃用户数、新增用户数、减少用户数等,按着常规或者经常使用的维度进行实时的预先计算,并将预计算结果进行保存。等用户查询时可直接将预先计算的结果返回给客户,而不是从原始数据中临时进行指标计算。
S140:当对所述用户行为进行分析时,向查询引擎发出查询请求,所述查询引擎根据所述请求的类型和内容判断用户数据集是否已进行预计算。
其中,请求类型包括总体指标、事件分析、漏斗分析、留存分析、分布分析、用户路径分析等。预计算的维度包括App版本、操作系统、操作系统版本、渠道、国家、省份、城市、网络、运营商、设备品牌、设备型号、屏幕大小、语言等。
S150:基于所述用户数据集是否已进行预计算的查询结果,通过对应的分析引擎分析获取查询结果并反馈。
其中,基于所述用户数据集是否已进行预计算的查询结果,通过对应的分析引擎分析获取查询结果并反馈包括两种情况:
若所述用户数据集已经执行预计算,则将所述请求发送至所述用户行为预分析引擎,所述用户行为预分析引擎通过Druid(实时多维度分析系统)在所述分布式文件系统内查询所述预计算结果,并基于所述预计算结果分析获取查询结果并返回;
若所述用户数据集没有执行预计算,则将所述请求发送至用户行为分析引擎,所述用户行为分析引擎通过Hive LLAP(长生命周期的结构化查询引擎)查询访问所述数据仓库,分析获取查询结果并返回。
进一步地,通过实时处理程序提取分布式消息队列中的用户行为数据并进行处理,获取对应的数据集也包括两种情况:
第一种情况:从分布式消息队列的talking data主题中获取与所述用户行为数据对应的日志数据;对所述日志数据依次进行数据解析、抽取关键信息和信息分类处理,获取对应的用户设备信息、用户事件信息、用户会话信息、用户活动信息和新用户信息五个数据集合。
具体地,用户事件信息主要记录某个app用户什么时间点在app上点击了什么按钮,例如:用户A在18点使用淘宝app向购物车中加入了一个衣服。活动信息记录某个app用户什么时候在app上点击了什么网页。会话信息记录某个用户在一次app的会话中触发了那些事件和活动。新用户信息记录了某个app在什么时候增加了一个新用户及其用户基本信息。
进一步地,实时批量处理程序turtle通过spark streaming(通用大数据流处理系统)将5个数据集合送入数据仓库存储。实时处理程序flyfish使用kafkastream(分布式消息队列流处理引擎)将5个数据集合送入用户行为预分析引擎做预计算,并获取对应的预计算结果。
第二种情况,从分布式消息队列的device主题中获取所述日志数据中的用户属性数据;对所述用户属性数据依次进行数据解析和抽取关键信息处理,获取与用户属性数据对应的数据集。
进一步地,将与用户属性数据对应的数据集并送入分布式实时数据库,这个过程由实时批量处理程序boxfish负责完成,使用spark streaming来实现。分布式实时数据库中的用户属性数据会以一定的时间间隔写入数据仓库中,这个过程可通过编写Spark程序来实现。
其中,Spark Streaming是Spark核心API的一个扩展,可以实现高吞吐量的、具备容错机制的实时流数据的处理。支持从多种数据源获取数据,包括Kafk、Flume、Twitter、ZeroMQ、Kinesis以及TCP sockets,从数据源获取数据之后,可以使用诸如map、reduce、join和window等高级函数进行复杂算法的处理。最后还可以将处理结果存储到文件系统,数据库和现场仪表盘中。
另外,在所述用户行为分析引擎的资源管理器上独立分配计算资源列队,在所述用户行为预分析引擎的资源管理器上独立分配存储资源和计算资源。
具体地,所述用户行为分析引擎根据所述查询请求解析对应用户行为的ID,并根据所述ID选择对应的资源列队来运行分析功能,所述用户行为预分析引擎根据所述查询请求解析对应用户行为的ID,并根据所述ID将分析数据存储在对应用户行为的存储资源上,并根据所述ID选择对应的存储资源运行分析功能。
作为具体示例,在本发明的用户行为实时多维度分析方法中,海量的用户行为数据通过数据传输工具从web服务器传输到分布式消息队列的talkingdata主题和device主题中。其中,数据传输工具可以采用Flume,分布式消息队列可采用Kafka,如图4所示。
在图4中,数据仓库是Hive,分布式实时数据库是HBase,用户行为预分析引擎使用Druid做预计算。数据仓库内的数据、分布式实时数据库内的数据和预计算结果最终被保存在分布式文件系统HDFS中。当平台用户进行多维分析的时候会向查询引擎发出查询请求,查询引擎会根据请求的类型和内容判断是否已经预先进行过预计算,如果已经预先进行过预计算,就将请求转发给用户行为预分析引擎,用户行为预分析引擎使用Druid查询预计算的分析结果再进行简单加工,最后将最终结果返回给用户。否则将请求转发给用户行为分析引擎,用户行为分析引擎使用Hive LLAP查询用户行为数据进行分析并将分析结果返回给用户。
为了实现上述功能,对接入数据的每个应用分配一个产品ID。根据产品ID,在用户行为分析引擎的资源管理器(YARN)上独立分配计算资源队列和在用户行为预分析引擎的资源管理器上独立的分配存储资源和计算资源,这样不同产品之间互不影响,增强了资源的隔离性。用户行为分析引擎解析出查询请求的产品ID,会根据产品ID选择不同的资源队列来运行分析功能。用户行为预分析引擎会根据产品ID将分析数据存储在产品ID专属的存储资源上,产品之间的存储资源是完全隔离的,同时会根据产品ID选择不同的资源来运行分析功能。
对应上述用户行为实时多维度分析方法,本发明还提供一种用户行为实时多维度分析系统,系统结构框图如图5所示。
在图5中,连接接口包括通用接口JDBC(数据库连接)、thrift(接口描述语言和二进制通讯协议)、REST(表述性状态转移)等用于连接系统和外层应用,数据传输工具Flume从日志服务器log server获取海量用户行为数据,然后发送至分布式消息队列kafka中,分布式消息队列kafka通过sparkstreaming进一步与数据仓库Hive和分布式实时数据库HBase连接。此外,在用户行为分析用过程中,分布式实时数据库HBase中的数据会以一定的时间间隔写入数据仓库中,数据仓库与通用接口连接,用于将查询结果返回至外层应用。此外,Kafka与Druid通过实时处理程序flyfish连接,Druid与通用接口连接,最终的用户行为分析结果从Druid或者数据仓库(配合通用接口)输出。
进一步地,图6示出了用户行为实时多维度分析系统的示意结构。
通过图6可知,该用户行为实时多维度分析系统从下到上分为:存储层、资源管理层、计算层。
存储层包含:HDFS、Hive、HBase、Kafka、Druid。
资源管理层包含:YARN、Druid。
计算层包含:Spark、Hive LLAP、Spark Streaming、Kafka Stream、Druid。
其他包含ZooKeeper(可靠协调系统)、Flume。
用户行为的原始数据存储在Hive中以实现明细查询,Druid横跨三个层提供实时的多维分析。
如图7所示,该系统进一步包含三个实时流处理程序、两个批处理程序和一个工具程序。
其中,实时处理程序flyfish使用kafka stream实现,负责实时的从kafka的talking data主题解析日志数据提取event、session、chunk、activity、newdevice信息存入kafka的相关主题,并由Druid Index Service摄入。
另外,实时批量处理程序turtle使用spark streaming实现,负责实时的从kafka的talking data主题解析日志数据提取event、session、chunk、activity、newdevice信息存入Hive相关表中。
另外,实时批量处理程序boxfish使用spark streaming实现,负责实时的从kafka的device主题解析设备信息数据并存入hbase的device信息表中。
另外,批量处理程序sardine属于用户行为预分析引擎,负责统计累计的设备数量。
另外,Druid的工具程序nemo负责Druid的segment文件批量合并、批量下线、批量删除,由Druid的维护人员使用。
本发明的用户行为实时多维度分析方法,对用户经常使用的一些分析功能进行预计算并保留计算结果,当用户使用此分析功能时直接将已经计算好的结果返回给用户。经过预计算技术提高了查询响应速度和系统吞吐量,改进了用户体验。同时,根据每个接入应用的数据量大小,为每个接入应用独立的评估、分配计算资源和存储资源,以应用为单位对资源进行更加细粒度的管理,能够提高资源利用率,此外由于每个接入应用使用的资源都是独立的,接入应用之间互不影响,增强了资源的隔离性。
此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质中包括用户行为实时多维度分析程序,所述用户行为实时多维度分析程序被处理器执行时实现如下操作:
通过实时处理程序提取所述分布式消息队列中的用户行为数据并进行处理,获取对应的数据集;
将所述数据集发送至数据仓库和用户行为预分析引擎中,通过所述数据仓库对所述用户数据集进行存储,通过所述用户行为预分析引擎对所述用户数据进行预计算,并获取对应的预计算结果;
将所述用户数据集及对应的预计算结果保存至分布式文件系统内;
当对所述用户行为进行分析时,向查询引擎发出查询请求,所述查询引擎根据所述请求的类型和内容判断用户数据集是否已进行预计算;
基于所述用户数据集是否已进行预计算的查询结果,通过对应的分析引擎分析获取查询结果并反馈。
优选地,所述请求类型包括:总体指标、事件分析、漏斗分析、留存分析、分布分析、用户路径分析;
所述预计算的维度包括:App版本、操作系统、操作系统版本、渠道、国家、省份、城市、网络、运营商、设备品牌、设备型号、屏幕大小、语言。
优选地,所述通过实时处理程序提取所述分布式消息队列中的用户行为数据并进行处理,获取对应的数据集的步骤包括:
从分布式消息队列的talking data主题中获取与所述用户行为数据对应的日志数据;
对所述日志数据依次进行数据解析、抽取关键信息和信息分类处理,获取对应的用户设备信息、用户事件信息、用户会话信息、用户活动信息和新用户信息五个数据集合。
优选地,所述通过实时处理程序提取所述分布式消息队列中的用户行为数据并进行处理,获取对应的数据集的步骤还包括:
从分布式消息队列的device主题中获取所述日志数据中的用户属性数据;
对所述用户属性数据依次进行数据解析和抽取关键信息处理,获取与用户属性数据对应的数据集。
优选地,所述基于所述用户数据集是否已进行预计算的查询结果,通过对应的分析引擎分析获取查询结果并反馈的步骤包括:
若所述用户数据集已经执行预计算,则将所述请求发送至所述用户行为预分析引擎,所述用户行为预分析引擎通过Druid在所述分布式文件系统内查询所述预计算结果,并基于所述预计算结果分析获取查询结果并返回;
若所述用户数据集没有执行预计算,则将所述请求发送至用户行为分析引擎,所述用户行为分析引擎通过Hive LLAP查询访问所述数据仓库,分析获取查询结果并返回。
本发明之计算机可读存储介质的具体实施方式与上述用户行为实时多维度分析方法、电子装置的具体实施方式大致相同,在此不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (8)
1.一种用户行为实时多维度分析方法,应用于电子装置,其特征在于,所述方法包括:
通过实时处理程序提取分布式消息队列中的用户行为数据并进行处理,获取对应的用户数据集;
将所述用户数据集发送至数据仓库和用户行为预分析引擎中,通过所述数据仓库对所述用户数据集进行存储,通过所述用户行为预分析引擎对所述用户数据进行预计算,并获取对应的预计算结果;
将所述用户数据集及对应的预计算结果保存至分布式文件系统内;
当对所述用户行为进行分析时,向查询引擎发出查询请求,所述查询引擎根据所述请求的类型和内容判断用户数据集是否已进行预计算;
基于所述用户数据集是否已进行预计算的查询结果,通过对应的分析引擎分析获取查询结果并反馈;
所述通过实时处理程序提取所述分布式消息队列中的用户行为数据并进行处理,获取对应的用户数据集的步骤包括:
从分布式消息队列的talking data主题中获取与所述用户行为数据对应的日志数据;
对所述日志数据依次进行数据解析、抽取关键信息和信息分类处理,获取对应的用户设备信息、用户事件信息、用户会话信息、用户活动信息和新用户信息五个数据集合。
2.根据权利要求1所述的用户行为实时多维度分析方法,其特征在于,
所述请求的类型包括:总体指标、事件分析、漏斗分析、留存分析、分布分析、用户路径分析;
所述预计算的维度包括:App版本、操作系统、操作系统版本、渠道、国家、省份、城市、网络、运营商、设备品牌、设备型号、屏幕大小、语言。
3.根据权利要求1所述的用户行为实时多维度分析方法,其特征在于,
所述通过实时处理程序提取所述分布式消息队列中的用户行为数据并进行处理,获取对应的数据集的步骤还包括:
从分布式消息队列的device主题中获取所述日志数据中的用户属性数据;
对所述用户属性数据依次进行数据解析和抽取关键信息处理,获取与用户属性数据对应的数据集。
4.根据权利要求1所述的用户行为实时多维度分析方法,其特征在于,
所述基于所述用户数据集是否已进行预计算的查询结果,通过对应的分析引擎分析获取查询结果并反馈的步骤包括:
若所述用户数据集已经执行预计算,则将所述请求发送至所述用户行为预分析引擎,所述用户行为预分析引擎通过Druid在所述分布式文件系统内查询所述预计算结果,并基于所述预计算结果分析获取查询结果并返回;
若所述用户数据集没有执行预计算,则将所述请求发送至用户行为分析引擎,所述用户行为分析引擎通过Hive LLAP查询访问所述数据仓库,分析获取查询结果并返回。
5.一种电子装置,其特征在于,该电子装置包括:存储器及处理器,所述存储器中包括用户行为实时多维度分析程序,所述用户行为实时多维度分析程序被所述处理器执行时实现如下步骤:
通过实时处理程序提取分布式消息队列中的用户行为数据并进行处理,获取对应的用户数据集;
将所述用户数据集发送至数据仓库和用户行为预分析引擎中,通过所述数据仓库对所述用户数据集进行存储,通过所述用户行为预分析引擎对所述用户数据进行预计算,并获取对应的预计算结果;
将所述用户数据集及对应的预计算结果保存至分布式文件系统内;
当对所述用户行为进行分析时,向查询引擎发出查询请求,所述查询引擎根据所述请求的类型和内容判断用户数据集是否已进行预计算;
基于所述用户数据集是否已进行预计算的查询结果,通过对应的分析引擎分析获取查询结果并反馈;
所述通过实时处理程序提取所述分布式消息队列中的用户行为数据并进行处理,获取对应的用户数据集的步骤包括:
从分布式消息队列的talking data主题中获取与所述用户行为数据对应的日志数据;
对所述日志数据依次进行数据解析、抽取关键信息和信息分类处理,获取对应的用户设备信息、用户事件信息、用户会话信息、用户活动信息和新用户信息五个数据集合。
6.根据权利要求5所述的电子装置,其特征在于,
所述通过实时处理程序提取所述分布式消息队列中的用户行为数据并进行处理,获取对应的数据集的步骤还包括:
从分布式消息队列的device主题中获取所述日志数据中的用户属性数据;
对所述用户属性数据依次进行数据解析和抽取关键信息处理,获取与用户属性数据对应的数据集。
7.根据权利要求5所述的电子装置,其特征在于,
所述基于所述用户数据集是否已进行预计算的查询结果,通过对应的分析引擎分析获取查询结果并反馈的步骤包括:
若所述用户数据集已经执行预计算,则将所述请求发送至所述用户行为预分析引擎,所述用户行为预分析引擎通过Druid在所述分布式文件系统内查询所述预计算结果,并基于所述预计算结果分析获取查询结果并返回;
若所述用户数据集没有执行预计算,则将所述请求发送至用户行为分析引擎,所述用户行为分析引擎通过Hive LLAP查询访问所述数据仓库,分析获取查询结果并返回。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中包括用户行为实时多维度分析程序,所述用户行为实时多维度分析程序被处理器执行时,实现如权利要求1至4中任一项所述的用户行为实时多维度分析方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010098994.0A CN111311326B (zh) | 2020-02-18 | 2020-02-18 | 用户行为实时多维度分析方法、装置及存储介质 |
PCT/CN2020/117423 WO2021164253A1 (zh) | 2020-02-18 | 2020-09-24 | 用户行为实时多维度分析方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010098994.0A CN111311326B (zh) | 2020-02-18 | 2020-02-18 | 用户行为实时多维度分析方法、装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111311326A CN111311326A (zh) | 2020-06-19 |
CN111311326B true CN111311326B (zh) | 2024-05-28 |
Family
ID=71151051
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010098994.0A Active CN111311326B (zh) | 2020-02-18 | 2020-02-18 | 用户行为实时多维度分析方法、装置及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN111311326B (zh) |
WO (1) | WO2021164253A1 (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111311326B (zh) * | 2020-02-18 | 2024-05-28 | 平安科技(深圳)有限公司 | 用户行为实时多维度分析方法、装置及存储介质 |
CN111930857A (zh) * | 2020-07-08 | 2020-11-13 | 成都双链科技有限责任公司 | 一种基于图计算的实时联机数据分析处理方法 |
CN112182031B (zh) * | 2020-10-12 | 2023-06-13 | 浙江大华技术股份有限公司 | 数据查询方法及装置、存储介质、电子装置 |
CN112269808B (zh) * | 2020-11-17 | 2024-03-19 | 携程旅游网络技术(上海)有限公司 | 引擎查询控制方法、系统、设备及存储介质 |
CN112486964B (zh) * | 2020-11-26 | 2024-04-26 | 中国人寿保险股份有限公司 | 一种目标识别方法及设备 |
CN113506178A (zh) * | 2021-07-27 | 2021-10-15 | 中国工商银行股份有限公司 | 交易引流数据统计分析方法、装置、设备、介质和程序产品 |
CN114265883B (zh) * | 2021-12-27 | 2024-06-14 | 浪潮卓数大数据产业发展有限公司 | 一种实时数据治理的方法、设备、存储介质 |
CN114417817B (zh) * | 2021-12-30 | 2023-05-16 | 中国电信股份有限公司 | 一种会话信息切割方法和装置 |
CN114996306B (zh) * | 2022-08-04 | 2022-10-18 | 北京首信科技股份有限公司 | 一种基于多维度的数据管理方法及系统 |
CN115689844B (zh) * | 2023-01-04 | 2023-03-28 | 成都中轨轨道设备有限公司 | 一种基于多维引擎的智能数据管理平台、搭建方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107944059A (zh) * | 2017-12-29 | 2018-04-20 | 深圳市中润四方信息技术有限公司西安分公司 | 一种基于流计算的用户行为分析方法及系统 |
CN109684352A (zh) * | 2018-12-29 | 2019-04-26 | 江苏满运软件科技有限公司 | 数据分析系统、方法、存储介质及电子设备 |
CN110399395A (zh) * | 2018-04-18 | 2019-11-01 | 福建天泉教育科技有限公司 | 基于预计算的加速查询方法、存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105302831A (zh) * | 2014-07-18 | 2016-02-03 | 上海星红桉数据科技有限公司 | 基于海量用户行为数据的高速计算分析方法 |
KR102291557B1 (ko) * | 2018-07-03 | 2021-08-19 | 네이버 주식회사 | 사용자 행동 분석 장치 및 사용자 행동 분석 방법 |
CN111311326B (zh) * | 2020-02-18 | 2024-05-28 | 平安科技(深圳)有限公司 | 用户行为实时多维度分析方法、装置及存储介质 |
-
2020
- 2020-02-18 CN CN202010098994.0A patent/CN111311326B/zh active Active
- 2020-09-24 WO PCT/CN2020/117423 patent/WO2021164253A1/zh active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107944059A (zh) * | 2017-12-29 | 2018-04-20 | 深圳市中润四方信息技术有限公司西安分公司 | 一种基于流计算的用户行为分析方法及系统 |
CN110399395A (zh) * | 2018-04-18 | 2019-11-01 | 福建天泉教育科技有限公司 | 基于预计算的加速查询方法、存储介质 |
CN109684352A (zh) * | 2018-12-29 | 2019-04-26 | 江苏满运软件科技有限公司 | 数据分析系统、方法、存储介质及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN111311326A (zh) | 2020-06-19 |
WO2021164253A1 (zh) | 2021-08-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111311326B (zh) | 用户行为实时多维度分析方法、装置及存储介质 | |
US20210049191A1 (en) | Transforming a Data Stream into Structured Data | |
US11139993B2 (en) | Method, apparatus, and computer program product for generating a predicted channel add object in a group-based communication system | |
CN112162965B (zh) | 一种日志数据处理的方法、装置、计算机设备及存储介质 | |
CN112035531B (zh) | 敏感数据处理方法、装置、设备及介质 | |
CN112732466A (zh) | 一种服务调用方法、装置和系统 | |
WO2022048422A1 (zh) | 数据处理的方法、装置、设备及存储介质 | |
CN111414361A (zh) | 标签数据存储方法、装置、设备及可读存储介质 | |
US10171606B2 (en) | System and method for providing data as a service (DaaS) in real-time | |
KR101614890B1 (ko) | 멀티 테넌시 이력 생성 방법, 이를 수행하는 멀티 테넌시 이력 생성 서버 및 이를 저장하는 기록매체 | |
CN117390011A (zh) | 报表数据处理方法、装置、计算机设备和存储介质 | |
CN113254480A (zh) | 一种数据查询方法及装置 | |
CN113918577B (zh) | 数据表识别方法、装置、电子设备及存储介质 | |
US10185729B2 (en) | Index creation method and system | |
CN114510708A (zh) | 实时数据仓库构建、异常检测方法、装置、设备及产品 | |
CN113590322A (zh) | 一种数据处理方法和装置 | |
US9536199B1 (en) | Recommendations based on device usage | |
CN111459981B (zh) | 查询任务的处理方法、装置、服务器及系统 | |
CN107888445B (zh) | 性能状态分析的方法、装置、计算机设备及存储介质 | |
WO2017184180A1 (en) | Determining probable root cause of performance issues | |
US11423109B2 (en) | Information processing method, server and computer program product | |
CN111143328A (zh) | 一种敏捷商业智能数据构建方法、系统、设备、存储介质 | |
CN112214290B (zh) | 日志信息处理方法、边缘节点、中心节点和系统 | |
CN106547788B (zh) | 数据处理方法和装置 | |
US11842077B2 (en) | Method, device, and computer program product for transmitting data for object storage |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40032050 Country of ref document: HK |
|
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |