CN112506980B - 基于推荐场景的流式数据处理控频方法及系统 - Google Patents
基于推荐场景的流式数据处理控频方法及系统 Download PDFInfo
- Publication number
- CN112506980B CN112506980B CN202011526777.3A CN202011526777A CN112506980B CN 112506980 B CN112506980 B CN 112506980B CN 202011526777 A CN202011526777 A CN 202011526777A CN 112506980 B CN112506980 B CN 112506980B
- Authority
- CN
- China
- Prior art keywords
- user
- frequency control
- data processing
- hash structure
- reading
- 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
- 238000012545 processing Methods 0.000 title claims abstract description 45
- 238000000034 method Methods 0.000 title claims abstract description 37
- 239000000463 material Substances 0.000 claims abstract description 123
- 238000004364 calculation method Methods 0.000 claims abstract description 17
- 235000019580 granularity Nutrition 0.000 claims abstract description 14
- 230000000694 effects Effects 0.000 claims description 20
- 238000011217 control strategy Methods 0.000 claims description 7
- 238000004458 analytical method Methods 0.000 claims description 4
- 238000012423 maintenance Methods 0.000 abstract description 4
- 230000006399 behavior Effects 0.000 description 23
- 238000004891 communication Methods 0.000 description 8
- 238000004590 computer program Methods 0.000 description 5
- 230000001419 dependent effect Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000003068 static effect Effects 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/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/2455—Query execution
- G06F16/24552—Database cache management
-
- 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/284—Relational databases
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种基于推荐场景的流式数据处理控频方法及系统,方法包括:环境获得步骤:获得可用的hadoop yarn集群或Apache Flink集群环境;ID用户存储步骤:在控频程序中以流式方式读取消息中间件的用户行为日志,解析获得用户ID及用户物料ID,统计每个所述用户ID对应不同的时间粒度访问过的所述物料ID后,按照kv对的形式存储在高速存储引擎中;计算扩容步骤:部署控频程序,调整task数量,进而实现计算扩容。本发明能够降低原来多个单机部署的维护成本,Apache Flink流式处理可以打到ms级延迟,速度更快。
Description
技术领域
本发明属于基于推荐场景的流式数据处理控频的领域,具体涉及一种基于推荐场景的流式数据处理控频方法及系统。
背景技术
推荐系统广泛应用于不同的行业,如电商类(淘宝、京东等)、内容类(今日头条、网易等)、视频类(腾讯视频、爱奇艺视频等),推荐在这些行业的应用过程中都会面临同一个问题,就是推荐给用户的内容要新颖,推荐过的内容就不要重复推荐给用户,否则会让用户产生反感,影响用户体验,这样就需要保证推荐给每一个用户的内容是不同的。
如何知道哪些内容真正的被用户看到过呢?这需要依赖于app上用户的行为日志,试想淘宝、京东、今日头条这样app的用户是亿级别的,同时产生的行为日志也是海量的,如何处理这些海量的日志并保证推荐不重复的控频方式显得尤为重要。
与本发明相关的现有技术;
现有技术的技术方案:
将用户的行为日志存储在本地存储中,然后编写日志解析程序解析出用户浏览过的物料,将这些用户访问过的物料根据用户ID为key,物料列表为value存储在高速缓存中供下次推荐时排重使用。
现有技术的缺点:
由于用户行为日志是海量的,每天可能达到TB级别,使用本地存储即给存储带来极大的挑战,同时对于单机处理这些日志也带来了很大的困难,甚至需要多机部署,这样的问题是占用机器资源多,需要部署多套程序维护工作量大。
发明内容
本申请实施例提供了一种基于推荐场景的流式数据处理控频方法及系统,以至少解决相关技术中主观因素影响的问题。
本发明提供了一种流式数据处理控频方法,其中,包括:
环境获得步骤:获得可用的hadoop yarn集群或Apache Flink集群环境;
ID用户存储步骤:在控频程序中以流式方式读取消息中间件的用户行为日志,解析获得用户ID及用户物料ID,统计每个所述用户ID对应不同的时间粒度访问过的所述物料ID后,按照kv对的形式存储在高速存储引擎中;
计算扩容步骤:部署控频程序,调整task数量,进而实现计算扩容;
控频步骤:发起请求时,根据模型预测结果返回物料时读取所述高速存储引擎中的kv对,以所述用户ID为key进行查询获得Hash结构,通过所述Hash结构及所述模型预测结果做对比到达控频效果。
上述流式数据处理控频方法,其中,所述ID用户存储步骤包括:
读取步骤:在控频程序中以流式方式读取所述消息中间件中的用户行为日志;
解析步骤:解析获得所述用户行为日志中的所述用户ID和所述用户物料ID;
存储步骤:使用Flink提供的算子统计每个所述用户ID对应不同的时间粒度访问过的所述用户物料ID,然后按照kv对的形式存储在高速存储引擎中。
上述流式数据处理控频方法,其中,所述存储步骤包括:以所述用户ID为key,以Hash结构存储时间和物料列表为value,或,以所述用户ID为key,以Hash结构存储所述用户物料ID和所述用户物料ID的访问次数为value。
上述流式数据处理控频方法,其中,所述计算扩容步骤包括:
将控频程序部署到集群上,根据实际的用户行为日志量级来调整task数量,进而实现计算扩容。
上述流式数据处理控频方法,其中,所述控频步骤包括:
读取步骤:app端向推荐服务发起请求时,根据模型预测结果返回物料时读取所述高速存储引擎中的kv对;
Hash结构获得步骤:以所述用户ID为key进行查询,获得对应所述用户ID的所述Hash结构;
达到控频效果步骤:根据实际的控频策略查看任一日期中用户访问过的物料和模型预测结果,对所述用户访问过的物料和模型预测结果做对比,将用户没有看到过的物料返回给用户,达到控频效果;或者根据以所述Hash结构存储所述用户物料ID和所述用户物料ID的所述访问次数为value的方式达到按物料推荐次数的方式达到控频效果。
本发明还提供了一种基于推荐场景的流式数据处理控频系统,其中,包括:
环境获得单元,所述环境获得单元获得可用的hadoop yarn集群或Apache Flink集群环境;
ID用户存储单元,所述ID用户存储单元在控频程序中以流式方式读取消息中间件的用户行为日志,解析获得用户ID及用户物料ID,统计每个所述用户ID对应不同的时间粒度访问过的所述物料ID后,按照kv对的形式存储在高速存储引擎中;
计算扩容单元,所述计算扩容单元部署控频程序,调整task数量,进而实现计算扩容;
控频单元,所述控频单元发起请求时,根据模型预测结果返回物料时读取所述高速存储引擎中的kv对,以所述用户ID为key进行查询获得Hash结构,通过所述Hash结构及所述模型预测结果做对比到达控频效果。。
上述基于推荐场景的流式数据处理控频系统,其中,所述ID用户存储单元包括:
读取模块,所述读取模块在控频程序中以流式方式读取所述消息中间件中的用户行为日志;
解析模块,所述解析模块解析获得所述用户行为日志中的所述用户ID和所述用户物料ID;
存储模块,所述存储模块使用Flink提供的算子统计每个所述用户ID对应不同的时间粒度访问过的所述用户物料ID,然后按照kv对的形式存储在高速存储引擎中。
上述基于推荐场景的流式数据处理控频系统,其中,所述存储模块以所述用户ID为key,以Hash结构存储时间和物料列表为value,或,以所述用户ID为key,以Hash结构存储所述用户物料ID和所述用户物料ID的访问次数为value。
上述基于推荐场景的流式数据处理控频系统,其中,所述计算扩容单元将控频程序部署到集群上,根据实际的用户行为日志量级来调整task数量,进而实现计算扩容。
上述基于推荐场景的流式数据处理控频系统,其中,所述控频单元包括:
读取模块,所述读取模块发起请求时,根据模型预测结果返回物料时读取所述高速存储引擎中的kv对;
Hash结构获得模块,所述Hash结构获得模块以所述用户ID为key进行查询,获得对应所述用户ID的所述Hash结构;
达到控频效果模块,所述达到控频效果模块根据实际的控频策略查看任一日期中用户访问过的物料和模型预测结果,对所述用户访问过的物料和模型预测结果做对比,将用户没有看到过的物料返回给用户,达到控频效果;或者根据以所述Hash结构存储所述用户物料ID和所述用户物料ID的所述访问次数为value的方式达到按物料推荐次数的方式达到控频效果。
本发明的有益效果在于:
大量的用户行为数据交给集群来管理,控频的计算能力不在依赖说单机环境,而取决于大数据环境,计算并行度和可扩展性提到提升,降低原来多个单机部署的维护成本,Apache Flink流式处理可以打到ms级延迟,速度更快。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。
在附图中:
图1是流式数据处理控频方法的流程图;
图2是图1中步骤S2的分步骤流程图;
图3是图1中步骤S4的分步骤流程图;
图4是本发明的流式数据处理控频系统的结构示意图;
图5是根据本发明实施例的计算机设备的框架图;
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行描述和说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。基于本申请提供的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
显而易见地,下面描述中的附图仅仅是本申请的一些示例或实施例,对于本领域的普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图将本申请应用于其他类似情景。此外,还可以理解的是,虽然这种开发过程中所作出的努力可能是复杂并且冗长的,然而对于与本申请公开的内容相关的本领域的普通技术人员而言,在本申请揭露的技术内容的基础上进行的一些设计,制造或者生产等变更只是常规的技术手段,不应当理解为本申请公开的内容不充分。
在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域普通技术人员显式地和隐式地理解的是,本申请所描述的实施例在不冲突的情况下,可以与其它实施例相结合。
除非另作定义,本申请所涉及的技术术语或者科学术语应当为本申请所属技术领域内具有一般技能的人士所理解的通常意义。本申请所涉及的“一”、“一个”、“一种”、“该”等类似词语并不表示数量限制,可表示单数或复数。本申请所涉及的术语“包括”、“包含”、“具有”以及它们任何变形,意图在于覆盖不排他的包含;例如包含了一系列步骤或模块(单元)的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可以还包括没有列出的步骤或单元,或可以还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。本申请所涉及的“连接”、“相连”、“耦接”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电气的连接,不管是直接的还是间接的。本申请所涉及的“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。本申请所涉及的术语“第一”、“第二”、“第三”等仅仅是区别类似的对象,不代表针对对象的特定排序。
下面结合附图所示的各实施方式对本发明进行详细说明,但应当说明的是,这些实施方式并非对本发明的限制,本领域普通技术人员根据这些实施方式所作的功能、方法、或者结构上的等效变换或替代,均属于本发明的保护范围之内。
在详细阐述本发明各个实施例之前,对本发明的核心发明思想予以概述,并通过下述若干实施例予以详细阐述。
请参照图1,图1是流式数据处理控频方法的流程图。如图1所示,本发明的通过平台建模的流式数据处理控频方法包括:
环境获得步骤S1:获得可用的hadoop yarn集群或Apache Flink集群环境;
ID用户存储步骤S2:在控频程序中以流式方式读取消息中间件的用户行为日志,解析获得用户ID及用户物料ID,统计每个所述用户ID对应不同的时间粒度访问过的所述物料ID后,按照kv对的形式存储在高速存储引擎中;
计算扩容步骤S3:部署控频程序,调整task数量,进而实现计算扩容;
控频步骤S4:发起请求时,根据模型预测结果返回物料时读取所述kv高速缓存,以所述用户ID为key进行查询获得Hash结构,通过所述Hash结构及所述模型预测结果做对比到达控频效果。
其中,所述计算扩容步骤S3包括:
将控频程序部署到集群上,根据实际的用户行为日志量级来调整task数量,进而实现计算扩容。
请参照图2,图2是图1中步骤S2的分步骤流程图。如图2所示,所述ID用户存储步骤S2包括:
读取步骤S21:在控频程序中以流式方式读取所述消息中间件中的用户行为日志;
解析步骤S22:解析获得所述用户行为日志中的所述用户ID和所述用户物料ID;
存储步骤S23:使用Flink提供的算子统计每个所述用户ID对应不同的时间粒度访问过的所述用户物料ID,然后按照kv对的形式存储在高速存储引擎中。
其中,所述存储步骤S23包括:以所述用户ID为key,以Hash结构存储时间和物料列表为value,或,以所述用户ID为key,以Hash结构存储所述用户物料ID和所述用户物料ID的访问次数为value。请参照图3,图3是图1中步骤S4的分步骤流程图。如图3所示,所述控频步骤S4包括:
读取步骤S41:发起请求时,根据模型预测结果返回物料时读取kv高速缓存;
Hash结构获得步骤S42:以所述用户ID为key进行查询,获得对应所述用户ID的所述Hash结构;
达到控频效果步骤S43:根据实际的控频策略查看任一日期中用户访问过的物料和模型预测结果,对所述用户访问过的物料和模型预测结果做对比,将用户没有看到过的物料返回给用户,达到控频效果;或者根据以所述Hash结构存储所述用户物料ID和所述用户物料ID的所述访问次数为value的方式达到按物料推荐次数的方式达到控频效果。
以下,列举实施例具体说明本发明的流式数据处理控频方法如下。
实施例一:
首先需要有可用的hadoop yarn集群或Apache Flink集群环境
在控频程序中以流式读取消息中间件kafka中的用户行为日志,解析其中的用户ID,用户的物料ID,然后使用Flink提供的算子统计每个用户ID,对应不同的时间粒度访问过的物料ID,然后按照kv对的形式存储在类似redis这样的高速存储引擎中,以用户的ID为key,以Hash结构存储时间和物料列表为value;也可以以用户ID为key,以Hash结构存储物料ID和物料ID访问次数为value,这种数据结构方便对于同一物料可以多次推荐给用户做频次限制。
将控频程序部署集群上,根据实际的用户行为日志量级调整task数量,简单方便实现计算扩容。
当app端向推荐服务再次发起请求时,根据模型预测结果返回物料时读取kv高速缓存,以用户id为key进行查询,得到对应的一个Hash结构(日期为key,物料id为value),然后根据实际的控频策略查看某一日期中用户访问过的物料和模型预测结果做对比,将用户没有看到过的物料返回给用户,到达控频效果;或根据以Hash结构存储物料ID和物料ID访问次数为value的方式达到按物料推荐次数达到控频效果。
实施例二:
请参照图4,图4是本发明的流式数据处理控频系统的结构示意图。如图4所示本发明的流式数据处理控频系统,其中,包括:
环境获得单元,所述环境获得单元获得可用的hadoop yarn集群或Apache Flink集群环境;
ID用户存储单元,所述ID用户存储单元在控频程序中以流式方式读取消息中间件的用户行为日志,解析获得用户ID及用户物料ID,统计每个所述用户ID对应不同的时间粒度访问过的所述物料ID后,按照kv对的形式存储在高速存储引擎中;
计算扩容单元,所述计算扩容单元部署控频程序,调整task数量,进而实现计算扩容;
控频单元,所述控频单元发起请求时,根据模型预测结果返回物料时读取所述kv高速缓存,以所述用户ID为key进行查询获得Hash结构,通过所述Hash结构及所述模型预测结果做对比到达控频效果。。
上述系统,其中,所述ID用户存储单元包括:
读取模块,所述读取模块在控频程序中以流式方式读取所述消息中间件中的用户行为日志;
解析模块,所述解析模块解析获得所述用户行为日志中的所述用户ID和所述用户物料ID;
存储模块,所述存储模块使用Flink提供的算子统计每个所述用户ID对应不同的时间粒度访问过的所述用户物料ID,然后按照kv对的形式存储在高速存储引擎中。
上述系统,其中,所述存储模块以所述用户ID为key,以Hash结构存储时间和物料列表为value,或,以所述用户ID为key,以Hash结构存储所述用户物料ID和所述用户物料ID的访问次数为value。
上述系统,其中,所述计算扩容单元将控频程序部署到集群上,根据实际的用户行为日志量级来调整task数量,进而实现计算扩容。
上述系统,其中,所述控频单元包括:
读取模块,所述读取模块发起请求时,根据模型预测结果返回物料时读取kv高速缓存;
Hash结构获得模块,所述Hash结构获得模块以所述用户ID为key进行查询,获得对应所述用户ID的所述Hash结构;
达到控频效果模块,所述达到控频效果模块根据实际的控频策略查看任一日期中用户访问过的物料和模型预测结果,对所述用户访问过的物料和模型预测结果做对比,将用户没有看到过的物料返回给用户,达到控频效果;或者根据以所述Hash结构存储所述用户物料ID和所述用户物料ID的所述访问次数为value的方式达到按物料推荐次数的方式达到控频效果。
实施例三:
结合图5所示,本实施例揭示了一种计算机设备的一种具体实施方式。计算机设备可以包括处理器81以及存储有计算机程序指令的存储器82。
具体地,上述处理器81可以包括中央处理器(CPU),或者特定集成电路(Application Specific Integrated Circuit,简称为ASIC),或者可以被配置成实施本申请实施例的一个或多个集成电路。
其中,存储器82可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器82可包括硬盘驱动器(Hard Disk Drive,简称为HDD)、软盘驱动器、固态驱动器(SolidState Drive,简称为SSD)、闪存、光盘、磁光盘、磁带或通用串行总线(Universal SerialBus,简称为USB)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器82可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器82可在数据处理装置的内部或外部。在特定实施例中,存储器82是非易失性(Non-Volatile)存储器。在特定实施例中,存储器82包括只读存储器(Read-Only Memory,简称为ROM)和随机存取存储器(RandomAccess Memory,简称为RAM)。在合适的情况下,该ROM可以是掩模编程的ROM、可编程ROM(Programmable Read-Only Memory,简称为PROM)、可擦除PROM(Erasable ProgrammableRead-Only Memory,简称为EPROM)、电可擦除PROM(Electrically Erasable ProgrammableRead-Only Memory,简称为EEPROM)、电可改写ROM(Electrically Alterable Read-OnlyMemory,简称为EAROM)或闪存(FLASH)或者两个或更多个以上这些的组合。在合适的情况下,该RAM可以是静态随机存取存储器(Static Random-Access Memory,简称为SRAM)或动态随机存取存储器(Dynamic Random Access Memory,简称为DRAM),其中,DRAM可以是快速页模式动态随机存取存储器(Fast Page Mode Dynamic Random Access Memory,简称为FPMDRAM)、扩展数据输出动态随机存取存储器(Extended Date Out Dynamic RandomAccess Memory,简称为EDODRAM)、同步动态随机存取内存(Synchronous Dynamic Random-Access Memory,简称SDRAM)等。
存储器82可以用来存储或者缓存需要处理和/或通信使用的各种数据文件,以及处理器81所执行的可能的计算机程序指令。
处理器81通过读取并执行存储器82中存储的计算机程序指令,以实现上述实施例中的任意一种流式数据处理控频方法。
在其中一些实施例中,计算机设备还可包括通信接口83和总线80。其中,如图5所示,处理器81、存储器82、通信接口83通过总线80连接并完成相互间的通信。
通信接口83用于实现本申请实施例中各模块、装置、单元和/或设备之间的通信。通信端口83还可以实现与其他部件例如:外接设备、图像/数据采集设备、数据库、外部存储以及图像/数据处理工作站等之间进行数据通信。
总线80包括硬件、软件或两者,将计算机设备的部件彼此耦接在一起。总线80包括但不限于以下至少之一:数据总线(Data Bus)、地址总线(Address Bus)、控制总线(Control Bus)、扩展总线(Expansion Bus)、局部总线(Local Bus)。举例来说而非限制,总线80可包括图形加速接口(Accelerated Graphics Port,简称为AGP)或其他图形总线、增强工业标准架构(Extended Industry Standard Architecture,简称为EISA)总线、前端总线(Front Side Bus,简称为FSB)、超传输(Hyper Transport,简称为HT)互连、工业标准架构(Industry Standard Architecture,简称为ISA)总线、无线带宽(InfiniBand)互连、低引脚数(Low Pin Count,简称为LPC)总线、存储器总线、微信道架构(Micro ChannelArchitecture,简称为MCA)总线、外围组件互连(Peripheral Component Interconnect,简称为PCI)总线、PCI-Express(PCI-X)总线、串行高级技术附件(Serial AdvancedTechnology Attachment,简称为SATA)总线、视频电子标准协会局部(Video ElectronicsStandards Association Local Bus,简称为VLB)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线80可包括一个或多个总线。尽管本申请实施例描述和示出了特定的总线,但本申请考虑任何合适的总线或互连。
该计算机设备可以基于流式数据处理控频方法,从而实现结合图1-图3描述的方法。
另外,结合上述实施例中流式数据处理控频方法,本申请实施例可提供一种计算机可读存储介质来实现。该计算机可读存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现上述实施例中的一种流式数据处理控频方法。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
综上所述,基于本发明的有益效果在于,本专利提供了一种流式数据处理控频方法,该方法能够根据大量的用户行为数据交给集群来管理,控频的计算能力不在依赖说单机环境,而取决于大数据环境,计算并行度和可扩展性提到提升,降低原来多个单机部署的维护成本,Apache Flink流式处理可以打到ms级延迟,速度更快。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (8)
1.一种基于推荐场景的流式数据处理控频方法,其特征在于,包括:
环境获得步骤:获得可用的hadoop yarn集群或Apache Flink集群环境;
ID用户存储步骤:在控频程序中以流式方式读取消息中间件的用户行为日志,解析获得用户ID及用户物料ID,统计每个所述用户ID对应不同的时间粒度访问过的所述物料ID后,按照kv对的形式存储在高速存储引擎中;
计算扩容步骤:部署控频程序,调整task数量,进而实现计算扩容;
控频步骤:发起请求时,根据模型预测结果返回物料时读取所述高速存储引擎中的kv对,以所述用户ID为key进行查询获得Hash结构,通过所述Hash结构及所述模型预测结果做对比进行控频操作;
其中,所述控频步骤包括:
读取步骤:app端向推荐服务发起请求时,根据模型预测结果返回物料时读取所述高速存储引擎中的kv对;
Hash结构获得步骤:以所述用户ID为key进行查询,获得对应所述用户ID的所述Hash结构;
达到控频效果步骤:根据实际的控频策略查看任一日期中用户访问过的物料和模型预测结果,对所述用户访问过的物料和模型预测结果做对比,将用户没有看到过的物料返回给用户,进行控频操作;或者根据以所述Hash结构存储所述用户物料ID和所述用户物料ID的访问次数为value的方式,采用按物料推荐次数的方式进行控频操作。
2.如权利要求1所述的一种基于推荐场景的流式数据处理控频方法,其特征在于,所述ID用户存储步骤包括:
读取步骤:在控频程序中以流式方式读取所述消息中间件中的用户行为日志;
解析步骤:解析获得所述用户行为日志中的所述用户ID和所述用户物料ID;
存储步骤:使用Flink提供的算子统计每个所述用户ID对应不同的时间粒度访问过的所述用户物料ID,然后按照kv对的形式存储在高速存储引擎中。
3.如权利要求2所述的一种基于推荐场景的流式数据处理控频方法,其特征在于,所述存储步骤包括:以所述用户ID为key,以Hash结构存储时间和物料列表为value,或,以所述用户ID为key,以Hash结构存储所述用户物料ID和所述用户物料ID的访问次数为value。
4.如权利要求1所述的一种基于推荐场景的流式数据处理控频方法,其特征在于,所述计算扩容步骤包括:
将控频程序部署到集群上,根据实际的用户行为日志量级来调整task数量,进而实现计算扩容。
5.一种基于推荐场景的流式数据处理控频系统,其特征在于,包括:
环境获得模块,所述环境获得模块获得可用的hadoop yarn集群或Apache Flink集群环境;
ID用户存储模块,所述ID用户存储模块在控频程序中以流式方式读取消息中间件的用户行为日志,解析获得用户ID及用户物料ID,统计每个所述用户ID对应不同的时间粒度访问过的所述物料ID后,按照kv对的形式存储在高速存储引擎中;
计算扩容模块,所述计算扩容模块部署控频程序,调整task数量,进而实现计算扩容;
控频模块,所述控频模块发起请求时,根据模型预测结果返回物料时读取所述高速存储引擎中的kv对,以所述用户ID为key进行查询获得Hash结构,通过所述Hash结构及所述模型预测结果做对比进行控频操作;
其中,所述控频模块包括:
读取单元,所述读取单元发起请求时,根据模型预测结果返回物料时读取所述高速存储引擎中的kv对;
Hash结构获得单元,所述Hash结构获得单元以所述用户ID为key进行查询,获得对应所述用户ID的所述Hash结构;
达到控频效果单元,所述达到控频效果单元根据实际的控频策略查看任一日期中用户访问过的物料和模型预测结果,对所述用户访问过的物料和模型预测结果做对比,将用户没有看到过的物料返回给用户,进行控频操作;或者根据以所述Hash结构存储所述用户物料ID和所述用户物料ID的访问次数为value的方式,采用按物料推荐次数的方式进行控频操作。
6.如权利要求5所述的一种基于推荐场景的流式数据处理控频系统,其特征在于,所述ID用户存储模块包括:
读取模块,所述读取模块在控频程序中以流式方式读取所述消息中间件中的用户行为日志;
解析模块,所述解析模块解析获得所述用户行为日志中的所述用户ID和所述用户物料ID;
存储模块,所述存储模块使用Flink提供的算子统计每个所述用户ID对应不同的时间粒度访问过的所述用户物料ID,然后按照kv对的形式存储在高速存储引擎中。
7.如权利要求6所述的一种基于推荐场景的流式数据处理控频系统,其特征在于,所述存储模块以所述用户ID为key,以Hash结构存储时间和物料列表为value,或,以所述用户ID为key,以Hash结构存储所述用户物料ID和所述用户物料ID的访问次数为value。
8.如权利要求5所述的一种基于推荐场景的流式数据处理控频系统,其特征在于,所述计算扩容模块将控频程序部署到集群上,根据实际的用户行为日志量级来调整task数量,进而实现计算扩容。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011526777.3A CN112506980B (zh) | 2020-12-22 | 2020-12-22 | 基于推荐场景的流式数据处理控频方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011526777.3A CN112506980B (zh) | 2020-12-22 | 2020-12-22 | 基于推荐场景的流式数据处理控频方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112506980A CN112506980A (zh) | 2021-03-16 |
CN112506980B true CN112506980B (zh) | 2024-02-23 |
Family
ID=74921929
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011526777.3A Active CN112506980B (zh) | 2020-12-22 | 2020-12-22 | 基于推荐场景的流式数据处理控频方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112506980B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103475637A (zh) * | 2013-04-24 | 2013-12-25 | 携程计算机技术(上海)有限公司 | 基于ip访问行为的网络访问控制方法及系统 |
KR20160118195A (ko) * | 2016-09-30 | 2016-10-11 | 에스케이플래닛 주식회사 | 추천 아이템 제공 방법, 이를 위한 프로그램을 기록한 기록 매체 및 장치 |
CN109408729A (zh) * | 2018-12-05 | 2019-03-01 | 广州市百果园信息技术有限公司 | 推荐物料确定方法、装置、存储介质和计算机设备 |
CN111143989A (zh) * | 2019-12-25 | 2020-05-12 | 北京无线电计量测试研究所 | 频率调整量计算方法、模块、系统、存储介质和设备 |
CN111460279A (zh) * | 2020-02-25 | 2020-07-28 | 拉扎斯网络科技(上海)有限公司 | 信息推荐方法、装置、存储介质及计算机设备 |
-
2020
- 2020-12-22 CN CN202011526777.3A patent/CN112506980B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103475637A (zh) * | 2013-04-24 | 2013-12-25 | 携程计算机技术(上海)有限公司 | 基于ip访问行为的网络访问控制方法及系统 |
KR20160118195A (ko) * | 2016-09-30 | 2016-10-11 | 에스케이플래닛 주식회사 | 추천 아이템 제공 방법, 이를 위한 프로그램을 기록한 기록 매체 및 장치 |
CN109408729A (zh) * | 2018-12-05 | 2019-03-01 | 广州市百果园信息技术有限公司 | 推荐物料确定方法、装置、存储介质和计算机设备 |
CN111143989A (zh) * | 2019-12-25 | 2020-05-12 | 北京无线电计量测试研究所 | 频率调整量计算方法、模块、系统、存储介质和设备 |
CN111460279A (zh) * | 2020-02-25 | 2020-07-28 | 拉扎斯网络科技(上海)有限公司 | 信息推荐方法、装置、存储介质及计算机设备 |
Non-Patent Citations (3)
Title |
---|
Web日志挖掘在电子商务推荐中的应用;张福泉;;怀化学院学报(05);全文 * |
一种基于Hadoop的个性化推荐系统架构;张永霞;王洪波;程时端;;新型工业化(08);全文 * |
基于Flink实时计算的自动化流控制算法;樊春美;朱建生;单杏花;杨立鹏;李雯;;计算机技术与发展(08);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112506980A (zh) | 2021-03-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110874440B (zh) | 一种信息推送及其模型训练的方法、装置及电子设备 | |
CN107798064B (zh) | 页面处理方法、电子设备及计算机可读存储介质 | |
CN111274512A (zh) | 一种页面加载方法、装置及介质 | |
CN107102889B (zh) | 一种虚拟机资源调整方法及装置 | |
CN111510761B (zh) | 首帧均衡限流方法、装置、计算机设备及可读存储介质 | |
CN110580171A (zh) | App分类方法、相关装置及产品 | |
CN112506980B (zh) | 基于推荐场景的流式数据处理控频方法及系统 | |
CN106941530B (zh) | 一种静态资源请求处理方法及装置 | |
CN112528125A (zh) | 避免内容重复推荐的方法、装置、电子设备及存储介质 | |
CN111459474B (zh) | 一种模板化的数据处理方法及装置 | |
CN112333294A (zh) | 日志归并方法、装置、介质和设备 | |
WO2018026452A1 (en) | System and method for distributing and replaying trigger packets via a variable latency bus interconnect | |
CN114338386B (zh) | 一种网络的配置方法、装置、电子设备及存储介质 | |
CN110851433B (zh) | 键值存储系统键优化方法、存储介质、电子设备及系统 | |
CN116781586A (zh) | 一种gRPC流量解析方法、装置、设备及介质 | |
CN104182331A (zh) | 浏览器性能测试方法、系统及终端 | |
CN111210826A (zh) | 语音信息处理方法、装置、存储介质和智能终端 | |
US20210019130A1 (en) | Method and apparatus for downloading installation-free application | |
CN114979236A (zh) | 数据传输方法、装置、存储介质以及电子设备 | |
CN107463508A (zh) | 脚本缓存清除方法、装置、电子设备及存储介质 | |
CN114040378A (zh) | 应用的编排方法、装置、计算机设备和存储介质 | |
CN110956349B (zh) | 服务质量分析方法、系统、装置、服务器及电子设备 | |
CN106453573A (zh) | 一种http服务器中cgi请求的处理方法和系统 | |
JP2022553683A (ja) | 物理ランダムアクセスチャネルのデータ統合方法、装置および記憶媒体 | |
CN111782479A (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 |