CN116610870B - 一种数据处理方法、装置及电子设备 - Google Patents
一种数据处理方法、装置及电子设备 Download PDFInfo
- Publication number
- CN116610870B CN116610870B CN202310877563.8A CN202310877563A CN116610870B CN 116610870 B CN116610870 B CN 116610870B CN 202310877563 A CN202310877563 A CN 202310877563A CN 116610870 B CN116610870 B CN 116610870B
- Authority
- CN
- China
- Prior art keywords
- browsing data
- browsing
- data
- evaluation index
- score
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 15
- 238000011156 evaluation Methods 0.000 claims abstract description 128
- 238000000034 method Methods 0.000 claims abstract description 33
- 238000012545 processing Methods 0.000 claims abstract description 22
- 238000013507 mapping Methods 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 8
- 230000001788 irregular Effects 0.000 abstract description 13
- 230000008569 process Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 230000010354 integration Effects 0.000 description 6
- 230000006399 behavior Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000001360 synchronised effect Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 239000000284 extract Substances 0.000 description 3
- 238000012886 linear function Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000003780 insertion Methods 0.000 description 2
- 230000037431 insertion Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012827 research and development Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000006698 induction Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
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/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- 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/2255—Hash tables
-
- 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/2457—Query processing with adaptation to user needs
-
- 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/2477—Temporal data 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/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
- G06F16/9574—Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种数据处理方法、装置及电子设备,涉及信息技术领域,以解决现有技术存储的数据结构简单,查询效率低的问题。该方法包括:获取用户浏览的第一浏览数据和对应的第一浏览数据标识ID;根据第一浏览数据的浏览参数,确定第一浏览数据的第一评价指标值;在预先建立的访问记录表中记录第一浏览数据ID对应的第一评价指标值;确定访问记录表中评价指标值相对较高的前N个评价指标值对应的N个浏览数据ID,并展示N个浏览数据ID对应的N条历史浏览数据。本申请实施例可能够将无规则的用户操作提取为积分有序的用户浏览记录,并能够快速查询出评价指标值相对较高的若干条历史浏览数据向用户展示。
Description
技术领域
本申请涉及信息技术领域,尤其涉及一种数据处理方法、装置及电子设备。
背景技术
现有查询用户访问信息的方案是通过前端发送请求到后台,后台使用远程字典服务(Remote Dictionary Server,Redis)对访问用户(不包括游客)进行数据处理和排名。该方案大致流程为将用户访问的所有产品编码存储在表(Map)内,其中键(key)为产品编码,值(value)为浏览时间。为了减少接口请求过程中的时间成本,可以将用户最近浏览过的信息存储在本地,以此减少服务器的压力。目前常用的前端实现方法是将用户的操作信息保存在浏览器本地存储(LocalStorage)中,存储的数据结构简单,若用户不进行手动删除,数据将会永久存储,对于小型网站而言,由于存储内容较少,还能够实现数据的快速查找。
然而,上述技术中存储的数据结构简单,当网站规模较大时,无规则的用户操作将难以被捕捉和分析,且会降低查询效率。
发明内容
本申请实施例提供一种数据处理方法、装置及电子设备,以解决现有技术存储的数据结构简单,难以捕捉和分析无规则的用户操作,查询效率低的问题。
第一方面,本申请实施例提供了一种数据处理方法,包括:
获取用户浏览的第一浏览数据和所述第一浏览数据对应的第一浏览数据标识ID;
根据所述第一浏览数据的浏览参数,确定所述第一浏览数据的第一评价指标值;
在预先建立的访问记录表中记录所述第一浏览数据ID对应的所述第一评价指标值,其中,所述访问记录表中记录有所述用户浏览的各浏览数据ID和对应的评价指标值;
确定所述访问记录表中评价指标值相对较高的前N个评价指标值对应的N个浏览数据ID,并展示所述N个浏览数据ID对应的N条历史浏览数据,N为正整数。
可选地,所述评价指标值包括使用频率得分;所述访问记录表包括哈希表和使用频率跳表,所述哈希表用于存储浏览数据ID与所述使用频率跳表中记录的使用频率得分之间的映射关系;
所述根据所述第一浏览数据的浏览参数,确定所述第一浏览数据ID的第一评价指标值,包括:
根据浏览所述第一浏览数据时的浏览时间戳和操作的接口信息,确定所述第一浏览数据的第一使用频率得分;
所述在预先建立的访问记录表中记录所述第一浏览数据ID对应的所述第一评价指标值,包括:
在所述哈希表中未存储有所述第一浏览数据ID的情况下,在所述哈希表中存储所述第一浏览数据ID,并在所述使用频率跳表中记录所述第一使用频率得分;
在所述哈希表中存储有所述第一浏览数据ID的情况下,在所述使用频率跳表中更新所述第一浏览数据ID的使用频率得分为所述第一使用频率得分。
可选地,所述根据浏览所述第一浏览数据时的浏览时间戳和操作的接口信息,确定所述第一浏览数据的第一使用频率得分,包括:
根据本次浏览所述第一浏览数据的浏览时间戳,历史对所述第一浏览数据操作的各接口的权重,以及本次对所述第一浏览数据操作的各接口的权重,确定所述第一浏览数据的第一使用频率得分。
可选地,所述访问记录表包括哈希表和使用时间跳表,所述哈希表用于存储浏览数据ID与所述使用时间跳表中记录的使用时间得分之间的映射关系,所述评价指标值包括使用时间得分;
所述根据所述第一浏览数据的浏览参数,确定所述第一浏览数据的第一评价指标值,包括:
根据本次浏览所述第一浏览数据的浏览时间戳,确定所述第一浏览数据的第一使用时间得分,所述第一使用时间得分与所述浏览时间戳正相关;
所述在预先建立的访问记录表中记录所述第一浏览数据ID对应的所述第一评价指标值,包括:
在所述哈希表中未存储有所述第一浏览数据ID的情况下,在所述哈希表中存储所述第一浏览数据ID,并在所述使用时间跳表中记录所述第一使用时间得分;
在所述哈希表中存储有所述第一浏览数据ID的情况下,在所述使用时间跳表中更新所述第一浏览数据ID的使用时间得分为所述第一使用时间得分。
可选地,所述获取用户浏览的第一浏览数据和所述第一浏览数据对应的第一浏览数据ID,包括:
根据预先对访问路由和接口设置的埋点信息,采集浏览信息,所述埋点信息包括域名、模块类别、数据类别和操作类别中的至少一项;
根据采集的浏览信息,确定用户浏览的第一浏览数据和所述第一浏览数据对应的第一浏览数据ID。
可选地,所述在预先建立的访问记录表中记录所述第一浏览数据ID对应的所述第一评价指标值之后,所述方法还包括:
确定所述访问记录表中评价指标值相对较高的前M个评价指标值对应的M个浏览数据ID,并将所述M个浏览数据ID对应的M条历史浏览数据发送至服务器,以使所述服务器存储所述M条历史浏览数据,M为正整数。
可选地,所述展示所述N个浏览数据ID对应的N条历史浏览数据,包括:
在本地存储中缓存有所述N条历史浏览数据的情况下,从所述本地存储中获取所述N条历史浏览数据,并展示所述N条历史浏览数据;
在本地存储中缓存的数据失效的情况下,从所述服务器获取所述N条历史浏览数据。
可选地,所述将所述M个浏览数据ID对应的M条历史浏览数据发送至服务器,包括:
在用户浏览所述第一浏览数据时处于未登录状态的情况下,通过用户登录客户端的身份凭证,确定与所述身份凭证关联的用户账号;
将所述M条历史浏览数据和所述用户账号发送至服务器,以使所述服务器将所述M条历史浏览数据与所述用户账号关联存储。
第二方面,本申请实施例还提供一种数据处理装置,包括:
获取模块,用于获取用户浏览的第一浏览数据和所述第一浏览数据对应的第一浏览数据ID;
确定模块,用于根据所述第一浏览数据的浏览参数,确定所述第一浏览数据的第一评价指标值;
记录模块,用于在预先建立的访问记录表中记录所述第一浏览数据ID对应的所述第一评价指标值,其中,所述访问记录表中记录有所述用户浏览的各浏览数据ID和对应的评价指标值;
展示模块,用于确定所述访问记录表中评价指标值相对较高的前N个评价指标值对应的N个浏览数据ID,并展示所述N个浏览数据ID对应的N条历史浏览数据,N为正整数。
可选地,所述评价指标值包括使用频率得分;所述访问记录表包括哈希表和使用频率跳表,所述哈希表用于存储浏览数据ID与所述使用频率跳表中记录的使用频率得分之间的映射关系;
所述确定模块用于根据浏览所述第一浏览数据时的浏览时间戳和操作的接口信息,确定所述第一浏览数据的第一使用频率得分;
所述记录模块用于:
在所述哈希表中未存储有所述第一浏览数据ID的情况下,在所述哈希表中存储所述第一浏览数据ID,并在所述使用频率跳表中记录所述第一使用频率得分;
在所述哈希表中存储有所述第一浏览数据ID的情况下,在所述使用频率跳表中更新所述第一浏览数据ID的使用频率得分为所述第一使用频率得分。
可选地,所述确定模块用于根据本次对所述第一浏览数据的浏览时间戳,历史对所述第一浏览数据操作的各接口的权重,以及本次对所述第一浏览数据操作的各接口的权重,确定所述第一浏览数据的第一使用频率得分。
可选地,所述访问记录表包括哈希表和使用时间跳表,所述哈希表用于存储浏览数据ID与所述使用时间跳表中记录的使用时间得分之间的映射关系,所述评价指标值包括使用时间得分;
所述确定模块用于根据本次对所述第一浏览数据的浏览时间戳,确定所述第一浏览数据的第一使用时间得分,所述第一使用时间得分与所述浏览时间戳正相关;
所述记录模块用于:
在所述哈希表中未存储有所述第一浏览数据ID的情况下,在所述哈希表中存储所述第一浏览数据ID,并在所述使用时间跳表中记录所述第一使用时间得分;
在所述哈希表中存储有所述第一浏览数据ID的情况下,在所述使用时间跳表中更新所述第一浏览数据ID的使用时间得分为所述第一使用时间得分。
可选地,所述获取模块包括:
采集单元,用于根据预先对访问路由和接口设置的埋点信息,采集浏览信息,所述埋点信息包括域名、模块类别、数据类别和操作类别中的至少一项;
第一确定单元,用于根据采集的浏览信息,确定用户浏览的第一浏览数据和所述第一浏览数据对应的第一浏览数据ID。
可选地,所述数据处理装置还包括:
发送模块,用于确定所述访问记录表中评价指标值相对较高的前M个评价指标值对应的M个浏览数据ID,并将所述M个浏览数据ID对应的M条历史浏览数据发送至服务器,以使所述服务器存储所述M条历史浏览数据,M为正整数。
可选地,所述展示模块用于:
在本地存储中缓存有所述N条历史浏览数据的情况下,从所述本地存储中获取所述N条历史浏览数据,并展示所述N条历史浏览数据;
在本地存储中缓存的数据失效的情况下,从所述服务器获取所述N条历史浏览数据。
可选地,所述发送模块包括:
第二确定单元,用于在用户浏览所述第一浏览数据时处于未登录状态的情况下,通过用户登录客户端的身份凭证,确定与所述身份凭证关联的用户账号;
发送单元,用于将所述M条历史浏览数据和所述用户账号发送至服务器,以使所述服务器将所述M条历史浏览数据与所述用户账号关联存储。
第三方面,本申请实施例还提供一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上所述的数据处理方法中的步骤。
第四方面,本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如上所述的数据处理方法中的步骤。
在本申请实施例中,获取用户浏览的第一浏览数据和所述第一浏览数据对应的第一浏览数据ID;根据所述第一浏览数据的浏览参数,确定所述第一浏览数据的第一评价指标值;在预先建立的访问记录表中记录所述第一浏览数据ID对应的所述第一评价指标值,其中,所述访问记录表中记录有所述用户浏览的各浏览数据ID和对应的评价指标值;确定所述访问记录表中评价指标值相对较高的前N个评价指标值对应的N个浏览数据ID,并展示所述N个浏览数据ID对应的N条历史浏览数据,N为正整数。这样,通过根据浏览参数,计算用户浏览各数据ID的评价指标值,从而存储用户浏览的各数据ID的评价指标值,能够实现将无规则的用户操作提取为积分有序的用户浏览记录,并能够快速查询出评价指标值相对较高的若干条历史浏览数据向用户展示,使用户能够通过清晰的浏览记录进行快速回溯历史浏览数据。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的数据处理方法的流程图;
图2是本申请实施例提供的Skiplist积分模型图;
图3是本申请实施例提供的一阶线性函数与对数函数的趋势对比图;
图4是本申请实施例提供的数据处理装置的结构图;
图5是本申请实施例提供的电子设备的结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
参见图1,图1是本申请实施例提供的数据处理方法的流程图,如图1所示,包括以下步骤:
步骤101、获取用户浏览的第一浏览数据和所述第一浏览数据对应的第一浏览数据标识(Identifier,ID)。
本申请实施例中,可在用户浏览数据时,获取用户浏览的数据和数据ID,具体地,用户在客户端浏览第一浏览数据时,可以获取所述第一浏览数据和对应的ID即第一浏览数据ID。其中,用户浏览的数据可以是在购物网站或APP上浏览的某个商品/产品页面数据,对应的浏览数据标识则为标识用户浏览商品/产品的商品/产品标识,或者是在浏览器网页上浏览的页面数据,对应的浏览数据标识则为标识用户浏览页面的页面标识。
可选地,所述步骤101包括:
根据预先对访问路由和接口设置的埋点信息,采集浏览信息,所述埋点信息包括域名、模块类别、数据类别和操作类别中的至少一项;
根据采集的浏览信息,确定用户浏览的第一浏览数据和所述第一浏览数据对应的第一浏览数据ID。
一种实施方式中,可以预先在前端即客户端通过路由拦截和接口拦截的方式设置埋点信息,如对路由和接口的命名规则按照“域名/模块类别/产品类别/操作类别/...”进行分段划分。在用户浏览数据产生浏览行为时,采集用户浏览的信息,如采集用户浏览数据时访问的路由名、操作的接口名等信息。
然后根据采集的浏览信息,结合网关设置的接口规范,对用户浏览的数据内容进行归口,获得第一浏览数据与第一浏览数据ID的映射关系,如获得浏览的产品与产品ID(productId)的映射关系。
这样,该实施方式中,通过依托大云平台已有的网关技术方案,建立前端全局过滤器进行页面路由和接口请求的捕获埋点,将其捕获的数据匹配平台的网关路由配置,对浏览数据进行归口分类,最终获取浏览数据与浏览数据ID(productId)的映射关系,为后续访问记录表如跳表(Skiplist)积分模型的建立提供基础。与现有技术中的手动埋点,或是引入外部软件开发包工具(Software Development Kit,SDK)的埋点方式相比,该实施方式中采用的基于网关的过滤器埋点方式,无需研发人员在前端工程注入大量的手动埋点代码,减少了研发人员的代码开发量。
步骤102、根据所述第一浏览数据的浏览参数,确定所述第一浏览数据的第一评价指标值。
为了对用户的浏览行为进行分析,以便将无规则的用户操作提取为积分有序的用户浏览记录展示给用户,本申请实施例中采用根据浏览数据的浏览参数,如浏览时间戳、浏览次数、操作的接口信息等,计算浏览数据的评价指标值,以便根据评价指标值生成有序的用户浏览记录。其中,操作的接口可以是指在浏览数据时在浏览页面上进行的相关操作对应的接口,例如,浏览某商品页面时进行的加入购物车、立即订购、查看商品详情页等操作所点击的页面控件入口。
具体地,为生成用户常浏览数据记录,可以根据浏览时间戳和/或每次浏览时操作的接口信息,确定评价指标值,例如,浏览时间戳越近,操作次数越多,评价指标值越高;还可以为生成用户近期浏览数据记录,可以根据浏览时间戳,确定评价指标值,例如,浏览时间戳越近,评价指标值越高。
步骤103、在预先建立的访问记录表中记录所述第一浏览数据ID对应的所述第一评价指标值,其中,所述访问记录表中记录有所述用户浏览的各浏览数据ID和对应的评价指标值。
为了生成用户浏览记录,可以建立访问记录表,用于记录用户浏览的各浏览数据的ID和评价指标值,并且可以将各浏览数据ID对应的评价指标值按序记录,如按评价指标值从低到高的顺序记录。
这样,在确定用户浏览的所述第一浏览数据的第一评价指标值后,可以将所述第一浏览数据ID和所述第一评价指标值在所述访问记录表中进行记录,例如,在所述访问记录表中对应存储所述第一浏览数据ID和所述第一评价指标值,或者,进一步地,先根据所述第一评价指标值的大小,在所述访问记录表中确定所述第一评价指标值的存放位置,再将所述第一评价指标值存放在该位置,以使所述访问记录表中按序存放各评价指标值。
可选地,所述评价指标值包括使用频率得分;所述访问记录表包括哈希表和使用频率跳表,所述哈希表用于存储浏览数据ID与所述使用频率跳表中记录的使用频率得分之间的映射关系;
所述步骤102包括:
根据浏览所述第一浏览数据时的浏览时间戳和操作的接口信息,确定所述第一浏览数据的第一使用频率得分;
所述步骤103包括:
在所述哈希表中未存储有所述第一浏览数据ID的情况下,在所述哈希表中存储所述第一浏览数据ID,并在所述使用频率跳表中记录所述第一使用频率得分;
在所述哈希表中存储有所述第一浏览数据ID的情况下,在所述使用频率跳表中更新所述第一浏览数据ID的使用频率得分为所述第一使用频率得分。
一种实施方式中,可以采用跳表(Skiplist)积分模型对用户浏览数据进行记录处理,即该实施方式中,所述访问记录表包括哈希表(hashMap)和使用频率跳表,如图2所示,该Skiplist积分模型基于哈希表和使用频率跳表(frequencySkiplist)进行操作,其中,哈希表维护浏览数据ID(如productId)与最常使用节点(frequencyNode)的映射关系,如哈希表中存储的key值为productId,value值包括frequencyNode。
具体地,可将浏览数据ID通过哈希(Hash)函数计算后确定该浏览数据ID节点在哈希表中的存放位置,且该存放位置内包括带有下一个(next)指针的frequencyNode。每个浏览数据ID的frequencyNode对应指向该浏览数据ID在frequencySkiplist中的评价指标值,frequencySkiplist中维护各节点使用频率得分从小到大的有序关系。
Skiplist与积分(使用频率得分)结合的数据结构特性,可将无规则的用户操作提取为积分有序的用户浏览频次记录,并展示给用户,使用户能够通过清晰的浏览频次记录快速进行常用业务定位。frequencySkiplist中积分越大的浏览数据表示用户浏览频次越高,根据对应浏览数据ID能够提取为用户浏览频次的相关信息。
跳表本质上是多层索引的链表,如图2所示,frequencySkiplist中存在三个层级(level),如level1、level2和level3,实际数据结构可不限于三级。其中,level3链表的节点很少,而level2链表的节点多一些,level1链表则串联了所有的节点。每个节点的高度是随机确定的,因此有的节点可以串联到level2或者level3等更高层的链表中。不同层级的相同节点的分数是相同的。粗线路径为某节点分数si的查找路径,跳表Skiplist从最高级索引开始查找,层层遍历后下沉到原始链表。
本申请实施例中涉及的Skiplist的时间复杂度=索引的高度*每层索引遍历元素的个数。若Skiplist的索引高度 ,n为层级数,且每层索引最多遍历 3个元素,则Skiplist查找一个元素的时间复杂度为 />,省略常数即为/>。其中level1中的数据从头节点(head)开始积分递增,具备有序特性,同时支持新的数据插入,能够不断更新积分模型。
该实施方式中,使用频率得分可以根据浏览数据的浏览时间戳和浏览时对浏览数据操作的接口信息确定,例如,对于所述第一浏览数据,可以根据浏览所述第一浏览数据的浏览时间戳,以及浏览所述第一浏览数据时用户操作的接口信息,具体可以包括历史浏览所述第一浏览数据时用户操作的接口信息和本次浏览所述第一浏览数据时用户操作的接口信息,确定所述第一浏览数据的第一使用频率得分,例如,对浏览时间戳和操作的接口数量或权重进行累加,或者设计特定公式对浏览时间戳和操作的接口权重进行计算,使使用频率得分与浏览时间戳和操作的接口权重正相关。
可选地,所述根据浏览所述第一浏览数据时的浏览时间戳和操作的接口信息,确定所述第一浏览数据的第一使用频率得分,包括:
根据本次浏览所述第一浏览数据的浏览时间戳,历史对所述第一浏览数据操作的各接口的权重,以及本次对所述第一浏览数据操作的各接口的权重,确定所述第一浏览数据的第一使用频率得分。
一种实施方式中,可以根据本次浏览所述第一浏览数据的浏览时间戳,历史对所述第一浏览数据操作的各接口的权重,以及本次对所述第一浏览数据操作的各接口的权重,计算所述第一浏览数据的第一使用频率得分,其中,不同操作接口预设有不同的权重值,如列表查询接口(/list)、删除接口(/delete)分别对应不同的权重值。具体地,可以将历史对所述第一浏览数据操作的各接口的权重,以及本次对所述第一浏览数据操作的各接口的权重进行累加,再经过一定修正处理后与浏览时间戳相加,得到第一使用频率得分。
例如,可根据如下Skiplist积分公式1计算使用频率得分:
其中,为浏览数据X第/>次的使用频率得分;/>为浏览时间戳;/>为浏览数据X的接口j的权重值;T为常量,用于修正接口权重数值大小,避免对接口权重求和取对数后的值与/>差距过大,影响数据的可参考性。
由该公式可知,浏览数据X第i次使用频率得分与当前时间戳有关,随着时间的推移,/>取值变大,能够区分历史浏览数据和当前浏览数据的得分大小。例如,同样的用户浏览路径操作发生在过去的得分小于发生在当前的得分。同时,通过对接口权重求和取对数的方式,能够将浏览数据进行标准化处理,如图3中一阶线性函数和对数函数趋势的比较图所示,相比一般的一阶线性函数,对数函数保留数据的正向增长趋势,减缓了增长速度,避免了数据因增长过快而溢出。根据Skiplist积分公式1可知,/>分数越高,代表使用频率越高,即对应浏览数据为经常浏览的数据。
这样,通过该实施方式,能够根据浏览数据的浏览时间和浏览时操作的接口权重,对浏览数据的使用频率进行准确地评价,从而实现对用户经常浏览的数据进行有序记录。
在根据Skiplist积分公式1得到浏览数据X第次的使用频率得分后,可以更新frequencySkiplist表。具体为通过hashMap中的productId获取最常使用节点frequencyNode,从最常使用跳表frequencySkiplist查找该节点的使用频率得分在表中的排名位置,将该节点的使用频率得分插入相应位置,从而实现更新Skiplist积分模型。
更新Skiplist积分模型的过程是查找后插入的过程,如图2所示,从level3开始推进,每次下降level之前把当前level所处的节点记录下来,也就是图2中粗线路径。如图2所示的frequencySkiplist表中,要更新si,从leve3开始,发现si的分数大于s2,则从level3下降到level2中的s2,此时si大于s3,继续在该层向后查找,当si小于s5,则从level2这层链表继续下降到level1中的s3,并插入到s3后面,完成frequencySkiplist更新。
这样,通过结合哈希表和使用频率跳表,记录用户浏览数据的使用频率得分,可将无规则的用户操作提取为积分有序的用户浏览频次记录,并展示给用户,使用户能够通过清晰的浏览频次记录快速进行常用业务定位。且与基于简单数组等数据结构的方案相比,Skiplist时间复杂度O(log(n))更低,具备按照积分大小延伸的有序特性。
可选地,所述访问记录表包括哈希表和使用时间跳表,所述哈希表用于存储浏览数据ID与所述使用时间跳表中记录的使用时间得分之间的映射关系,所述评价指标值包括使用时间得分;
所述步骤102包括:
根据本次浏览所述第一浏览数据的浏览时间戳,确定所述第一浏览数据的第一使用时间得分,所述第一使用时间得分与所述浏览时间戳正相关;
所述步骤103包括:
在所述哈希表中未存储有所述第一浏览数据ID的情况下,在所述哈希表中存储所述第一浏览数据ID,并在所述使用时间跳表中记录所述第一使用时间得分;
在所述哈希表中存储有所述第一浏览数据ID的情况下,在所述使用时间跳表中更新所述第一浏览数据ID的使用时间得分为所述第一使用时间得分。
还一种实施方式中,可以采用跳表(Skiplist)积分模型对用户浏览数据进行记录处理,且该实施方式中,所述访问记录表包括哈希表(hashMap)和使用时间跳表,如图2所示,该Skiplist积分模型还可基于哈希表和最近使用跳表(recentlySkiplist)进行操作,其中,哈希表还维护浏览数据ID(如productId)与最近使用节点(recentlyNode)的映射关系,如哈希表中存储的key值为productId,value值还包括recentlyNode。
一些实施例中,所述访问记录表包括哈希表、frequencySkiplist和recentlySkiplist,即该Skiplist积分模型基于哈希表、frequencySkiplist和recentlySkiplist进行操作,其中,哈希表维护浏览数据ID(如productId)与最常使用节点frequencyNode、最近使用节点recentlyNode的映射关系,如哈希表中存储的key值为productId,value值包括frequencyNode和recentlyNode。
具体地,可将浏览数据ID通过哈希(Hash)函数计算后确定该浏览数据ID节点在哈希表中的存放位置,且该存放位置内包括带有下一个(next)指针的recentlyNode。每个浏览数据ID的recentlyNode对应指向该浏览数据ID在recentlySkiplist中的评价指标值,recentlySkiplist中维护各节点使用时间得分从小到大的有序关系。
Skiplist与积分(使用时间得分)结合的数据结构特性,可将无规则的用户操作提取为积分有序的用户浏览路径,并展示给用户,使用户能够通过清晰的浏览路径进行快速回溯。recentlySkiplist中积分越大的浏览数据表示用户浏览时间越近。
如图2所示,recentlySkiplist中存在三个level,如level1、level2和level3,实际数据结构可不限于三级,粗线路径为某节点分数si′的查找路径。跳表Skiplist从最高级索引开始查找,层层遍历后下沉到原始链表。其中level1中的数据从头节点(head)开始积分递增,具备有序特性,同时支持新的数据插入,能够不断更新积分模型。
该实施方式中,使用时间得分可以根据浏览数据的浏览时间戳确定,例如,对于所述第一浏览数据,可以直接将浏览所述第一浏览数据的浏览时间戳确定为第一使用时间得分,使使用时间得分与浏览时间戳正相关,并随时间的推荐,最近浏览数据的使用时间得分随之增长。
本申请实施例中,使用时间得分的计算公式可由使用频率得分的计算公式退回所得,例如,可根据如下Skiplist积分公式2计算使用时间得分:
其中,以浏览时间戳作为使用时间分数依据,/>越大,表明用户使用时间越靠前,通过简单清晰的方式获得了最近浏览数据排名依据。
在通过Skiplist积分公式2得到浏览数据X第次的使用时间得分后,可以更新recentlySkiplist表。具体为通过hashMap中的productId获取最近使用节点recentlyNode,从最近使用跳表recentlySkiplist查找该节点的使用时间分数在表中的排名位置,将该节点的使用时间得分插入相应位置,从而实现更新Skiplist积分模型。
更新Skiplist积分模型的过程是查找后插入的过程,如图2所示的frequencySkiplist表中,要更新si′,从leve3开始,发现si′的分数大于s4′,则从level3下降到level2中的s4′,此时si′小于s5′,则从level2这层链表继续下降到level1中的s4′,并插入到s4′后面,完成recentlySkiplist更新。
这样,通过结合哈希表和使用时间跳表,记录用户浏览数据的使用时间得分,可将无规则的用户操作提取为积分有序的用户浏览路径,并展示给用户,使用户能够通过清晰的浏览路径进行快速回溯。且与基于简单数组等数据结构的方案相比,Skiplist时间复杂度O(log(n))更低,具备按照积分大小延伸的有序特性。
本申请实施例中,可将Skiplist积分模型处理后的浏览数据存储在本地存储(LocalStorage)中,即将哈希表中记录的浏览数据ID对应的浏览数据缓存在LocalStorage中,充分利用浏览器存储介质减轻服务器端的压力,减少了服务器资源的占用。
步骤104、确定所述访问记录表中评价指标值相对较高的前N个评价指标值对应的N个浏览数据ID,并展示所述N个浏览数据ID对应的N条历史浏览数据,N为正整数。
本申请实施例中,可以根据所述访问记录表记录的各浏览数据的评价指标值,确定待展示的历史浏览数据,具体可以是将评价指标值较大的浏览数据作为展示数据,供用户快速回溯历史浏览数据。具体地,可以确定所述访问记录表中评价指标值相对较高的前N个评价指标值对应的N个浏览数据ID,展示所述N个浏览数据ID对应的N条历史浏览数据,例如,可以在所述访问记录表中按序存储各浏览数据的评价指标值,在需要展示时取其中评价指标值排名前N的N条浏览数据进行展示,其中,排名可以是按评价指标值从高至低排名,N的值可以根据需求设定,如取评价指标值相对较高的前10条浏览数据进行展示。
可选地,所述步骤103之后,所述方法还包括:
确定所述访问记录表中评价指标值相对较高的前M个评价指标值对应的M个浏览数据ID,并将所述M个浏览数据ID对应的M条历史浏览数据发送至服务器,以使所述服务器存储所述M条历史浏览数据,M为正整数。
一种实施方式中,为了确保历史浏览数据的安全存储,同时兼顾减轻服务器端的数据存储压力,可以对所述访问记录表中评价指标值相对较高的若干条浏览数据同步至服务器端存储。
例如,可从Skiplist积分模型中的frequencySkiplist表和recentlySkiplist表中各取分数排名前十的10条历史浏览数据,将10条历史浏览数据同步到后台数据库。
具体地,还可以通过设置同步规则,例如,在用户登出或到达时间阈值窗口时,通过查询frequencySkiplist和recentlySkiplist,将各自分数排名前十的浏览数据推送至后台,从而有效避免了用户误点击或无意识操作的无效数据的收集和上报所浪费的资源。
可选地,所述展示所述N个浏览数据ID对应的N条历史浏览数据,包括:
在本地存储中缓存有所述N条历史浏览数据的情况下,从所述本地存储中获取所述N条历史浏览数据,并展示所述N条历史浏览数据;
在本地存储中缓存的数据失效的情况下,从所述服务器获取所述N条历史浏览数据。
即在进行用户历史浏览数据展示时,可优先直接使用前端缓存而无需向后端即服务器发起请求,如可以直接从本地缓存数据中获取所述N条历史浏览数据并展示,或在向后端发起请求但后端存储的数据与前端一致时,后端无需将数据进行回传,从而可减少数据响应时间。
当本地强制缓存失效后,前端可以携带缓存标识,如浏览网站的用户账号或登录设备凭证,向服务器发起请求进行协商缓存,以从所述服务器获取所述N条历史浏览数据。
这样,可以尽可能减少请求数据响应时间,并保证浏览数据成功获取和展示。
可选地,所述将所述M个浏览数据ID对应的M条历史浏览数据发送至服务器,包括:
在用户浏览所述第一浏览数据时处于未登录状态的情况下,通过用户登录客户端的身份凭证,确定与所述身份凭证关联的用户账号;
将所述M条历史浏览数据和所述用户账号发送至服务器,以使所述服务器将所述M条历史浏览数据与所述用户账号关联存储。
即一种实施方式中,针对用户游离状态的浏览操作,可以进行无差别地甄选记录,保证了用户浏览数据的完整性,实现了用户浏览行为路径的全面捕捉。
具体地,可针对游离状态和登录状态用户分别制定不同的数据存储规则。对于游离状态的用户即用户在浏览数据时未登录账号,可以先本地缓存在游离状态下产生的浏览数据,在用户下次登录时,进行身份关联确认,即通过关联用户登录客户端的身份凭证(如指纹、密码)与用户账号,将游离状态下产生的浏览数据同步至所述用户账号下,即将所述M条历史浏览数据和所述用户账号发送至服务器,以使所述服务器将所述M条历史浏览数据存储至所述用户账号对应的浏览记录中。这样,前端可以整体收集数据,将用户未登录情况下的浏览行为与登录之后的浏览行为合并,保证浏览数据的完整性,能够建立更生动丰富的用户画像。
对于登录状态的用户,则可在用户登出结束本次使用,或到达时间阈值窗口时,将用户账号关联的得分较大的前M条历史浏览数据推送到后台。这样,相较于频繁的发送同步请求,上报用户浏览数据,能够提高设备性能。且对于用户误点击或无意识操作的无效数据,减少了服务器端数据的收集,避免了资源的浪费。
结合以上实施方式的介绍,本申请实施例通过建立前端全局过滤器进行路由和用户请求的捕获埋点,并将捕获数据进行业务归纳、分类和评分。根据甄选后的浏览数据,建立基于Skiplist数据结构的积分模型,将归纳整理后的数据存储在LocalStorage中。以此为基础实现用户浏览路径的捕捉,利用Skiplist按照积分大小延伸的数据特性,按照积分越大浏览发生时间越近、使用频次越高的特点,将无规则的用户操作提取为有序的用户浏览路径和浏览频次记录,并展示给用户,使用户能够通过清晰的浏览路径和频次进行快速回溯和常用业务定位。
本申请技术方案相比现有技术方案,具有以下优点:
本申请实施例基于Skiplist积分模型对用户浏览数据进行了处理,与基于简单数组等数据结构的方案相比,Skiplist时间复杂度O(log(n)低,在网站规模较大时,能有效提升元素的查找效率,提高页面的响应速度;还具备按照积分大小延伸的有序特性,该Skiplist积分模型将无规则的用户操作提取为积分有序的用户浏览路径和浏览频次,并展示给用户,使用户能够通过清晰的浏览路径和频次进行快速回溯和常用业务定位,简化了数据处理过程。
本申请实施例将整理后的数据存储在前端LocalStorage中。当用户进行页面访问时,首先读取浏览器缓存中的数据,减少了频繁的接口请求,提高了网页的访问速度,降低服务器的带宽消耗。本申请实施例捕获了未登录状态下的用户浏览数据,从而保证数据的完整性,建立更生动丰富的用户画像。本申请针对不同的用户登录状态进行不同的数据同步设置。若用户在常用设备登录,则根据平台风控规则首先判定用户状态是否异常;若用户状态正常,则询问是否关联游客状态时的最近浏览数据;若用户选择关联,则触发数据同步,将浏览数据进行关联更新;若不关联,则保留上次登录状态时候的最近访问信息。
本申请实施例中的埋点技术依托大云平台已实现的网关技术方案,建立前端全局过滤器进行路由和用户请求的捕获埋点,将其捕获的数据匹配平台的网关路由配置,并进行归口分类。与现有的手动埋点,或是引入外部SDK的埋点方式相比,对用户使用大云平台的功能进行了精准的归类,无需研发人员在前端工程注入大量的埋点代码,减少了研发人员的代码开发量。
本申请实施例的数据处理方法,获取用户浏览的第一浏览数据和所述第一浏览数据对应的第一浏览数据ID;根据所述第一浏览数据的浏览参数,确定所述第一浏览数据的第一评价指标值;在预先建立的访问记录表中记录所述第一浏览数据ID对应的所述第一评价指标值,其中,所述访问记录表中记录有所述用户浏览的各浏览数据ID和对应的评价指标值;确定所述访问记录表中评价指标值相对较高的前N个评价指标值对应的N个浏览数据ID,并展示所述N个浏览数据ID对应的N条历史浏览数据,N为正整数。这样,通过根据浏览参数,计算用户浏览各数据ID的评价指标值,从而存储用户浏览的各数据ID的评价指标值,能够实现将无规则的用户操作提取为积分有序的用户浏览记录,并能够快速查询出评价指标值相对较高的若干条历史浏览数据向用户展示,使用户能够通过清晰的浏览记录进行快速回溯和常用业务定位。
本申请实施例还提供了一种数据处理装置。参见图4,图4是本申请实施例提供的数据处理装置的结构图。由于数据处理装置解决问题的原理与本申请实施例中数据处理方法相似,因此该数据处理装置的实施可以参见方法的实施,重复之处不再赘述。
如图4所示,数据处理装置400包括:
获取模块401,用于获取用户浏览的第一浏览数据和所述第一浏览数据对应的第一浏览数据ID;
确定模块402,用于根据所述第一浏览数据的浏览参数,确定所述第一浏览数据的第一评价指标值;
记录模块403,用于在预先建立的访问记录表中记录所述第一浏览数据ID对应的所述第一评价指标值,其中,所述访问记录表中记录有所述用户浏览的各浏览数据ID和对应的评价指标值;
展示模块404,用于确定所述访问记录表中评价指标值相对较高的前N个评价指标值对应的N个浏览数据ID,并展示所述N个浏览数据ID对应的N条历史浏览数据,N为正整数。
可选地,所述评价指标值包括使用频率得分;所述访问记录表包括哈希表和使用频率跳表,所述哈希表用于存储浏览数据ID与所述使用频率跳表中记录的使用频率得分之间的映射关系;
确定模块402用于根据浏览所述第一浏览数据时的浏览时间戳和操作的接口信息,确定所述第一浏览数据的第一使用频率得分;
记录模块403用于:
在所述哈希表中未存储有所述第一浏览数据ID的情况下,在所述哈希表中存储所述第一浏览数据ID,并在所述使用频率跳表中记录所述第一使用频率得分;
在所述哈希表中存储有所述第一浏览数据ID的情况下,在所述使用频率跳表中更新所述第一浏览数据ID的使用频率得分为所述第一使用频率得分。
可选地,确定模块402用于根据本次浏览所述第一浏览数据的浏览时间戳,历史对所述第一浏览数据操作的各接口的权重,以及本次对所述第一浏览数据操作的各接口的权重,确定所述第一浏览数据的第一使用频率得分。
可选地,所述访问记录表包括哈希表和使用时间跳表,所述哈希表用于存储浏览数据ID与所述使用时间跳表中记录的使用时间得分之间的映射关系,所述评价指标值包括使用时间得分;
确定模块402用于根据本次浏览所述第一浏览数据的浏览时间戳,确定所述第一浏览数据的第一使用时间得分,所述第一使用时间得分与所述浏览时间戳正相关;
记录模块403用于:
在所述哈希表中未存储有所述第一浏览数据ID的情况下,在所述哈希表中存储所述第一浏览数据ID,并在所述使用时间跳表中记录所述第一使用时间得分;
在所述哈希表中存储有所述第一浏览数据ID的情况下,在所述使用时间跳表中更新所述第一浏览数据ID的使用时间得分为所述第一使用时间得分。
可选地,获取模块401包括:
采集单元,用于根据预先对访问路由和接口设置的埋点信息,采集浏览信息,所述埋点信息包括域名、模块类别、数据类别和操作类别中的至少一项;
第一确定单元,用于根据采集的浏览信息,确定用户浏览的第一浏览数据和所述第一浏览数据对应的第一浏览数据ID。
可选地,数据处理装置400还包括:
发送模块,用于确定所述访问记录表中评价指标值相对较高的前M个评价指标值对应的M个浏览数据ID,并将所述M个浏览数据ID对应的M条历史浏览数据发送至服务器,以使所述服务器存储所述M条历史浏览数据,M为正整数。
可选地,展示模块404用于:
在本地存储中缓存有所述N条历史浏览数据的情况下,从所述本地存储中获取所述N条历史浏览数据,并展示所述N条历史浏览数据;
在本地存储中缓存的数据失效的情况下,从所述服务器获取所述N条历史浏览数据。
可选地,所述发送模块包括:
第二确定单元,用于在用户浏览所述第一浏览数据时处于未登录状态的情况下,通过用户登录客户端的身份凭证,确定与所述身份凭证关联的用户账号;
发送单元,用于将所述M条历史浏览数据和所述用户账号发送至服务器,以使所述服务器将所述M条历史浏览数据与所述用户账号关联存储。
本申请实施例提供的数据处理装置400,可以执行图1所示方法实施例,其实现原理和技术效果类似,本实施例此处不再赘述。
本申请实施例的数据处理装置400,获取用户浏览的第一浏览数据和所述第一浏览数据对应的第一浏览数据ID;根据所述第一浏览数据的浏览参数,确定所述第一浏览数据的第一评价指标值;在预先建立的访问记录表中记录所述第一浏览数据ID对应的所述第一评价指标值,其中,所述访问记录表中记录有所述用户浏览的各浏览数据ID和对应的评价指标值;确定所述访问记录表中评价指标值相对较高的前N个评价指标值对应的N个浏览数据ID,并展示所述N个浏览数据ID对应的N条历史浏览数据,N为正整数。这样,通过根据浏览参数,计算用户浏览各数据ID的评价指标值,从而存储用户浏览的各数据ID的评价指标值,能够实现将无规则的用户操作提取为积分有序的用户浏览记录,并能够快速查询出评价指标值相对较高的若干条历史浏览数据向用户展示,使用户能够通过清晰的浏览记录进行快速回溯历史浏览数据。
本申请实施例还提供了一种电子设备。由于电子设备解决问题的原理与本申请实施例中数据处理方法相似,因此该电子设备的实施可以参见方法的实施,重复之处不再赘述。如图5所示,本申请实施例的电子设备,包括:
处理器500,用于读取存储器520中的程序,执行下列过程:
获取用户浏览的第一浏览数据和所述第一浏览数据对应的第一浏览数据ID;
根据所述第一浏览数据的浏览参数,确定所述第一浏览数据的第一评价指标值;
在预先建立的访问记录表中记录所述第一浏览数据ID对应的所述第一评价指标值,其中,所述访问记录表中记录有所述用户浏览的各浏览数据ID和对应的评价指标值;
确定所述访问记录表中评价指标值相对较高的前N个评价指标值对应的N个浏览数据ID,并展示所述N个浏览数据ID对应的N条历史浏览数据,N为正整数。
收发机510,用于在处理器500的控制下接收和发送数据。
其中,在图5中,总线架构可以包括任意数量的互联的总线和桥,具体由处理器500代表的一个或多个处理器和存储器520代表的存储器的各种电路链接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口提供接口。收发机510可以是多个元件,即包括发送机和收发机,提供用于在传输介质上与各种其他装置通信的单元。处理器500负责管理总线架构和通常的处理,存储器520可以存储处理器500在执行操作时所使用的数据。
可选地,所述评价指标值包括使用频率得分;所述访问记录表包括哈希表和使用频率跳表,所述哈希表用于存储浏览数据ID与所述使用频率跳表中记录的使用频率得分之间的映射关系;
处理器500还用于读取存储器520中的程序,执行如下步骤:
根据浏览所述第一浏览数据时的浏览时间戳和操作的接口信息,确定所述第一浏览数据的第一使用频率得分;
在所述哈希表中未存储有所述第一浏览数据ID的情况下,在所述哈希表中存储所述第一浏览数据ID,并在所述使用频率跳表中记录所述第一使用频率得分;
在所述哈希表中存储有所述第一浏览数据ID的情况下,在所述使用频率跳表中更新所述第一浏览数据ID的使用频率得分为所述第一使用频率得分。
可选地,处理器500还用于读取存储器520中的程序,执行如下步骤:
根据本次浏览所述第一浏览数据的浏览时间戳,历史对所述第一浏览数据操作的各接口的权重,以及本次对所述第一浏览数据操作的各接口的权重,确定所述第一浏览数据的第一使用频率得分。
可选地,所述访问记录表包括哈希表和使用时间跳表,所述哈希表用于存储浏览数据ID与所述使用时间跳表中记录的使用时间得分之间的映射关系,所述评价指标值包括使用时间得分;
处理器500还用于读取存储器520中的程序,执行如下步骤:
根据本次浏览所述第一浏览数据的浏览时间戳,确定所述第一浏览数据的第一使用时间得分,所述第一使用时间得分与所述浏览时间戳正相关;
在所述哈希表中未存储有所述第一浏览数据ID的情况下,在所述哈希表中存储所述第一浏览数据ID,并在所述使用时间跳表中记录所述第一使用时间得分;
在所述哈希表中存储有所述第一浏览数据ID的情况下,在所述使用时间跳表中更新所述第一浏览数据ID的使用时间得分为所述第一使用时间得分。
可选地,处理器500还用于读取存储器520中的程序,执行如下步骤:
根据预先对访问路由和接口设置的埋点信息,采集浏览信息,所述埋点信息包括域名、模块类别、数据类别和操作类别中的至少一项;
根据采集的浏览信息,确定用户浏览的第一浏览数据和所述第一浏览数据对应的第一浏览数据ID。
可选地,处理器500还用于读取存储器520中的程序,执行如下步骤:
确定所述访问记录表中评价指标值相对较高的前M个评价指标值对应的M个浏览数据ID,并将所述M个浏览数据ID对应的M条历史浏览数据发送至服务器,以使所述服务器存储所述M条历史浏览数据,M为正整数。
可选地,处理器500还用于读取存储器520中的程序,执行如下步骤:
在本地存储中缓存有所述N条历史浏览数据的情况下,从所述本地存储中获取所述N条历史浏览数据,并展示所述N条历史浏览数据;
在本地存储中缓存的数据失效的情况下,从所述服务器获取所述N条历史浏览数据。
可选地,处理器500还用于读取存储器520中的程序,执行如下步骤:
在用户浏览所述第一浏览数据时处于未登录状态的情况下,通过用户登录客户端的身份凭证,确定与所述身份凭证关联的用户账号;
将所述M条历史浏览数据和所述用户账号发送至服务器,以使所述服务器将所述M条历史浏览数据与所述用户账号关联存储。
本申请实施例提供的电子设备,可以执行图1所示方法实施例,其实现原理和技术效果类似,本实施例此处不再赘述。
此外,本申请实施例的计算机可读存储介质,用于存储计算机程序,所述计算机程序可被处理器执行实现图1所示方法实施例中的各个步骤。
在本申请所提供的几个实施例中,应该理解到,所揭露方法和装置,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理包括,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述收发方法的部分步骤。而前述的存储介质包括:U 盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (10)
1.一种数据处理方法,其特征在于,包括:
获取用户浏览的第一浏览数据和所述第一浏览数据对应的第一浏览数据标识ID;
根据所述第一浏览数据的浏览参数,确定所述第一浏览数据的第一评价指标值;
在预先建立的访问记录表中记录所述第一浏览数据ID对应的所述第一评价指标值,其中,所述访问记录表中记录有所述用户浏览的各浏览数据ID和对应的评价指标值;
确定所述访问记录表中评价指标值相对较高的前N个评价指标值对应的N个浏览数据ID,并展示所述N个浏览数据ID对应的N条历史浏览数据,N为正整数;
所述评价指标值包括使用频率得分;所述访问记录表包括哈希表和使用频率跳表;或,
所述评价指标值包括使用时间得分;所述访问记录表包括哈希表和使用时间跳表。
2.根据权利要求1所述的方法,其特征在于,所述哈希表用于存储浏览数据ID与所述使用频率跳表中记录的使用频率得分之间的映射关系;
所述根据所述第一浏览数据的浏览参数,确定所述第一浏览数据ID的第一评价指标值,包括:
根据浏览所述第一浏览数据时的浏览时间戳和操作的接口信息,确定所述第一浏览数据的第一使用频率得分;
所述在预先建立的访问记录表中记录所述第一浏览数据ID对应的所述第一评价指标值,包括:
在所述哈希表中未存储有所述第一浏览数据ID的情况下,在所述哈希表中存储所述第一浏览数据ID,并在所述使用频率跳表中记录所述第一使用频率得分;
在所述哈希表中存储有所述第一浏览数据ID的情况下,在所述使用频率跳表中更新所述第一浏览数据ID的使用频率得分为所述第一使用频率得分。
3.根据权利要求2所述的方法,其特征在于,所述根据浏览所述第一浏览数据时的浏览时间戳和操作的接口信息,确定所述第一浏览数据的第一使用频率得分,包括:
根据本次浏览所述第一浏览数据的浏览时间戳,历史对所述第一浏览数据操作的各接口的权重,以及本次对所述第一浏览数据操作的各接口的权重,确定所述第一浏览数据的第一使用频率得分。
4.根据权利要求1所述的方法,其特征在于,所述哈希表用于存储浏览数据ID与所述使用时间跳表中记录的使用时间得分之间的映射关系,所述评价指标值包括使用时间得分;
所述根据所述第一浏览数据的浏览参数,确定所述第一浏览数据的第一评价指标值,包括:
根据本次浏览所述第一浏览数据的浏览时间戳,确定所述第一浏览数据的第一使用时间得分,所述第一使用时间得分与所述浏览时间戳正相关;
所述在预先建立的访问记录表中记录所述第一浏览数据ID对应的所述第一评价指标值,包括:
在所述哈希表中未存储有所述第一浏览数据ID的情况下,在所述哈希表中存储所述第一浏览数据ID,并在所述使用时间跳表中记录所述第一使用时间得分;
在所述哈希表中存储有所述第一浏览数据ID的情况下,在所述使用时间跳表中更新所述第一浏览数据ID的使用时间得分为所述第一使用时间得分。
5.根据权利要求1所述的方法,其特征在于,所述获取用户浏览的第一浏览数据和所述第一浏览数据对应的第一浏览数据ID,包括:
根据预先对访问路由和接口设置的埋点信息,采集浏览信息,所述埋点信息包括域名、模块类别、数据类别和操作类别中的至少一项;
根据采集的浏览信息,确定用户浏览的第一浏览数据和所述第一浏览数据对应的第一浏览数据ID。
6.根据权利要求1所述的方法,其特征在于,所述在预先建立的访问记录表中记录所述第一浏览数据ID对应的所述第一评价指标值之后,所述方法还包括:
确定所述访问记录表中评价指标值相对较高的前M个评价指标值对应的M个浏览数据ID,并将所述M个浏览数据ID对应的M条历史浏览数据发送至服务器,以使所述服务器存储所述M条历史浏览数据,M为正整数。
7.根据权利要求6所述的方法,其特征在于,所述展示所述N个浏览数据ID对应的N条历史浏览数据,包括:
在本地存储中缓存有所述N条历史浏览数据的情况下,从所述本地存储中获取所述N条历史浏览数据,并展示所述N条历史浏览数据;
在本地存储中缓存的数据失效的情况下,从所述服务器获取所述N条历史浏览数据。
8.一种数据处理装置,其特征在于,包括:
获取模块,用于获取用户浏览的第一浏览数据和所述第一浏览数据对应的第一浏览数据ID;
确定模块,用于根据所述第一浏览数据的浏览参数,确定所述第一浏览数据的第一评价指标值;
记录模块,用于在预先建立的访问记录表中记录所述第一浏览数据ID对应的所述第一评价指标值,其中,所述访问记录表中记录有所述用户浏览的各浏览数据ID和对应的评价指标值;
展示模块,用于确定所述访问记录表中评价指标值相对较高的前N个评价指标值对应的N个浏览数据ID,并展示所述N个浏览数据ID对应的N条历史浏览数据,N为正整数;
所述评价指标值包括使用频率得分;所述访问记录表包括哈希表和使用频率跳表;或,
所述评价指标值包括使用时间得分;所述访问记录表包括哈希表和使用时间跳表。
9.一种电子设备,包括:收发机、存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序;其特征在于,所述处理器,用于读取存储器中的程序实现如权利要求1至7中任一项所述的数据处理方法中的步骤。
10.一种计算机可读存储介质,用于存储计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的数据处理方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310877563.8A CN116610870B (zh) | 2023-07-18 | 2023-07-18 | 一种数据处理方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310877563.8A CN116610870B (zh) | 2023-07-18 | 2023-07-18 | 一种数据处理方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116610870A CN116610870A (zh) | 2023-08-18 |
CN116610870B true CN116610870B (zh) | 2024-04-09 |
Family
ID=87676733
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310877563.8A Active CN116610870B (zh) | 2023-07-18 | 2023-07-18 | 一种数据处理方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116610870B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170323361A1 (en) * | 2016-05-06 | 2017-11-09 | Oct8ne Inc. | Rapid re-hosting of collaborative browsing sessions |
CN111782943A (zh) * | 2020-06-24 | 2020-10-16 | 中国平安财产保险股份有限公司 | 基于历史数据记录的信息推荐方法、装置、设备及介质 |
CN114328535A (zh) * | 2021-12-30 | 2022-04-12 | 杭州电子科技大学 | 一种索引查询优化的仓储区块链系统 |
-
2023
- 2023-07-18 CN CN202310877563.8A patent/CN116610870B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170323361A1 (en) * | 2016-05-06 | 2017-11-09 | Oct8ne Inc. | Rapid re-hosting of collaborative browsing sessions |
CN111782943A (zh) * | 2020-06-24 | 2020-10-16 | 中国平安财产保险股份有限公司 | 基于历史数据记录的信息推荐方法、装置、设备及介质 |
CN114328535A (zh) * | 2021-12-30 | 2022-04-12 | 杭州电子科技大学 | 一种索引查询优化的仓储区块链系统 |
Also Published As
Publication number | Publication date |
---|---|
CN116610870A (zh) | 2023-08-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5802745B2 (ja) | インテリジェントナビゲーションの方法、装置、およびシステム | |
CN102088419B (zh) | 一种在社交网络中查找好友信息的方法和系统 | |
US6883001B2 (en) | Document information search apparatus and method and recording medium storing document information search program therein | |
CN103870461B (zh) | 主题推荐方法、装置和服务器 | |
US10282373B2 (en) | Subject-based vitality | |
EP2657854A1 (en) | Method and system for incremental collection of forum replies | |
CN103593371A (zh) | 推荐搜索关键词的方法和装置 | |
KR101123697B1 (ko) | 공통 관심 사용자 검색장치 및 방법 | |
CN109885656B (zh) | 基于量化热度的微博转发预测方法及装置 | |
CN101911065A (zh) | 访问对象信息检索装置 | |
CN103262079B (zh) | 检索装置及检索方法 | |
US20110218991A1 (en) | System and method for automatic detection of needy queries | |
CN102541947A (zh) | 一种用于基于扩展推荐事件更新网页权威值的方法与设备 | |
CN105095228A (zh) | 一种社交消息的监测方法及装置 | |
CN116610870B (zh) | 一种数据处理方法、装置及电子设备 | |
JP4717106B2 (ja) | フロー情報処理装置及びネットワークシステム | |
KR101638986B1 (ko) | 사용자 기반 빅데이터 분류 및 정보제공 시스템, 방법 및 서버와 그를 구현하기 위한 프로그램이 기록된 기록매체 | |
CN111597235B (zh) | 数据处理方法、装置和电子设备 | |
CN111191126B (zh) | 一种基于关键词的科技成果精准推送方法及装置 | |
CN111858733A (zh) | 一种基于互联网多源异构数据的政务信息比对方法及系统 | |
JP5813559B2 (ja) | 検索条件提示装置、方法、及びプログラム | |
CN109271580B (zh) | 搜索方法、装置、客户端和搜索引擎 | |
KR102093166B1 (ko) | 웹사이트 접속 시간 단축 방법 및 이를 위한 장치 | |
JP5813560B2 (ja) | 検索条件提示装置、方法、及びプログラム | |
CN108287826B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |