CN114791914A - 基于Bitmap位图的用户行为统计方法、装置、设备及介质 - Google Patents
基于Bitmap位图的用户行为统计方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN114791914A CN114791914A CN202210492900.7A CN202210492900A CN114791914A CN 114791914 A CN114791914 A CN 114791914A CN 202210492900 A CN202210492900 A CN 202210492900A CN 114791914 A CN114791914 A CN 114791914A
- Authority
- CN
- China
- Prior art keywords
- user behavior
- bitmap
- data
- period
- target
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2237—Vectors, bitmaps or matrices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
-
- 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/21—Design, administration or maintenance of databases
- G06F16/215—Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
-
- 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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- 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/2462—Approximate or statistical queries
-
- 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/25—Integrating or interfacing systems involving database management systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/283—Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Software Systems (AREA)
- Finance (AREA)
- Development Economics (AREA)
- Accounting & Taxation (AREA)
- Probability & Statistics with Applications (AREA)
- Entrepreneurship & Innovation (AREA)
- Quality & Reliability (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Fuzzy Systems (AREA)
- Game Theory and Decision Science (AREA)
- Economics (AREA)
- Marketing (AREA)
- General Business, Economics & Management (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及大数据技术领域,揭露一种基于Bitmap位图的用户行为统计方法、装置、设备及介质,其中方法包括采集用户行为数据,并将其以切片周期的方式存储于分布式文件系统的周期文件中和入库到数据仓库工具h i ve的分区表中;对当前切片周期的用户行为数据执行去重处理,得到用户行为事件中间表;将上一切片周期的用户行为位图与用户行为事件中间表进行全关联,生成当前周期的用户行为位图,且将当前周期的用户行为位图与其他周期的用户行为位图作为目标用户行为位图;根据用户行为统计请求,从目标用户行为位图中统计用户行为数据,得到目标数据。本发明将用户行为数据转换为位图形式,提高了用户行为数据的统计效率。
Description
技术领域
本申请涉及大数据技术领域,尤其涉及一种基于Bitmap位图的用户行为统计方法、装置、设备及介质。
背景技术
在大数据时代,用户在各个端产生了海量行为数据。而用户行为统计是需要根据用户任一段周期内的某一类行为或者多类行为来统计,进一步根据统计结果将用户划分或聚类出不同群体,然后对不同群体进行不同的个性化营销服务。为此,需要针对海量数据的用户行为统计方案,以实现快速便捷灵活的统计任意段周期内、任意行为统计数据。
现有针对海量的用户行为数据的统计方式是通过埋点收集用户行为数据,并将收集用户行为数据存储于分布式文件系统中,再对用户行为数据进行统计分析。然而统计分析方式需要大量的计算资源和存储资源,统计计算等待时间长,周期的改变更会加剧资源紧张,从而导致用户行为数据的统计效率较低。
发明内容
本申请实施例的目的在于提出一种基于Bitmap位图的用户行为统计方法、装置、设备及介质,以提高用户行为数据的统计效率。
为了解决上述技术问题,本申请实施例提供一种基于Bitmap位图的用户行为统计方法,包括:
采集用户行为数据,并将所述用户行为数据以切片周期的方式存储于分布式文件系统的周期文件中;
按照切片周期的方式,将所述分布式文件系统的周期文件对应入库到数据仓库工具hive的分区表中,其中,所述分区表中的一个分区对应一个切片周期的用户行为数据;
从所述分区表中获取当前切片周期的用户行为数据,并对所述当前切片周期的用户行为数据执行去重处理,得到用户行为事件中间表;
获取上一切片周期的用户行为位图,并将所述上一切片周期的用户行为位图与所述用户行为事件中间表进行全关联,生成目标用户行为位图;
若接收到用户行为统计请求,则根据所述用户行为统计请求,从所述目标用户行为位图中统计用户行为数据,得到目标数据。
为了解决上述技术问题,本申请实施例提供一种基于Bitmap位图的用户行为统计装置,包括:
初用户行为数据采集模块,用于采集用户行为数据,并将所述用户行为数据以切片周期的方式存储于分布式文件系统的周期文件中;
用户行为数据入库模块,用于按照切片周期的方式,将所述分布式文件系统的周期文件对应入库到数据仓库工具hive的分区表中,其中,所述分区表中的一个分区对应一个切片周期的用户行为数据;
用户行为数据去重模块,用于从所述分区表中获取当前切片周期的用户行为数据,并对所述当前切片周期的用户行为数据执行去重处理,得到用户行为事件中间表;
目标用户行为位图生成模块,用于获取上一切片周期的用户行为位图,并将所述上一切片周期的用户行为位图与所述用户行为事件中间表进行全关联,生成目标用户行为位图;
目标数据生成模块,用于若接收到用户行为统计请求,则根据所述用户行为统计请求,从所述目标用户行为位图中统计用户行为数据,得到目标数据。
为解决上述技术问题,本发明采用的一个技术方案是:提供一种计算机设备,包括,一个或多个处理器;存储器,用于存储一个或多个程序,使得一个或多个处理器实现上述任意一项所述的基于Bitmap位图的用户行为统计方法。
为解决上述技术问题,本发明采用的一个技术方案是:一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项的基于Bitmap位图的用户行为统计方法。
本发明实施例提供了一种基于Bitmap位图的用户行为统计方法、装置、设备及介质。其中,方法包括:采集用户行为数据,并将用户行为数据以切片周期的方式存储于分布式文件系统的周期文件中;按照切片周期的方式,将分布式文件系统的周期文件对应入库到数据仓库工具hive的分区表中,其中,分区表中的一个分区对应一个切片周期的用户行为数据;从分区表中获取当前切片周期的用户行为数据,并对当前切片周期的用户行为数据执行去重处理,得到用户行为事件中间表;获取上一切片周期的用户行为位图,并将上一切片周期的用户行为位图与用户行为事件中间表进行全关联,生成目标用户行为位图;若接收到用户行为统计请求,则根据用户行为统计请求,从目标用户行为位图中统计用户行为数据,得到目标数据。本发明实施例通过将用户行为数据以切片周期的方式存储于数据参考工具hive的分区表中,有利于后续以切片周期的方式对用户行为数据处理,提高处理效率,同时本申请实施例还将用户行为数据以切片周期的方式转换成位图的形式,有利于对用户行为数据进行周期性统计,节省存储空间和减少数据计算量,从而有利于提高用户行为数据的统计效率。
附图说明
为了更清楚地说明本申请中的方案,下面将对本申请实施例描述中所需要使用的附图作一个简单介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的基于Bitmap位图的用户行为统计方法流程的一实现流程图;
图2是本申请实施例提供的基于Bitmap位图的用户行为统计方法中子流程的又一实现流程图;
图3是本申请实施例提供的基于Bitmap位图的用户行为统计方法中子流程的又一实现流程图;
图4是本申请实施例提供的基于Bitmap位图的用户行为统计方法中子流程的又一实现流程图;
图5是本申请实施例提供的基于Bitmap位图的用户行为统计方法中子流程的又一实现流程图;
图6是本申请实施例提供的基于Bitmap位图的用户行为统计方法中子流程的又一实现流程图;
图7是本申请实施例提供的基于Bitmap位图的用户行为统计装置示意图;
图8是本申请实施例提供的计算机设备的示意图。
具体实施方式
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同;本文中在申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请;本申请的说明书和权利要求书及上述附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。本申请的说明书和权利要求书或上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
为了使本技术领域的人员更好地理解本申请方案,下面将结合附图,对本申请实施例中的技术方案进行清楚、完整地描述。
下面结合附图和实施方式对本发明进行详细说明。
需要说明的是,本申请实施例所提供的基于Bitmap位图的用户行为统计方法一般由服务器执行,相应地,基于Bitmap位图的用户行为统计装置一般配置于服务器中。
请参阅图1,图1示出了基于Bitmap位图的用户行为统计方法的一种具体实施方式。
需注意的是,若有实质上相同的结果,本发明的方法并不以图1所示的流程顺序为限,该方法包括如下步骤:
S1:采集用户行为数据,并将用户行为数据以切片周期的方式存储于分布式文件系统的周期文件中。
具体的,通过实时采集用户行为数据,并将实时采集的用户行为数据以切片周期的方式存储于分布式文件系统的对应的周期文件中。其中,切片周期是指按照预设时间作为一个周期,在该周期内,将收集的用户行为数据进行切分,以实现按照一个个时间周期来存储用户行为数据。分布式文件系统是Hadoop Distributed File System(HDFS),其是指被设计成适合运行在通用硬件(commodity hardware)上的分布式文件系统(DistributedFile System)。
请参阅图2,图2示出了步骤S1的一种具体实施方式,详叙如下:
S11:通过埋点的方式,采集用户行为数据。
S12:按照切片周期的方式,对用户行为数据进行切分,得到各个切片周期的用户行为数据。
S13:将各个切片周期的用户行为数据存储于分布式文件系统的对应周期文件中。
具体的,通过在各个应用端设置埋点,通过埋点来实时采集用户行为数据。进一步的,还可以通过其他数据库传输用户行为数据的方式获取用户行为数据。由于用户行为数据是按照时间先后的顺序进行采集的,所以按照切片周期的方式,对用户行为数据进行切分,得到各个切片周期的用户行为数据,再将各个切片周期的用户行为数据存储于分布式文件系统的对应周期文件中。例如,按照七天作为一个切片周期,在每一个七天内采集到的用户行为数据作为一个切片周期的用户行为数据,将该部分数据作为一个整体,存储于分布式文件系统的对应周期文件中。
本实施例中,通过埋点的方式,采集用户行为数据,并按照切片周期的方式,对用户行为数据进行切分,得到各个切片周期的用户行为数据,再将各个切片周期的用户行为数据存储于分布式文件系统的对应周期文件中,有利于后续以切片周期的方式对用户行为数据处理,提高用户行为数据的处理效率。
S2:按照切片周期的方式,将分布式文件系统的周期文件对应入库到数据仓库工具hive的分区表中,其中,分区表中的一个分区对应一个切片周期的用户行为数据。
具体的,由于用户行为数据是以切片周期的方式储存于分布式文件系统的周期文件中,所以事先在数据仓库工具hive中建立分区表,在分区表中的一个分区对应一个切片周期的用户行为数据,以便按照切片周期的方式,将分布式文件系统的周期文件对应入库到数据仓库工具hive的分区表中。
S3:从分区表中获取当前切片周期的用户行为数据,并对当前切片周期的用户行为数据执行去重处理,得到用户行为事件中间表。
请参阅图3,图3示出了步骤S3的一种具体实施方式,详叙如下:
S31:从分区表中获取当前切片周期的用户行为数据。
S32:根据用户名称和行为事件名称,对当前切片周期的用户行为数据执行去重处理,得到去重后的用户行为数据。
S33:构建去重后的用户行为数据对应的数据表,得到用户行为事件中间表。
具体的,从分区表中获取当前切片周期的用户行为数据,这些用户行为数据中包括各个用户对各种行为事件的操作,所以为了去除冗余数据,根据用户名称和行为事件名称,对当前切片周期的用户行为数据执行去重处理,得到去重后的用户行为数据。再按照用户名称和行为事件名称,构建去重后的用户行为数据对应的数据表,得到用户行为事件中间表。其中,该用户行为事件中间表中包括各个用户对各种行为事件的操作。
S4:获取上一切片周期的用户行为位图,并将上一切片周期的用户行为位图与用户行为事件中间表进行全关联,生成目标用户行为位图。
具体的,上一切片周期的用户行为位图是指将上一切片周期的用户行为数据所转换的位图。若当前切片周期的用户行为数据为第一个切片周期的用户行为数据,则获取上一切片周期的用户行为位为空表。上一切片周期的用户行为位图转换的方式请参见步骤S1-步骤S4的过程,为避免重复,此处不再赘述。
请参阅图4,图4示出了步骤S4的一种具体实施方式,详叙如下:
S41:获取上一切片周期的用户行为位图,作为对比用户行为位图。
S42:将用户行为事件中间表与对比用户行为位图进行全关联,得到全关联信息。
S43:基于全关联信息,生成目标用户行为位图,其中,在全关联信息中,若用户行为事件中间表关联到对比用户行为位图左侧,则在对比用户行为位图左侧并入一个1,若用户行为事件中间表未关联到对比用户行为位图左侧,则在对比用户行为位图左侧并入一个0,若对比用户行为位图不存在数据,则生成新位图1。
具体的,位图也即Bitmap,其将用户整个行为周期压缩成一个0/1的位图,每一位数字代表用户一个切片周期里是否有过该行为,整个位图长度代表该行为从第一次开始到现在过了多少周期。在本申请实施例中,获取上一切片周期的用户行为位图,作为对比用户行为位图,将用户行为事件中间表与对比用户行为位图进行全关联,得到全关联信息。其中,全关联是指上一切片周期和当前切片周期的用户行为数据中,对比相同的用户对不同行为事件是否操作。例如,用户A在上一切片周期和当前切片周期内均登录了网站B,也即用户A在上一切片周期的用户行为位图与用户行为事件中间表存在关联。所以在全关联信息中,若用户行为事件中间表关联到对比用户行为位图左侧(也即两者存在关联),则在对比用户行为位图左侧并入一个1,若用户行为事件中间表未关联到对比用户行为位图左侧(也即两者存在不关联),则在对比用户行为位图左侧并入一个0,若对比用户行为位图不存在数据(当前切片周期内用户操作了新的行为事件),则生成新位图1。所以基于全关联信息,生成目标用户行为位图。
本实施例中,将用户行为数据以切片周期的方式转换成位图的形式,有利于对用户行为数据进行周期性统计,节省存储空间和减少数据计算量,从而有利于提高用户行为数据的统计效率。
进一步的,步骤S4还包括:
若上一切片周期的用户行为位图为空表,则将用户行为事件中间表对应位图均设为1,得到目标用户行为位图。
具体的,若获取上一切片周期的用户行为位为空表,也即当前切片周期的用户行为数据为第一个切片周期的用户行为数据,所以在该切片周期内用户所进行的所有行为数据均首次出现,所以将用户行为事件中间表对应位图均设为1,得到目标用户行为位图。
S5:若接收到用户行为统计请求,则根据用户行为统计请求,从目标用户行为位图中统计用户行为数据,得到目标数据。
具体的,若接收到用户行为统计请求,则对用户行为统计请求进行解析,以获取用户行为统计请求对应的统计要求,从而根据统计要求从目标用户行为位图中截取预设周期字符串,统计用户行为数据,得到目标数据。
请参阅图5,图5示出了步骤S5的一种具体实施方式,详叙如下:
S51:若接收到用户行为统计请求,则对用户行为统计请求进行解析,以获取用户行为统计请求对应的统计要求。
S52:若统计要求为统计预设周期的用户规模,则从目标用户行为位图中获取预设周期的用户行为位图,并从预设周期的用户行为位图中统计用户数量,得到目标数据。
具体的,用户规模定义为过去n个周期内有过该行为的用户数。计算公式为从目标用户行为位图中左到右截取n位字符串,作为预设周期的用户行为位图,其中有“1”则代表一个切片周期有过该行为,全为“1”则代表该周期无该行为,通过统计“1”的数量,得到目标数据。
在一具体实施例中,可以统计为预设周期内存在的注册用户、累加用户、新增用户、周活跃用户数或者月活跃用户数。注册用户:有过注册事件行为的用户数。通过直接取对应周期的对应注册事件求记录数,即可得到注册用户。累计用户:有过登录事件行为的用户数。通过直接对应周期的对应登录事件求记录数,即可得到累积用户,而且一般是用户先注册后登录,注册和登录有先后关系。新增用户:在一段周期内,用户第一次触发登录事件的用户数。通过直接取登录事件,并计算将位图的长度小于周期的记录数取出求记录数条数,即可得到新增用户。周活跃用户数(七天内登陆过产品的用户数),取目标用户行为位图对应的登录行为事件位图,从左到右取7位,如果有1代表周活跃,然后求记录数,即可得到周活跃用户数。月活跃用户数,取目标用户行为位图对应的登录行为事件位图,从左到右取30位,如果有1代表月活跃,然后求记录数即可。任一段周内有某行为用户数:取某行为事件位图,从左到右取n位,如果有1代表任一周期有活跃,然后求记录数,即可得到任一段周内有某行为用户数。
S53:若统计要求为统计用户生命周期数据,则根据目标用户行为位图的周期前后顺序,统计用户生命周期数据,得到目标数。
具体的,用户生命周期就是用户从开始接触产品到离开产品的整个过程,包含了用户从注册开始在产品上的所有行为。利用目标用户行为位图先后周期的顺序关系,按业务定义的用户生命周期,导入期:近n个周期新增用户;成长期:最近n个周期活跃,之前n个周期新增;成熟期:最近两个n周期都有活跃,且活跃周期大于2n;休眠期:最近n个周期活跃,之前n个周期无活跃;流失期:最近n个周期无活跃。根据b图的特性,便于根据规则计算出不同生命周期的用户规模。导入期:直接取有登录事件的用户位图,取出位图长度小于等于n的记录数,直接求记录数即可。休眠期:直接取有登录事件的用户位图,取出位图长度大于等于2n的记录数,从左至右取n位其中存在有1,在接着取n位其中无1的记录数,直接求和即可。
S54:若统计要求为统计预设周期内的事件频率分布,则从目标用户行为位图中统计预设周期内的事件数量,得到目标数据。
具体的,位图中一位0/1代表一个切片周期,对于任意周期就相当于多少个切片周期,1代表用户在该切片周期有该行为,0代表一个切片周期无行为,可以算出用户在任意周期内行为频率分布。如计算月活跃天数分布:取登录行为事件位图,从左到右取30位,把位图中0的字符串全部剔除掉,剔除后剩余全为1,然后求对应字符串长度就为用户的活跃天数,然后按天数求记录数即可。
请参阅图6,图6示出了步骤S54的一种具体实施方式,详叙如下:
S541:若统计要求为统计预设周期内的事件频率分布,则从目标用户行为位图中截取出预设周期的字符串,得到基础用户行为位图。
S542:从基础用户行为位图中统计活跃数据,以统计事件频率分布,得到目标数据,其中,1代表活跃数据,0代表未活跃数据。
具体的,由于目标用户行为位图以字符串的形式存在,所以需要获取预设预设周期内的事件频率分布时,从目标用户行为位图中截取出预设周期的字符串,得到基础用户行为位图,再从基础用户行为位图中统计活跃数据,以统计事件频率分布,得到目标数据,其中,1代表活跃数据,0代表未活跃数据。
本实施例,通过采集用户行为数据,并将用户行为数据以切片周期的方式存储于分布式文件系统的周期文件中;按照切片周期的方式,将分布式文件系统的周期文件对应入库到数据仓库工具hive的分区表中,其中,分区表中的一个分区对应一个切片周期的用户行为数据;从分区表中获取当前切片周期的用户行为数据,并对当前切片周期的用户行为数据执行去重处理,得到用户行为事件中间表;获取上一切片周期的用户行为位图,并将上一切片周期的用户行为位图与用户行为事件中间表进行全关联,生成目标用户行为位图;若接收到用户行为统计请求,则根据用户行为统计请求,从目标用户行为位图中统计用户行为数据,得到目标数据。本发明实施例通过将用户行为数据以切片周期的方式存储于数据参考工具hive的分区表中,有利于后续以切片周期的方式对用户行为数据处理,提高处理效率,同时本申请实施例还将用户行为数据以切片周期的方式转换成位图的形式,有利于对用户行为数据进行周期性统计,节省存储空间和减少数据计算量,从而有利于提高用户行为数据的统计效率。
请参考图7,作为对上述图1所示方法的实现,本申请提供了一种基于Bitmap位图的用户行为统计装置的一个实施例,该装置实施例与图1所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图7所示,本实施例的基于Bitmap位图的用户行为统计装置包括:用户行为数据采集模块61、用户行为数据入库模块62、用户行为数据去重模块63、目标用户行为位图生成模块64、目标数据生成模块65,其中:
用户行为数据采集模块61,用于采集用户行为数据,并将用户行为数据以切片周期的方式存储于分布式文件系统的周期文件中;
用户行为数据入库模块62,用于按照切片周期的方式,将分布式文件系统的周期文件对应入库到数据仓库工具hive的分区表中,其中,分区表中的一个分区对应一个切片周期的用户行为数据;
用户行为数据去重模块63,用于从分区表中获取当前切片周期的用户行为数据,并对当前切片周期的用户行为数据执行去重处理,得到用户行为事件中间表;
目标用户行为位图生成模块64,用于获取上一切片周期的用户行为位图,并将上一切片周期的用户行为位图与用户行为事件中间表进行全关联,生成目标用户行为位图;
目标数据生成模块65,用于若接收到用户行为统计请求,则根据用户行为统计请求,从目标用户行为位图中统计用户行为数据,得到目标数据。
进一步的,目标用户行为位图生成模块64包括:
对比用户行为位图获取单元,用于获取上一切片周期的用户行为位图,作为对比用户行为位图;
全关联信息生成单元,用于将用户行为事件中间表与对比用户行为位图进行全关联,得到全关联信息;
当前周期位图生成单元,用于基于全关联信息,生成目标用户行为位图,其中,在全关联信息中,若用户行为事件中间表关联到对比用户行为位图左侧,则在对比用户行为位图左侧并入一个1,若用户行为事件中间表未关联到对比用户行为位图左侧,则在对比用户行为位图左侧并入一个0,若对比用户行为位图不存在数据,则生成新位图1。
进一步的,目标用户行为位图生成模块64还包括:
位图设置单元,用于若上一切片周期的用户行为位图为空表,则将用户行为事件中间表对应位图均设为1,得到目标用户行为位图。
进一步的,用户行为数据去重模块63包括:
当前数据获取单元,用于从分区表中获取当前切片周期的用户行为数据;
去重处理单元,用于根据用户名称和行为事件名称,对当前切片周期的用户行为数据执行去重处理,得到去重后的用户行为数据;
数据表构建单元,用于构建去重后的用户行为数据对应的数据表,得到用户行为事件中间表。
进一步的,用户行为数据采集模块61包括:
数据采集单元,用于通过埋点的方式,采集用户行为数据;
数据切分单元,用于按照切片周期的方式,对用户行为数据进行切分,得到各个切片周期的用户行为数据;
数据存储单元,用于将各个切片周期的用户行为数据存储于分布式文件系统的对应周期文件中。
进一步的,目标数据生成模块65包括:
统计请求解析单元,用于若接收到用户行为统计请求,则对用户行为统计请求进行解析,以获取用户行为统计请求对应的统计要求;
第一要求处理单元,用于若统计要求为统计预设周期的用户规模,则从目标用户行为位图中获取预设周期的用户行为位图,并从预设周期的用户行为位图中统计用户数量,得到目标数据;
第二要求处理单元,用于若统计要求为统计用户生命周期数据,则根据目标用户行为位图的周期前后顺序,统计用户生命周期数据,得到目标数据;
第三要求处理单元,用于若统计要求为统计预设周期内的事件频率分布,则从目标用户行为位图中统计预设周期内的事件数量,得到目标数据。
进一步的,第三要求处理单元包括:
基础用户行为位图生成子单元,用于若统计要求为统计预设周期内的事件频率分布,则从目标用户行为位图中截取出预设周期的字符串,得到基础用户行为位图;
活跃数据统计子单元,用于从基础用户行为位图中统计活跃数据,以统计事件频率分布,得到目标数据,其中,1代表活跃数据,0代表未活跃数据。
为解决上述技术问题,本申请实施例还提供计算机设备。具体请参阅图8,图8为本实施例计算机设备基本结构框图。
计算机设备7包括通过系统总线相互通信连接存储器71、处理器72、网络接口73。需要指出的是,图中仅示出了具有三种组件存储器71、处理器72、网络接口73的计算机设备7,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。其中,本技术领域技术人员可以理解,这里的计算机设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程门阵列(Field-Programmable Gate Array,FPGA)、数字处理器(Digital Signal Processor,DSP)、嵌入式设备等。
计算机设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。计算机设备可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。
存储器71至少包括一种类型的可读存储介质,可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器71可以是计算机设备7的内部存储单元,例如该计算机设备7的硬盘或内存。在另一些实施例中,存储器71也可以是计算机设备7的外部存储设备,例如该计算机设备7上配备的插接式硬盘,智能存储卡(SmartMedia Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,存储器71还可以既包括计算机设备7的内部存储单元也包括其外部存储设备。本实施例中,存储器71通常用于存储安装于计算机设备7的操作系统和各类应用软件,例如基于Bitmap位图的用户行为统计方法的程序代码等。此外,存储器71还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器72在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器72通常用于控制计算机设备7的总体操作。本实施例中,处理器72用于运行存储器71中存储的程序代码或者处理数据,例如运行上述基于Bitmap位图的用户行为统计方法的程序代码,以实现基于Bitmap位图的用户行为统计方法的各种实施例。
网络接口73可包括无线网络接口或有线网络接口,该网络接口73通常用于在计算机设备7与其他电子设备之间建立通信连接。
本申请还提供了另一种实施方式,即提供一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序可被至少一个处理器执行,以使至少一个处理器执行如上述的一种基于Bitmap位图的用户行为统计方法的步骤。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台计算机设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例的方法。
显然,以上所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例,附图中给出了本申请的较佳实施例,但并不限制本申请的专利范围。本申请可以以许多不同的形式来实现,相反地,提供这些实施例的目的是使对本申请的公开内容的理解更加透彻全面。尽管参照前述实施例对本申请进行了详细的说明,对于本领域的技术人员来而言,其依然可以对前述各具体实施方式所记载的技术方案进行修改,或者对其中部分技术特征进行等效替换。凡是利用本申请说明书及附图内容所做的等效结构,直接或间接运用在其他相关的技术领域,均同理在本申请专利保护范围之内。
Claims (10)
1.一种基于Bitmap位图的用户行为统计方法,其特征在于,包括:
采集用户行为数据,并将所述用户行为数据以切片周期的方式存储于分布式文件系统的周期文件中;
按照切片周期的方式,将所述分布式文件系统的周期文件对应入库到数据仓库工具hive的分区表中,其中,所述分区表中的一个分区对应一个切片周期的用户行为数据;
从所述分区表中获取当前切片周期的用户行为数据,并对所述当前切片周期的用户行为数据执行去重处理,得到用户行为事件中间表;
获取上一切片周期的用户行为位图,并将所述上一切片周期的用户行为位图与所述用户行为事件中间表进行全关联,生成目标用户行为位图;
若接收到用户行为统计请求,则根据所述用户行为统计请求,从所述目标用户行为位图中统计用户行为数据,得到目标数据。
2.根据权利要求1所述的基于Bitmap位图的用户行为统计方法,其特征在于,所述获取上一切片周期的用户行为位图,并将所述上一切片周期的用户行为位图与所述用户行为事件中间表进行全关联,生成目标用户行为位图,包括:
获取所述上一切片周期的用户行为位图,作为对比用户行为位图;
将所述用户行为事件中间表与所述对比用户行为位图进行全关联,得到全关联信息;
基于所述全关联信息,生成所述目标用户行为位图,其中,在所述全关联信息中,若用户行为事件中间表关联到对比用户行为位图左侧,则在所述对比用户行为位图左侧并入一个1,若用户行为事件中间表未关联到对比用户行为位图左侧,则在所述对比用户行为位图左侧并入一个0,若所述对比用户行为位图不存在数据,则生成新位图1。
3.根据权利要求1所述的基于Bitmap位图的用户行为统计方法,其特征在于,所述获取上一切片周期的用户行为位图,并将所述上一切片周期的用户行为位图与所述用户行为事件中间表进行全关联,生成目标用户行为位图,还包括:
若所述上一切片周期的用户行为位图为空表,则将用户行为事件中间表对应位图均设为1,得到所述目标用户行为位图。
4.根据权利要求1所述的基于Bitmap位图的用户行为统计方法,其特征在于,所述从所述分区表中获取当前切片周期的用户行为数据,并对所述当前切片周期的用户行为数据执行去重处理,得到用户行为事件中间表,包括:
从所述分区表中获取当前切片周期的用户行为数据;
根据用户名称和行为事件名称,对所述当前切片周期的用户行为数据执行去重处理,得到去重后的用户行为数据;
构建所述去重后的用户行为数据对应的数据表,得到所述用户行为事件中间表。
5.根据权利要求1所述的基于Bitmap位图的用户行为统计方法,其特征在于,所述采集用户行为数据,并将所述用户行为数据以切片周期的方式存储于分布式文件系统的周期文件中,包括:
通过埋点的方式,采集所述用户行为数据;
按照切片周期的方式,对用户行为数据进行切分,得到各个切片周期的用户行为数据;
将各个所述切片周期的用户行为数据存储于所述分布式文件系统的对应周期文件中。
6.根据权利要求1至5任一项所述的基于Bitmap位图的用户行为统计方法,其特征在于,所述若接收到用户行为统计请求,则根据所述用户行为统计请求,从所述目标用户行为位图中统计用户行为数据,得到目标数据,包括:
若接收到所述用户行为统计请求,则对所述用户行为统计请求进行解析,以获取所述用户行为统计请求对应的统计要求;
若所述统计要求为统计预设周期的用户规模,则从所述目标用户行为位图中获取所述预设周期的用户行为位图,并从预设周期的用户行为位图中统计用户数量,得到所述目标数据;
若所述统计要求为统计用户生命周期数据,则根据所述目标用户行为位图的周期前后顺序,统计所述用户生命周期数据,得到所述目标数据;
若所述统计要求为统计预设周期内的事件频率分布,则从所述目标用户行为位图中统计预设周期内的事件数量,得到所述目标数据。
7.根据权利要求6所述的基于Bitmap位图的用户行为统计方法,其特征在于,所述若所述统计要求为统计预设周期内的事件频率分布,则从所述目标用户行为位图中统计预设周期内的事件数量,得到所述目标数据,包括:
若所述统计要求为统计预设周期内的事件频率分布,则从所述目标用户行为位图中截取出预设周期的字符串,得到基础用户行为位图;
从所述基础用户行为位图中统计活跃数据,以统计事件频率分布,得到所述目标数据,其中,1代表活跃数据,0代表未活跃数据。
8.一种基于Bitmap位图的用户行为统计装置,其特征在于,包括:
用户行为数据采集模块,用于采集用户行为数据,并将所述用户行为数据以切片周期的方式存储于分布式文件系统的周期文件中;
用户行为数据入库模块,用于按照切片周期的方式,将所述分布式文件系统的周期文件对应入库到数据仓库工具hive的分区表中,其中,所述分区表中的一个分区对应一个切片周期的用户行为数据;
用户行为数据去重模块,用于从所述分区表中获取当前切片周期的用户行为数据,并对所述当前切片周期的用户行为数据执行去重处理,得到用户行为事件中间表;
目标用户行为位图生成模块,用于获取上一切片周期的用户行为位图,并将所述上一切片周期的用户行为位图与所述用户行为事件中间表进行全关联,生成目标用户行为位图;
目标数据生成模块,用于若接收到用户行为统计请求,则根据所述用户行为统计请求,从所述目标用户行为位图中统计用户行为数据,得到目标数据。
9.一种计算机设备,其特征在于,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至7中任一项所述的基于Bitmap位图的用户行为统计方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的基于Bitmap位图的用户行为统计方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210492900.7A CN114791914A (zh) | 2022-05-07 | 2022-05-07 | 基于Bitmap位图的用户行为统计方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210492900.7A CN114791914A (zh) | 2022-05-07 | 2022-05-07 | 基于Bitmap位图的用户行为统计方法、装置、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114791914A true CN114791914A (zh) | 2022-07-26 |
Family
ID=82461569
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210492900.7A Pending CN114791914A (zh) | 2022-05-07 | 2022-05-07 | 基于Bitmap位图的用户行为统计方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114791914A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117435756A (zh) * | 2023-12-18 | 2024-01-23 | 云筑信息科技(成都)有限公司 | 一种基于位图查询用户留存的数据处理方法 |
-
2022
- 2022-05-07 CN CN202210492900.7A patent/CN114791914A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117435756A (zh) * | 2023-12-18 | 2024-01-23 | 云筑信息科技(成都)有限公司 | 一种基于位图查询用户留存的数据处理方法 |
CN117435756B (zh) * | 2023-12-18 | 2024-03-26 | 云筑信息科技(成都)有限公司 | 一种基于位图查询用户留存的数据处理方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108446210B (zh) | 系统性能的度量方法、存储介质和服务器 | |
CN105824952B (zh) | 一种处理数据的装置和方法 | |
CN112162965B (zh) | 一种日志数据处理的方法、装置、计算机设备及存储介质 | |
CN113592156B (zh) | 电厂煤量调度方法、装置、终端设备及存储介质 | |
CN112636957A (zh) | 基于日志的预警方法、装置、服务器及存储介质 | |
CN107924345B (zh) | 用于度量的聚合测量结果的数据存储区 | |
CN110147470B (zh) | 一种跨机房数据比对系统及方法 | |
CN112860662B (zh) | 自动化生产数据血缘关系建立方法、装置、计算机设备及存储介质 | |
CN112631879A (zh) | 数据采集方法、装置、计算机可读介质及电子设备 | |
CN110807050B (zh) | 性能分析方法、装置、计算机设备及存储介质 | |
CN114791914A (zh) | 基于Bitmap位图的用户行为统计方法、装置、设备及介质 | |
CN110990350A (zh) | 日志的解析方法及装置 | |
CN117033142A (zh) | 用户存储空间的计算方法、装置、物联网平台及介质 | |
CN110442466B (zh) | 防止请求重复访问方法、装置、计算机设备及存储介质 | |
JP2016024486A (ja) | データ活用システム及びその制御方法 | |
CN110737691B (zh) | 用于处理访问行为数据的方法和装置 | |
CN115016890A (zh) | 虚拟机资源分配方法、装置、电子设备及存储介质 | |
CN111131393B (zh) | 用户活跃度数据统计方法、电子装置及存储介质 | |
CN115129548A (zh) | 一种告警分析方法、装置、设备及介质 | |
CN113434745A (zh) | 基于聚类算法的用户行为分析方法、装置、设备及介质 | |
CN113778977A (zh) | 数据处理方法和数据处理装置 | |
CN113342283A (zh) | 用户位置信息存储方法、装置、电子设备及可读存储介质 | |
CN112084408A (zh) | 名单数据筛选方法、装置、计算机设备及存储介质 | |
CN111198900A (zh) | 工业控制网络的数据缓存方法、装置、终端设备及介质 | |
CN110866241A (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 |