CN114218134A - 一种缓存用户的方法和装置 - Google Patents
一种缓存用户的方法和装置 Download PDFInfo
- Publication number
- CN114218134A CN114218134A CN202111497000.3A CN202111497000A CN114218134A CN 114218134 A CN114218134 A CN 114218134A CN 202111497000 A CN202111497000 A CN 202111497000A CN 114218134 A CN114218134 A CN 114218134A
- Authority
- CN
- China
- Prior art keywords
- user
- active
- specified
- users
- log data
- 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
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0877—Cache access modes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/18—Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/213—Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods
- G06F18/2135—Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods based on approximation criteria, e.g. principal component analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- 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
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0639—Performance analysis of employees; Performance analysis of enterprise or organisation operations
- G06Q10/06393—Score-carding, benchmarking or key performance indicator [KPI] analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
- G06F2212/1021—Hit rate improvement
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- General Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Entrepreneurship & Innovation (AREA)
- Computational Mathematics (AREA)
- Development Economics (AREA)
- Educational Administration (AREA)
- Economics (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Strategic Management (AREA)
- Pure & Applied Mathematics (AREA)
- Operations Research (AREA)
- Mathematical Optimization (AREA)
- Evolutionary Computation (AREA)
- Mathematical Analysis (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Quality & Reliability (AREA)
- Probability & Statistics with Applications (AREA)
- Marketing (AREA)
- Algebra (AREA)
- Game Theory and Decision Science (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明实施例提供一种缓存用户的方法和装置,通过主成分分析,找出影响用户接口耗时的主要特征;使用用户接口访问数据,实时训练回归模型,预测用户请求接口的耗时,并结合用户活跃度特征,使用变异系数法计算出用户缓存指数,根据缓存指数自动化圈定长尾用户群。达到了提高了用户接口的缓存命中率,降低了接口慢速比,实现了缓存收益最大化的效果。
Description
技术领域
本发明涉及数据挖掘领域,尤其涉及一种缓存用户的方法和装置。
背景技术
提升用户接口性能,降低用户请求接口耗时常用方法是提前缓存用户数据。有着亿级用户量微博视频,提前缓存所有用户的数据,成本太高。缓存用户挖掘是通过数据挖掘的手段,从海量用户中挖掘出最需要缓存的那部分用户,实现缓存收益最大化。
业界常用缓存用户挖掘方法主要有规则法、随机抽取法等,这些方法易于实现,可操作性强,但是存在以下缺点:
缺点一:缓存命中率低,造成缓存资源浪费。基于规则或随机抽取的方式圈定用户,存在很大的概率将不活跃用户缓存。
缺点二:不能解决用户接口性能的长尾问题,例如系统中始终有1%的用户存在接口请求满的问题,但难以解决。一个成熟互联网产品优化到后期,会面临一个抉择,要花多少成本来解决长尾问题是最合理的。
发明内容
本发明实施例提供一种缓存用户的方法和装置通过合理缓存用户解决了用户请求接口缓存命中率低以及缓存性能长尾的问题。
一方面,本发明实施例提供一种缓存用户的方法,包括:
统计分析所述指定用户范围内每个用户的第一指定时间范围内的历史日志数据,根据相应用户在所述第一指定时间范围内的接口请求次数得到相应用户的活跃评价指标,并使用活跃标签或不活跃标签标记相应用户;其中,所述历史日志数据包括所述接口请求次数;
针对所述活跃标签对应的每个用户,使用预先训练的回归模型根据该用户的第二指定时间范围内的历史日志数据中记录的特征日志数据,预测得到该用户在第二指定时间范围内的接口请求耗时作为该用户的预测接口请求耗时;并且,
使用该用户的所述预测接口请求耗时和所述活跃评价指标确定用户缓存指数;
将所述用户缓存指数满足指定缓存规则的未缓存用户进行缓存;
其中,所述特征日志数据是在历史日志数据中,预先指定的敏感特征集中的特征对应的日志数据;
所述第一指定时间范围包括所述第二指定时间范围。
进一步地,所述活跃评价指标还包括:活跃时长和活跃请求次数;
所述使用该用户的所述预测接口请求耗时和所述活跃评价指标确定用户缓存指数,具体为:
按以下指定算法对应的公式计算用户缓存指数:
用户缓存指数=a*T+b*D+c*F;
其中,T是当前用户对应的预测接口请求耗时;D是当前用户对应的活跃时长;F是当前用户对应的活跃请求次数;a是当前用户对应的预测接口请求耗时的耗时权重;b是当前用户对应的活跃时长的时长权重;c当前用户对应的活跃请求次数的次数权重。
进一步地,还包括:
根据变异系数法计算所述活跃标签对应的每个用户的预测接口请求耗时的耗时权重、活跃时长的时长权重和活跃请求次数的次数权重。
进一步地,预先根据所有用户的历史日志数据通过特征工程得到影响接口请求耗时的特征构成所述预先指定的敏感特征集,具体包括:
使用主成分分析法分析预先指定的待选特征集中的每个特征在所有用户的历史日志数据中对应的日志数据得到影响接口请求耗时的特征构成所述预先指定的敏感特征集;
其中,所述预先指定的待选特征集通过统计分析所有用户的历史日志数据获得。
进一步地,在所述针对所述活跃标签对应的每个用户,使用预先训练的回归模型根据该用户的第二指定时间范围内的历史日志数据中记录的特征日志数据,预测得到该用户在第二指定时间范围内的接口请求耗时作为该用户的预测接口请求耗时之前,还包括:
根据每个未缓存用户的第三指定时间范围内的历史日志数据中记录的特征日志数据和接口请求耗时训练回归模型;其中,所述未缓存用户为所述指定用户范围内没有被缓存的用户;
所述第一指定时间范围包括所述第三指定时间范围;所述第三指定时间范围在所述第二指定时间范围之前。
进一步地,所述将所述用户缓存指数满足指定缓存规则的未缓存用户进行缓存,包括:
根据所述用户缓存指数对各相应未缓存用户进行排序;
按所述排序的指定顺序顺次选取指定数量的未缓存用户作为需要缓存的用户进行缓存。
另一方面,本发明实施例提供一种缓存用户的装置,包括:
用户画像单元,用于统计分析所述指定用户范围内每个用户的第一指定时间范围内的历史日志数据,根据相应用户在所述第一指定时间范围内的接口请求次数得到相应用户的活跃评价指标,并使用活跃标签或不活跃标签标记相应用户;其中,所述历史日志数据包括所述接口请求次数;
耗时预测单元,用于针对所述活跃标签对应的每个用户,使用预先训练的回归模型根据该用户的第二指定时间范围内的历史日志数据中记录的特征日志数据,预测得到该用户在第二指定时间范围内的接口请求耗时作为该用户的预测接口请求耗时;
指数获取单元,用于使用该用户的所述预测接口请求耗时和所述活跃评价指标确定用户缓存指数;
缓存用户单元,用于将所述用户缓存指数满足指定缓存规则的未缓存用户进行缓存;
其中,所述未缓存用户为所有用户中当前没有被缓存的用户;
所述特征日志数据是在历史日志数据中,预先指定的敏感特征集中的特征对应的日志数据;
预先根据所有用户的历史日志数据通过特征工程得到影响接口请求耗时的特征构成所述预先指定的敏感特征集;
所述活跃评价指标用于定量评价相应用户的活跃程度;
所述第一指定时间范围包含所述第二指定时间范围。
进一步地,所述活跃评价指标还包括:活跃时长和活跃请求次数;
所述指数获取单元,具体用于:按以下指定运算规则对应的公式计算用户缓存指数:
用户缓存指数=a*T+b*D+c*F;
其中,T是当前用户对应的预测接口请求耗时;D是当前用户对应的活跃时长;F是当前用户对应的活跃请求次数;a是当前用户对应的预测接口请求耗时的耗时权重;b是当前用户对应的活跃时长的时长权重;c当前用户对应的活跃请求次数的次数权重。
进一步地,还包括:
权重获取单元,用于根据变异系数法计算所述活跃标签对应的每个用户的预测接口请求耗时的耗时权重、活跃时长的时长权重和活跃请求次数的次数权重。
进一步地,还包括:
敏感特征集获取单元,用于使用主成分分析法分析预先指定的待选特征集中的每个特征在所有用户的历史日志数据中对应的日志数据得到影响接口请求耗时的特征构成所述预先指定的敏感特征集;
其中,所述预先指定的待选特征集通过统计分析所有用户的历史日志数据获得。
进一步地,还包括:
模型更新单元,用于根据每个未缓存用户的第三指定时间范围内的历史日志数据中记录的特征日志数据和接口请求耗时训练回归模型;其中,所述未缓存用户为所述指定用户范围内没有被缓存的用户;
所述第一指定时间范围包括所述第三指定时间范围;所述第三指定时间范围在所述第二指定时间范围之前。
进一步地,所述缓存用户单元,包括:
排序模块,用于根据所述用户缓存指数对各相应未缓存用户进行排序;
缓存模块,用于按所述排序的指定顺序顺次选取指定数量的未缓存用户作为需要缓存的用户进行缓存。
上述技术方案具有如下有益效果:通过特征工程找出影响用户接口请求耗时的敏感特征集,结合用户历史日志数据实时训练回归模型,通过回归模型预测用户请求接口的耗时,并结合用户的活跃评价指标,计算出用户缓存指数,根据用户缓存指数自动化圈定长尾用户群。本发明技术方案解决了现有技术很难圈定全部长尾用户的问题,并且进一步地通过自动实时更新回归模型解决了长尾用户群动态变化的问题,提高了用户接口的缓存命中率,降低了接口慢速比,实现了缓存收益最大化。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例之一的一种缓存用户的方法的流程图;
图2是本发明实施例之一的一种缓存用户的装置的架构图;
图3是本发明实施例之一的应用缓存用户的方法的一种用户缓存挖掘系统的架构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
一方面,如图1所示,本发明实施例提供一种缓存用户的方法,包括:
步骤S100,统计分析所述指定用户范围内每个用户的第一指定时间范围内的历史日志数据,根据相应用户在所述第一指定时间范围内的接口请求次数得到相应用户的活跃评价指标,并使用活跃标签或不活跃标签标记相应用户;其中,所述历史日志数据包括所述接口请求次数;
步骤S101,针对所述活跃标签对应的每个用户,使用预先训练的回归模型根据该用户的第二指定时间范围内的历史日志数据中记录的特征日志数据,预测得到该用户在第二指定时间范围内的接口请求耗时作为该用户的预测接口请求耗时;并且,
步骤S102,使用该用户的所述预测接口请求耗时和所述活跃评价指标确定用户缓存指数;
步骤S103,将所述用户缓存指数满足指定缓存规则的未缓存用户进行缓存;
其中,所述特征日志数据是在历史日志数据中,预先指定的敏感特征集中的特征对应的日志数据;
所述第一指定时间范围包括所述第二指定时间范围;
所述未缓存用户为所有用户中当前没有被缓存的用户;
预先根据所有用户的历史日志数据通过特征工程得到影响接口请求耗时的特征构成所述预先指定的敏感特征集;
所述活跃评价指标用于定量评价相应用户的活跃程度。
在一些实施例中,在步骤S100前,还可以包括:收集指定用户范围内的用户的第一指定时间范围内的接口请求日志,并经数据清洗得到历史日志数据;
在一些实施例中,回归模型可以只训练一次,也可以在每次执行步骤S101之前,使用最近时间的历史日志数据中记录的相关数据例如特征日志数据训练该回归模型,以便达到回归模型预测结果尽可能接近当前的实际情况。回归模型包括但不限于线性回归模型、分段线性回归模型或者非线性回归模型。
在一些实施例中,指定用户范围可以是系统中存在的所有用户,也可以是按某种分类方法定义的所有用户的子集,例如包括但不限于按地域划分,按用户访问的服务器划分,按用户在一日内习惯性的访问时间范围划分等等;收集指定用户范围内的第一指定时间范围内的用户接口请求日志,第一指定时间范围优选地为当前时间前的最近的第一指定时间范围,例如当前日的前一日或前多日,再例如当前小时的前一小时或前多小时等等。可以直接使用用户接口请求日志作为历史日志数据,优选地,对用户接口请求日志进行异常数据处理、字段解析和数值类型转换等数据清洗操作;将经过数据清洗后得到的数据进行维度建模,建立数据仓库得到历史日志数据;收集最近第一指定时间范围内的用户接口请求日志的数量或时间范围可根据具体需要决定,例如可根据需要的缓存更新频率决定,当按小时单位更新缓存时,可以收集最近几个小时例如8小时内的用户接口请求日志,以便使缓存用户更贴近当前频繁访问的用户;当按日为单位更新缓存时,可以收集最近几天例如7日内的用户接口请求日志。将用户接口请求日志转换为历史日志数据,可以更方便后续使用程序自动分析日志数据,降低后续分析的处理复杂度。通过分析每个用户的历史日志数据,可以通过标记活跃标签和不活跃标签将用户标记为活跃用户和不活跃用户,并且可以进一步地给出每个用于的活跃评价指标,活跃评价指标用于定量评价相应用户的活跃程度,例如,收集了7天内的用户接口请求日志,并得到历史日志数据,分析7天内某个用户在每天的接口请求次数,可以得到该用户包括但不限于有几天存在接口请求即活跃时长、每天各自的接口请求次数、7天的总的接口请求次数、7天的平均接口请求次数等作为活跃评价指标。特征日志数据是在历史日志数据中,预先指定的敏感特征集中的特征对应的日志数据;预先根据所有用户的历史日志数据通过特征工程得到影响接口请求耗时的特征构成预先指定的敏感特征集;特征工程的主要工作是特征提取和特征选择,其中特征提取是使用主成分分析找出影响接口请求耗时的特征。以用户请求视频列表接口为例,最后确定影响接口耗时的两个特征是用户的物料数和关注数,即在用户请求视频列表接口的例子中,敏感特征集包括但不限于用户的物料数和关注数。使用预先训练好的回归模型对标记为活跃标签的用户的指定当前时间范围内的历史日志数据中的特征日志数据进行预测,得到标记为活跃标签的用户的预测接口请求耗时;标记为活跃标签的用户中包括了标记为活跃标签的未缓存用户和标记为活跃标签的已经缓存的用户;对于标记为不活跃标签的用户因其具有较少的用户接口请求次数,无需进行缓存,所以也无需对其接口请求耗时进行预测;通过不活跃标签将不活跃用户标记出来,避免进行后续复杂的分析计算,从而显著减少大量无效计算,提高了计算分析效率。针对标记为活跃标签的用户,使用该用户的预测接口请求耗时和活跃评价指标按指定运算规则计算得到用户缓存指数,指定运算规则可根据对历史日志数据的统计分析获得,例如可以使用预测接口请求耗时和活跃评价指标的权重和作为用户缓存指数,还可以将预测接口请求耗时和活跃评价指标作为指定函数的自变量,计算函数的因变量的数值作为用户缓存指数;最后,缓存用户缓存指数满足指定缓存规则的用户;当被缓存的用户出现接口请求时,系统可以直接从缓存中调用该用户的接口响应相应的请求,从而显著降低用户接口请求的耗时,提高系统处理效率;指定缓存规则可以包括但不限于根据用户缓存指数的排序,根据排序从用户缓存指数较大或较小的一侧按顺序选择指定数量的未缓存用户进行缓存,或者将用户缓存指数划分多个区段,在每个区段中选择部分未缓存用户进行缓存等等方式。上述各步骤可根据具体需要的缓存更新频率定期执行,例如缓存更新频率为1小时,则可以每小时执行一次上述步骤,或者缓存更新频率为每日,则可以每日执行一次上述步骤,从而在每个缓存更新周期,都可以根据最新的用户接口请求日志确定用户的活跃程度,重新训练归回模型,获得更接近当前情况的预测接口请求耗时,最终锁定当前真正需要缓存的用户,解决缓存用户的长尾问题,提高了缓冲用户的准确性和效率。
本发明实施例具有如下技术效果:预先通过特征工程找出影响用户接口请求耗时的敏感特征集,结合用户历史日志数据预先训练回归模型,通过回归模型预测用户请求接口的耗时,并结合用户的活跃评价指标,计算出用户缓存指数,根据用户缓存指数自动化圈定长尾用户群。本发明技术方案解决了现有技术很难圈定全部长尾用户的问题,并且进一步地通过自动实时更新回归模型解决了长尾用户群动态变化的问题,提高了用户接口的缓存命中率,降低了接口慢速比,实现了缓存收益最大化。
进一步地,所述活跃评价指标还包括:活跃时长和活跃请求次数;
针对所述活跃标签对应的每个用户,使用该用户的所述预测接口请求耗时和所述活跃评价指标按指定运算规则计算得到用户缓存指数,具体为:
按以下指定运算规则或指定算法对应的公式计算用户缓存指数:
用户缓存指数=a*T+b*D+c*F;
其中,T是当前用户对应的预测接口请求耗时;D是当前用户对应的活跃时长;F是当前用户对应的活跃请求次数;a是当前用户对应的预测接口请求耗时的耗时权重;b是当前用户对应的活跃时长的时长权重;c当前用户对应的活跃请求次数的次数权重。
在一些实施例中,活跃时长表示在第一指定时间范围内的用户接口请求发生所占用的时间,例如第一指定时间范围为最近的7日内,如果用户在其中的三日都存在用户接口请求,则活跃时长为3日;活跃请求次数可以定义为第一指定时间范围内的总的用户接口请求次数或者定义为第一指定时间范围内的多个分段时间内的请求次数的均值、最大值或最小值;例如第一指定时间范围为7日,则统计每日的用户接口请求次数,将7日的多个用户接口请求次数求均值、最大值或最小值作为活跃请求次数。用户缓存指数计算中的各权重可预先根据对用户接口请求日志中的历史数据进行分析获得。
进一步地,还包括:
根据变异系数法计算所述活跃标签对应的每个用户的预测接口请求耗时的耗时权重、活跃时长的时长权重和活跃请求次数的次数权重。
在一些实施中,根据变异系数法根据预测接口请求耗时、活跃时长和活跃请求次数的值动态的计算每次更新用户缓存使用的权重,使每次更新用户缓存选择的用户更加准确。
进一步地,预先根据所有用户的历史日志数据通过特征工程得到影响接口请求耗时的特征构成所述预先指定的敏感特征集,具体包括:
使用主成分分析法分析预先指定的待选特征集中的每个特征在所有用户的历史日志数据中对应的日志数据得到影响接口请求耗时的特征构成所述预先指定的敏感特征集;
其中,所述预先指定的待选特征集通过统计分析所有用户的历史日志数据获得。
在一些实施例中,通过对历史的用户请求日志的分析,可以确定出用户请求日志中疑似的影响用户接口请求耗时的日志数据,将这些日志数据作为预先指定的待选特征集中的特征,再通过主成分分析法对待选特征集中的特征进行分析,确定其对用户接口请求耗时的实际影响,并根据主成分分析法得到的量化的影响值的排序,选择影响值大于指定影响阈值的特征,或者按影响值排序选择影响大的指定数量的特征作为敏感特征集。
本发明实施例具有如下技术效果:通过主成分分析可以从众多的影响因素中确定最重要的几个影响因素,从而将待分析的数据进行降维,减少待分析的数据量,同时避免影响小的影响因素对分析引入噪声,提高系统分析效率和准确度。
进一步地,在所述针对所述活跃标签对应的每个用户,使用预先训练的回归模型根据该用户的第二指定时间范围内的历史日志数据中记录的特征日志数据,预测得到该用户在第二指定时间范围内的接口请求耗时作为该用户的预测接口请求耗时之前,还包括:
根据每个未缓存用户的第三指定时间范围内的历史日志数据中记录的特征日志数据和接口请求耗时训练回归模型;其中,所述未缓存用户为所述指定用户范围内没有被缓存的用户;
所述第一指定时间范围包括所述第三指定时间范围;所述第三指定时间范围在所述第二指定时间范围之前。
在一些实施例中,使用未缓存用户的历史日志数据训练回归模型,避免使用已经缓存的用户的历史日志数据训练回归模型,因为已经缓存的用户其接口请求的响应速度显著快于未缓存用户,已经缓存的用户的接口请求耗时数据会导致训练得到的归回模型的预测结果失真,从而无法通过后续步骤正确选择需要被缓存的用户。使用未缓存用户的第二指定时间范围之前的最近的第三指定时间范围内的接口请求日志对应的历史日志数据训练回归模型;具体的,第二指定时间范围包括但不限于当前时间所处的时间范围,例如当前日,当前所在的小时范围等;第二指定时间范围和最近第三指定时间范围都可根据缓存更新的频率需求确定,例如希望缓存每小时更新一次,则可按小时定义第二指定时间范围和第三指定时间范围,若希望缓存每天更新一次,则可按日定义第二指定时间范围和第三指定时间范围,当第二指定时间范围为当前日时,第三指定时间范围可定义为当前日的前一日或前几日,优选前一日;当第二指定时间范围为当前小时时,第三指定时间范围可定义为当前小时的前一小时或前几小时,优选前一小时;通过利用最近时间范围内的未缓存用户的历史日志数据训练回归模型,可以使训练得到的回归模型最大程度的反应各用户近期的接口请求耗时情况,从而提高对第二指定时间范围下用户的接口请求耗时情况的预测准确性。特征日志数据是在历史日志数据中,预先指定的敏感特征集中的特征对应的日志数据;当同一个用户在最近第三指定时间范围内敏感特征集中的同一种特征在日志中对应有多个特征日志数据的数值时,可以使用该多个数值的最大值、最小值或均值作为训练回归模型的特征日志数据;同样的,当同一个用户在最近第三指定时间范围内的历史日志数据中存在多个接口请求耗时的数值时,可以使用该多个数值的最大值、最小值或均值作为训练回归模型的接口请求耗时;特征日志数据和接口请求耗时具体选择最大值、最小值还是均值可根据对历史数据的分析确定。例如,使用未缓存用户的最新请求接口数据,选取特征集为物料数和关注数,以历史日志数据中多次用户接口请求耗时的最大值、最小值或均值等作为接口请求耗时真值,训练回归模型。
进一步地,所述将所述用户缓存指数满足指定缓存规则的未缓存用户进行缓存,包括:
根据所述用户缓存指数对各相应未缓存用户进行排序;
按所述排序的指定顺序顺次选取指定数量的未缓存用户作为需要缓存的用户进行缓存。
在一些实施例中,根据用户缓存指数按排序的指定顺序顺次选取指定数量的未缓存用户作为需要缓存的用户进行缓存,用户缓存指数是根据影响用户缓存的多个参数计算得到,从而使用户之间根据各自的用户接口请求情况实现竞争性的被缓存,达到选择最需要的缓存用户的效果。
另一方面,如图2所示,本发明实施例提供一种缓存用户的装置,包括:
用户画像单元200,用于统计分析所述指定用户范围内每个用户的第一指定时间范围内的历史日志数据,根据相应用户在所述第一指定时间范围内的接口请求次数得到相应用户的活跃评价指标,并使用活跃标签或不活跃标签标记相应用户;其中,所述历史日志数据包括所述接口请求次数;
耗时预测单元201,用于针对所述活跃标签对应的每个用户,使用预先训练的回归模型根据该用户的第二指定时间范围内的历史日志数据中记录的特征日志数据,预测得到该用户在第二指定时间范围内的接口请求耗时作为该用户的预测接口请求耗时;
指数获取单元202,用于使用该用户的所述预测接口请求耗时和所述活跃评价指标确定用户缓存指数;
缓存用户单元203,用于将所述用户缓存指数满足指定缓存规则的未缓存用户进行缓存;
还包括:
日志收集单元,用于收集指定用户范围内的用户的第一指定时间范围内的接口请求日志,并经数据清洗得到历史日志数据;
其中,所述特征日志数据是在历史日志数据中,预先指定的敏感特征集中的特征对应的日志数据;
所述第一指定时间范围包括所述第二指定时间范围;
所述未缓存用户为所有用户中当前没有被缓存的用户;
预先根据所有用户的历史日志数据通过特征工程得到影响接口请求耗时的特征构成所述预先指定的敏感特征集;
所述活跃评价指标用于定量评价相应用户的活跃程度。
进一步地,所述活跃评价指标还包括:活跃时长和活跃请求次数;
所述指数获取单元202,具体用于:按以下指定运算规则对应的公式计算用户缓存指数:
用户缓存指数=a*T+b*D+c*F;
其中,T是当前用户对应的预测接口请求耗时;D是当前用户对应的活跃时长;F是当前用户对应的活跃请求次数;a是当前用户对应的预测接口请求耗时的耗时权重;b是当前用户对应的活跃时长的时长权重;c当前用户对应的活跃请求次数的次数权重。
进一步地,还包括:
权重获取单元,用于根据变异系数法计算所述活跃标签对应的每个用户的预测接口请求耗时的耗时权重、活跃时长的时长权重和活跃请求次数的次数权重。
进一步地,还包括:
敏感特征集获取单元,用于使用主成分分析法分析预先指定的待选特征集中的每个特征在所有用户的历史日志数据中对应的日志数据得到影响接口请求耗时的特征构成所述预先指定的敏感特征集;
其中,所述预先指定的待选特征集通过统计分析所有用户的历史日志数据获得。
进一步地,还包括:
模型更新单元,用于根据每个未缓存用户的第三指定时间范围内的历史日志数据中记录的特征日志数据和接口请求耗时训练回归模型;其中,所述未缓存用户为所述指定用户范围内没有被缓存的用户;
所述第一指定时间范围包括所述第三指定时间范围;所述第三指定时间范围在所述第二指定时间范围之前。
进一步地,所述缓存用户单元203,包括:
排序模块,用于根据所述用户缓存指数对各相应未缓存用户进行排序;
缓存模块,用于按所述排序的指定顺序顺次选取指定数量的未缓存用户作为需要缓存的用户进行缓存。
本发明实施例提供的缓存用户的装置是与前述发明实施例提供的缓存用户的方法一一对应的产品类实施例,本领域技术人员可以根据前述的缓存用户的方法的实施例毫无异议的理解本发明实施例,在此不再赘述。
本发明实施例具有如下技术效果:通过特征工程找出影响用户接口请求耗时的敏感特征集,结合用户历史日志数据实时训练回归模型,通过回归模型预测用户请求接口的耗时,并结合用户的活跃评价指标,计算出用户缓存指数,根据用户缓存指数自动化圈定长尾用户群。本发明技术方案解决了现有技术很难圈定全部长尾用户的问题,并且进一步地通过自动实时更新回归模型解决了长尾用户群动态变化的问题,提高了用户接口的缓存命中率,降低了接口慢速比,实现了缓存收益最大化。
下面结合具体的应用实例对本发明实施例上述技术方案进行详细说明,实施过程中没有介绍到的技术细节,可以参考前文的相关描述。
本发明技术方案解决了用户接口长尾用户群的圈定问题,使得长尾用户群的圈定自动化,极大的提高了缓存命中率,降低了接口慢速比,实现了缓存收益最大化。
图3是应用缓存用户的方法的一种用户缓存挖掘系统的架构图,主要由基础数据处理、用户画像、模型训练与接口耗时预测和缓存用户挖掘四个处理单元组成;
基础数据处理单元:该单元主要包括两大功能单元,一是日志收集单元用于用户接口请求日志的清洗入库。数据清洗包括异常数据处理,字段解析和数值类型转换。数据清洗后,维度建模,建立数据仓库,为后续的处理打好数据基础。二是敏感特征集获取单元用于基于用户接口请求数据构建特征工程。特征工程的主要工作是特征提取和特征选择,其中特征提取是使用主成分分析找出影响接口请求耗时的特征。以用户请求视频列表接口为例,最后确定影响接口耗时的两个特征是用户的物料数和关注数。
用户画像单元用于使用数据挖掘的手段给接口用户打标签,标签用于缓存用户挖掘。为了挖掘缓存用户,本系统为请求接口用户生成了是否七日活跃(即活跃标签和不活跃标签)、七日活跃天数(即活跃时长)和七日接口请求次数(即活跃请求次数)四个标签。
模型训练(即模型更新单元)用于模型更新单元用于使用未缓存用户的最新请求接口数据,选取特征集为物料数和关注数,真值label为接口请求耗时,训练回归模型。
接口耗时预测(即耗时预测单元)用于使用训练好的回归模型,预测七日活跃用户(包括已缓存用户)的接口请求耗时。
缓存用户挖掘模块(即指数获取单元)用于基于七日活跃用户,提取预测接口请求耗时、七日活跃天数和七日接口请求次数三个特征,通过权重获取单元,采用变异系数法,客观的计算出三个特征的权重。其中,缓存用户只会考虑七日活跃用户,使用用户画像模块生成的标签,可以直接圈定七日活跃用户。最后产生用户缓存指数的算法是:
用户缓存指数=预测接口请求耗时*权重+七日活跃天数*权重+七日接口请求次数*权重。
缓存用户单元用于根据用户缓存指数越大,用户需要被缓存的迫切程度越高,并且结合成本可以承受的缓存用户数量的规则,根据用户缓存指数由高到低,挖掘出指定数量的用户进行缓存。
本发明实施例具有如下技术效果:本系统通过主成分分析,找出影响用户接口耗时的主要特征。使用用户接口访问数据,实时训练回归模型,预测用户请求接口的耗时,并结合用户活跃度特征,使用变异系数法计算出用户缓存指数,根据缓存指数自动化圈定长尾用户群。本发明技术方案提高了用户接口的缓存命中率,降低了接口慢速比,实现了缓存收益最大化。
应该明白,公开的过程中的步骤的特定顺序或层次是示例性方法的实例。基于设计偏好,应该理解,过程中的步骤的特定顺序或层次可以在不脱离本公开的保护范围的情况下得到重新安排。所附的方法权利要求以示例性的顺序给出了各种步骤的要素,并且不是要限于所述的特定顺序或层次。
在上述的详细描述中,各种特征一起组合在单个的实施方案中,以简化本公开。不应该将这种公开方法解释为反映了这样的意图,即,所要求保护的主题的实施方案需要比清楚地在每个权利要求中所陈述的特征更多的特征。相反,如所附的权利要求书所反映的那样,本发明处于比所公开的单个实施方案的全部特征少的状态。因此,所附的权利要求书特此清楚地被并入详细描述中,其中每项权利要求独自作为本发明单独的优选实施方案。
为使本领域内的任何技术人员能够实现或者使用本发明,上面对所公开实施例进行了描述。对于本领域技术人员来说;这些实施例的各种修改方式都是显而易见的,并且本文定义的一般原理也可以在不脱离本公开的精神和保护范围的基础上适用于其它实施例。因此,本公开并不限于本文给出的实施例,而是与本申请公开的原理和新颖性特征的最广范围相一致。
上文的描述包括一个或多个实施例的举例。当然,为了描述上述实施例而描述部件或方法的所有可能的结合是不可能的,但是本领域普通技术人员应该认识到,各个实施例可以做进一步的组合和排列。因此,本文中描述的实施例旨在涵盖落入所附权利要求书的保护范围内的所有这样的改变、修改和变型。此外,就说明书或权利要求书中使用的术语“包含”,该词的涵盖方式类似于术语“包括”,就如同“包括:”在权利要求中用作衔接词所解释的那样。此外,使用在权利要求书的说明书中的任何一个术语“或者”是要表示“非排它性的或者”。
本领域技术人员还可以了解到本发明实施例列出的各种说明性逻辑块(illustrative logical block),单元,和步骤可以通过电子硬件、电脑软件,或两者的结合进行实现。为清楚展示硬件和软件的可替换性(interchangeability),上述的各种说明性部件(illustrative components),单元和步骤已经通用地描述了它们的功能。这样的功能是通过硬件还是软件来实现取决于特定的应用和整个系统的设计要求。本领域技术人员可以对于每种特定的应用,可以使用各种方法实现所述的功能,但这种实现不应被理解为超出本发明实施例保护的范围。
本发明实施例中所描述的各种说明性的逻辑块,或单元都可以通过通用处理器,数字信号处理器,专用集成电路(ASIC),现场可编程门阵列或其它可编程逻辑装置,离散门或晶体管逻辑,离散硬件部件,或上述任何组合的设计来实现或操作所描述的功能。通用处理器可以为微处理器,可选地,该通用处理器也可以为任何传统的处理器、控制器、微控制器或状态机。处理器也可以通过计算装置的组合来实现,例如数字信号处理器和微处理器,多个微处理器,一个或多个微处理器联合一个数字信号处理器核,或任何其它类似的配置来实现。
本发明实施例中所描述的方法或算法的步骤可以直接嵌入硬件、处理器执行的软件模块、或者这两者的结合。软件模块可以存储于RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移动磁盘、CD-ROM或本领域中其它任意形式的存储媒介中。示例性地,存储媒介可以与处理器连接,以使得处理器可以从存储媒介中读取信息,并可以向存储媒介存写信息。可选地,存储媒介还可以集成到处理器中。处理器和存储媒介可以设置于ASIC中,ASIC可以设置于用户终端中。可选地,处理器和存储媒介也可以设置于用户终端中的不同的部件中。
在一个或多个示例性的设计中,本发明实施例所描述的上述功能可以在硬件、软件、固件或这三者的任意组合来实现。如果在软件中实现,这些功能可以存储与电脑可读的媒介上,或以一个或多个指令或代码形式传输于电脑可读的媒介上。电脑可读媒介包括电脑存储媒介和便于使得让电脑程序从一个地方转移到其它地方的通信媒介。存储媒介可以是任何通用或特殊电脑可以接入访问的可用媒体。例如,这样的电脑可读媒体可以包括但不限于RAM、ROM、EEPROM、CD-ROM或其它光盘存储、磁盘存储或其它磁性存储装置,或其它任何可以用于承载或存储以指令或数据结构和其它可被通用或特殊电脑、或通用或特殊处理器读取形式的程序代码的媒介。此外,任何连接都可以被适当地定义为电脑可读媒介,例如,如果软件是从一个网站站点、服务器或其它远程资源通过一个同轴电缆、光纤电缆、双绞线、数字用户线(DSL)或以例如红外、无线和微波等无线方式传输的也被包含在所定义的电脑可读媒介中。所述的碟片(disk)和磁盘(disc)包括压缩磁盘、镭射盘、光盘、DVD、软盘和蓝光光盘,磁盘通常以磁性复制数据,而碟片通常以激光进行光学复制数据。上述的组合也可以包含在电脑可读媒介中。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种缓存用户的方法,其特征在于,包括:
统计分析所述指定用户范围内每个用户的第一指定时间范围内的历史日志数据,根据相应用户在所述第一指定时间范围内的接口请求次数得到相应用户的活跃评价指标,并使用活跃标签或不活跃标签标记相应用户;其中,所述历史日志数据包括所述接口请求次数;
针对所述活跃标签对应的每个用户,使用预先训练的回归模型根据该用户的第二指定时间范围内的历史日志数据中记录的特征日志数据,预测得到该用户在第二指定时间范围内的接口请求耗时作为该用户的预测接口请求耗时;并且,
使用该用户的所述预测接口请求耗时和所述活跃评价指标确定用户缓存指数;
将所述用户缓存指数满足指定缓存规则的未缓存用户进行缓存;
其中,所述特征日志数据是在历史日志数据中,预先指定的敏感特征集中的特征对应的日志数据;
所述第一指定时间范围包括所述第二指定时间范围。
2.如权利要求1所述的缓存用户的方法,其特征在于,所述活跃评价指标还包括:活跃时长和活跃请求次数;
所述使用该用户的所述预测接口请求耗时和所述活跃评价指标确定用户缓存指数,具体为:
按以下指定算法对应的公式计算用户缓存指数:
用户缓存指数=a*T+b*D+c*F;
其中,T是当前用户对应的预测接口请求耗时;D是当前用户对应的活跃时长;F是当前用户对应的活跃请求次数;a是当前用户对应的预测接口请求耗时的耗时权重;b是当前用户对应的活跃时长的时长权重;c当前用户对应的活跃请求次数的次数权重。
3.如权利要求2所述的缓存用户的方法,其特征在于,还包括:
根据变异系数法计算所述活跃标签对应的每个用户的预测接口请求耗时的耗时权重、活跃时长的时长权重和活跃请求次数的次数权重。
4.如权利要求1所述的缓存用户的方法,其特征在于,在所述针对所述活跃标签对应的每个用户,使用预先训练的回归模型根据该用户的第二指定时间范围内的历史日志数据中记录的特征日志数据,预测得到该用户在第二指定时间范围内的接口请求耗时作为该用户的预测接口请求耗时之前,还包括:
根据每个未缓存用户的第三指定时间范围内的历史日志数据中记录的特征日志数据和接口请求耗时训练回归模型;其中,所述未缓存用户为所述指定用户范围内没有被缓存的用户;
所述第一指定时间范围包括所述第三指定时间范围;所述第三指定时间范围在所述第二指定时间范围之前。
5.如权利要求1所述的缓存用户的方法,其特征在于,所述将所述用户缓存指数满足指定缓存规则的未缓存用户进行缓存,包括:
根据所述用户缓存指数对各相应未缓存用户进行排序;
按所述排序的指定顺序顺次选取指定数量的未缓存用户作为需要缓存的用户进行缓存。
6.一种缓存用户的装置,其特征在于,包括:
用户画像单元,用于统计分析所述指定用户范围内每个用户的第一指定时间范围内的历史日志数据,根据相应用户在所述第一指定时间范围内的接口请求次数得到相应用户的活跃评价指标,并使用活跃标签或不活跃标签标记相应用户;其中,所述历史日志数据包括所述接口请求次数;
耗时预测单元,用于针对所述活跃标签对应的每个用户,使用预先训练的回归模型根据该用户的第二指定时间范围内的历史日志数据中记录的特征日志数据,预测得到该用户在第二指定时间范围内的接口请求耗时作为该用户的预测接口请求耗时;
指数获取单元,用于使用该用户的所述预测接口请求耗时和所述活跃评价指标确定用户缓存指数;
缓存用户单元,用于将所述用户缓存指数满足指定缓存规则的未缓存用户进行缓存;
其中,所述特征日志数据是在历史日志数据中,预先指定的敏感特征集中的特征对应的日志数据;
所述第一指定时间范围包括所述第二指定时间范围。
7.如权利要求6所述的缓存用户的装置,其特征在于,所述活跃评价指标还包括:活跃时长和活跃请求次数;
所述指数获取单元,具体用于:按以下指定运算规则对应的公式计算用户缓存指数:
用户缓存指数=a*T+b*D+c*F;
其中,T是当前用户对应的预测接口请求耗时;D是当前用户对应的活跃时长;F是当前用户对应的活跃请求次数;a是当前用户对应的预测接口请求耗时的耗时权重;b是当前用户对应的活跃时长的时长权重;c当前用户对应的活跃请求次数的次数权重。
8.如权利要求7所述的缓存用户的装置,其特征在于,还包括:
权重获取单元,用于根据变异系数法计算所述活跃标签对应的每个用户的预测接口请求耗时的耗时权重、活跃时长的时长权重和活跃请求次数的次数权重。
9.如权利要求6所述的缓存用户的装置,其特征在于,还包括:
模型更新单元,用于根据每个未缓存用户的第三指定时间范围内的历史日志数据中记录的特征日志数据和接口请求耗时训练回归模型;其中,所述未缓存用户为所述指定用户范围内没有被缓存的用户;
所述第一指定时间范围包括所述第三指定时间范围;所述第三指定时间范围在所述第二指定时间范围之前。
10.如权利要求6所述的缓存用户的装置,其特征在于,所述缓存用户单元,包括:
排序模块,用于根据所述用户缓存指数对各相应未缓存用户进行排序;
缓存模块,用于按所述排序的指定顺序顺次选取指定数量的未缓存用户作为需要缓存的用户进行缓存。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111497000.3A CN114218134A (zh) | 2021-12-09 | 2021-12-09 | 一种缓存用户的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111497000.3A CN114218134A (zh) | 2021-12-09 | 2021-12-09 | 一种缓存用户的方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114218134A true CN114218134A (zh) | 2022-03-22 |
Family
ID=80700427
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111497000.3A Pending CN114218134A (zh) | 2021-12-09 | 2021-12-09 | 一种缓存用户的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114218134A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116991902A (zh) * | 2023-09-26 | 2023-11-03 | 北京点聚信息技术有限公司 | 基于数据缓存的本地资源调用方法 |
-
2021
- 2021-12-09 CN CN202111497000.3A patent/CN114218134A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116991902A (zh) * | 2023-09-26 | 2023-11-03 | 北京点聚信息技术有限公司 | 基于数据缓存的本地资源调用方法 |
CN116991902B (zh) * | 2023-09-26 | 2023-12-08 | 北京点聚信息技术有限公司 | 基于数据缓存的本地资源调用方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105808988B (zh) | 一种识别异常账户的方法及装置 | |
CN107070940B (zh) | 一种从流式登录日志中判断恶意登录ip地址的方法及装置 | |
CN111917882B (zh) | 文件缓存方法、装置及电子设备 | |
CN111444302B (zh) | 基于用户分类的移动性预测方法、系统、装置 | |
US20120226677A1 (en) | Methods for detecting sensitive information in mainframe systems, computer readable storage media and system utilizing same | |
US11966827B2 (en) | Data management forecasting from distributed tracing | |
CN110968564B (zh) | 一种数据处理方法及数据状态预测模型的训练方法 | |
JP2016026353A (ja) | データベース及びデータベースからのデータ評価方法 | |
CN114218134A (zh) | 一种缓存用户的方法和装置 | |
Verwiebe et al. | Survey of window types for aggregation in stream processing systems | |
CN114020713A (zh) | 一种日志结构合并树的文件合并方法、装置、电子设备及存储介质 | |
CN113673822B (zh) | 一种弹性调度方法及系统 | |
CN113837383A (zh) | 模型训练方法、装置、电子设备及存储介质 | |
CN113660147B (zh) | 一种基于模糊熵的ip会话序列周期性评估方法 | |
CN110874601A (zh) | 识别设备运行状态的方法、状态识别模型训练方法及装置 | |
CN101980209B (zh) | 自适应多领域搜索引擎调用方法及系统 | |
CN109784993B (zh) | 一种基于大数据的用户轨迹智能精准预测系统 | |
CN114461948A (zh) | Web缓存设置优化方法及电子设备 | |
CN112446490A (zh) | 一种网络训练的数据集缓存方法、装置、设备及存储介质 | |
CN113034284A (zh) | 基于算法,大数据和区块链的股票走势分析及预警系统 | |
CN112737834A (zh) | 一种云硬盘故障预测方法、装置、设备及存储介质 | |
CN117235088B (zh) | 一种存储系统的缓存更新方法、装置、设备、介质及平台 | |
CN113709747B (zh) | 一种骚扰号码识别方法、装置、计算机设备和存储介质 | |
CN111353860A (zh) | 产品信息推送方法及系统 | |
CN110705736A (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 |