一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种游戏道具推荐方法、设备和计算机可读存储介质与流程

2021-09-22 20:39:00 来源:中国专利 TAG:电子游戏 道具 可读 特别 计算机


1.本发明涉及电子游戏领域,特别涉及一种游戏道具推荐方法、设备和计算机可读存储介质。


背景技术:

2.在电子游戏领域,游戏商城界面的推荐大厅一般是商城的首页,目的是缩短玩家购买商品的路径,直接进行商品的购买。现有的游戏道具推荐方法包括固定商品展示和个性化推荐,其中,固定商品展示方案是指由游戏策划师进行挑选物品,给出展示方案然后通过批量(patch)热更新的方式推送到每个玩家的游戏客户端进行展示,虽然该方案具有充足的可控性,但失去了商城首页的便捷性,增加了玩家购买物品的额外操作,而个性化推荐方案全流程交由算法操作,在可解释性和可控性等存在不可控等缺陷,当产品需要介入推荐流程时就会很难操作。


技术实现要素:

3.本技术提供一种游戏道具推荐方法、设备和计算机可读存储介质,以在对游戏道具个性化推荐时兼顾可控性。
4.一方面,本技术提供了一种游戏道具推荐方法,所述方法包括:
5.获取各个玩家的游戏日志数据;
6.确定所述各个玩家中处于个性化推荐服务名单的玩家作为第一类玩家,以及确定所述各个玩家中处于规则化推荐服务名单的玩家作为第二类玩家;
7.以第一时间粒度对属于所述第一类玩家的目标玩家的游戏日志数据进行处理,得到第一处理结果,并根据所述第一处理结果以及预设的个性化推荐算法生成向属于所述第一类玩家的目标玩家推荐的游戏道具;
8.以第二时间粒度对属于所述第二类玩家的所有目标玩家的游戏日志数据进行处理,得到第二处理结果,并根据所述第二处理结果以及预设的定制算法生成向属于所述第二类玩家的目标玩家推荐的游戏道具,所述第二时间粒度大于所述第一时间粒度。
9.可选地,所述以第一时间粒度对所述属于第一类玩家的目标玩家的游戏日志数据进行处理,得到第一处理结果,包括:对所述游戏日志数据进行预处理,得到所述各个玩家的预处理游戏日志数据;设置与所述第一时间粒度对应的转化窗口;以与所述第一时间粒度对应的转化窗口对属于所述第一类玩家的目标玩家的预处理游戏日志数据进行数据流的切分;对所述切分后的数据流进行汇总,得到属于所述第一类玩家的目标玩家的游戏信息汇总结果作为所述第一处理结果。
10.可选地,所述以第一时间粒度对所述属于第一类玩家的目标玩家的游戏日志数据进行处理,得到第一处理结果,包括,包括:对所述游戏日志数据进行预处理,得到所述各个玩家的预处理游戏日志数据;以与所述第二时间粒度对应的转化窗口对所述属于第一类玩家的目标玩家的预处理游戏日志数据进行数据流的切分;在所述第二时间粒度对应的转化
窗口内,以所述第一时间粒度为最小单位对所述切分后的数据流持续汇总,得到属于所述第一类玩家的目标玩家的游戏信息汇总结果作为所述第一处理结果。
11.可选地,所述以第二时间粒度对所述属于第二类玩家的目标玩家的游戏日志数据进行处理,得到第二处理结果,包括:对所述游戏日志数据进行预处理,得到所述各个玩家的预处理游戏日志数据;抽取所述预处理游戏日志数据中属于所述第二类玩家的目标玩家的账号信息;以所述账号信息对应的登录时间戳或退出时间戳为切分的起始点,对所述属于第二类玩家的目标玩家的预处理游戏日志数据进行第二时间粒度的切分;以游戏id加所述登录时间戳或所述退出时间戳的方式对所述切分后的预处理游戏日志数据进行索引,以索引结果作为所述第二处理结果。
12.可选地,所述以第二时间粒度对所述属于第二类玩家的目标玩家的游戏日志数据进行处理,得到第二处理结果,包括:对所述游戏日志数据进行预处理,得到所述各个玩家的预处理游戏日志数据;以所述第二时间粒度为最小单位,从所述预处理游戏日志数据抽取游戏登录、退出日志并保存为hive表;将所述预处理游戏日志数据中所述属于第二类玩家的目标玩家的账号信息写入所述hive表;对所述hive表中所有第二类玩家的账号信息进行聚合,以聚合结果作为所述第二处理结果。
13.可选地,所述对所述游戏日志数据进行预处理,得到所述各个玩家的预处理游戏日志数据,包括:剔除所述游戏日志数据中无用信息,并将所述剔除无用信息后的游戏日志数据处理为固定格式的数据,得到所述各个玩家的预处理游戏日志数据。
14.可选地,所述根据所述第一处理结果以及预设的个性化推荐算法生成向所述属于第一类玩家的目标玩家推荐的游戏道具,包括:加载所述预设的个性化推荐算法对应的算法模型;将所述第一处理结果作为所述算法模型的输入,将所述输入对应的输出作为推荐的游戏道具。
15.可选地,所述方法还包括:当对所述玩家的预处理游戏日志数据进行处理时,采用高并发对抗策略。
16.另一方面,本技术提供了一种游戏道具推荐装置,所述装置包括:
17.获取模块,用于获取各个玩家的游戏日志数据;
18.确定模块,用于确定所述各个玩家中处于个性化推荐服务名单的玩家作为第一类玩家,以及确定所述各个玩家中处于规则化推荐服务名单的玩家作为第二类玩家;
19.第一处理模块,用于以第一时间粒度对属于所述第一类玩家的目标玩家的游戏日志数据进行处理,得到第一处理结果,并根据所述第一处理结果以及预设的个性化推荐算法生成向属于所述第一类玩家的目标玩家推荐的游戏道具;
20.第二处理模块,用于以第二时间粒度对属于所述第二类玩家的所有目标玩家的游戏日志数据进行处理,得到第二处理结果,并根据所述第二处理结果以及预设的定制算法生成向属于所述第二类玩家的目标玩家推荐的游戏道具,所述第二时间粒度大于所述第一时间粒度。
21.第三方面,本技术提供了一种计算机设备,所述计算机设备包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器通过调用所述存储器中存储的所述计算机程序,执行如上任一实施例所述的游戏道具推荐方法中的步骤。
22.第四方面,本技术提供了一种计算机可读存储介质,所述计算机可读存储介质存
储有计算机程序,所述计算机程序适于处理器进行加载,以执行如上任一实施例所述的游戏道具推荐方法中的步骤。
23.从上述本技术提供的技术方案可知,通过对游戏中各个玩家所处名单进行区分,当玩家处于个性化推荐服务名单即玩家为第一类玩家时,基于个性化推荐算法对第一类玩家按照其个性推荐游戏道具,当玩家处于规则化服务名单即玩家为第二类玩家时,基于预设的定制算法对第二类玩家推荐定制的游戏道具。由于基于预设的定制算法对第二类玩家推荐定制的游戏道具时,其是基于一定的可控规则进行,因此,对玩家整体(即第一类玩家和第二类玩家一起作为一个整体)而言,在进行游戏道具推荐时,既保持了一定的个性化,又兼顾了推荐方案的可控性。
附图说明
24.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
25.图1是本技术实施例提供的游戏道具推荐方法的流程图;
26.图2是本技术实施例提供的游戏道具推荐装置的结构示意图;
27.图3是本技术实施例提供的设备的结构示意图。
具体实施方式
28.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
29.在本说明书中,诸如第一和第二这样的形容词仅可以用于将一个元素或动作与另一元素或动作进行区分,而不必要求或暗示任何实际的这种关系或顺序。在环境允许的情况下,参照元素或部件或步骤(等)不应解释为局限于仅元素、部件、或步骤中的一个,而可以是元素、部件、或步骤中的一个或多个等。
30.在本说明书中,为了便于描述,附图中所示的各个部分的尺寸并不是按照实际的比例关系绘制的。
31.本技术实施例提出一种游戏道具推荐方法。如附图1所示,其主要包括步骤s101至步骤s104,详述如下:
32.步骤s101:获取各个玩家的游戏日志数据。
33.在本技术实施例中,可以为每款游戏设置独立的管线(pipeline),通过这些pipeline,对游戏数据源(game data center,gdc)中各个玩家的游戏日志数据进行grok抽取;另一方面,通过ruby插件代码解决海外游戏的时区问题。通过上述准备工作,将游戏日志数据的时间戳和id抽取出来作为弹性搜索(elastic search,es)的条件,写入分布式文件系统,完成对游戏数据源中各个玩家的游戏日志数据获取。
34.步骤s102:确定各个玩家中处于个性化推荐服务名单的玩家作为第一类玩家,以
及确定各个玩家中处于规则化推荐服务名单的玩家作为第二类玩家。
35.在本技术实施例中,规则化推荐服务名单是基于数据分析师对玩家群体进行分析后生成的一批游戏玩家名单,此外,该名单还附带可推荐商品的列表信息;除去规则化推荐服务名单之外的游戏玩家则归为个性化推荐服务名单中的玩家,换言之,规则化推荐服务名单和个性化推荐服务名单中的玩家构成所有游戏玩家的总和。作为本技术的一个实施例,可以通过kubernetes(简称k8s)平台的spring服务来确定各个玩家中处于规则化服务名单的玩家和处于个性化推荐服务名单的玩家,并且,将处于个性化推荐服务名单的玩家确定为第一类玩家,将处于规则化推荐服务名单的玩家确定为第二类玩家。之所以使用spring服务作为是个性化推荐服务还是规则化服务的开关,一方面是考虑spring服务由java编写,具有很好的生态,另一方面则是考虑到spring服务具有高并发的特性。
36.步骤s103:当目标玩家属于第一类玩家时,以第一时间粒度对属于第一类玩家的目标玩家的游戏日志数据进行处理,得到第一处理结果,并根据第一处理结果以及预设的个性化推荐算法生成向属于第一类玩家的目标玩家推荐的游戏道具。
37.在本技术实施例中,第一时间粒度小于后续提及的第二时间粒度,这也意味着以第一时间粒度对游戏日志数据处理时,其粒度要小于以第二时间粒度对游戏日志数据处理时的粒度。例如,当第一时间粒度是以秒为单位即秒级对游戏日志数据进行处理时,第二时间粒度可以是以分钟为单位或者以天为单位对游戏日志数据进行处理。由于第一时间粒度对游戏日志数据的处理粒度远小于第二时间粒度对游戏日志数据的处理粒度,并且,个性化推荐服务对数据的实时性要求较高,因此,在本技术实施例中,当目标玩家属于第一类玩家时,则以第一时间粒度对属于第一类玩家的目标玩家的游戏日志数据进行处理。
38.作为本技术一个实施例,以第一时间粒度对属于第一类玩家的目标玩家的游戏日志数据进行处理,得到第一处理结果可以是:对游戏日志数据进行预处理,得到各个玩家的预处理游戏日志数据;设置与第一时间粒度对应的时间转化窗口;以与第一时间粒度对应的转化窗口对属于第一类玩家的目标玩家的预处理游戏日志数据进行数据流的切分;对切分后数据流进行汇总,得到属于第一类玩家的目标玩家的游戏信息汇总结果作为第一处理结果。上述实施例中,对游戏日志数据进行预处理,得到各个玩家的预处理游戏日志数据可以是:剔除游戏日志数据中无用信息,并将剔除无用信息后的游戏日志数据处理为固定格式的数据,得到各个玩家的预处理游戏日志数据。例如,一条原始的游戏日志数据为“[2016

01

20 11:36:42 0800][loginrole],{"ip":"27.29.248.157","ipv6":"","device_model":"ipad4_1","device_height":2048,"device_width":1536,"os_name":"iphone os","os_ver":"8.2","mac_addr":"00:00:00:00:00:00","udid":"df918d22

deeb

497f

888a

c8a418d8aab9","nation":86,"isp":"unknown","network":"wifi","app_channel":"app_store","app_ver":"fp2_03","server":"unknown","account_id":"aebfm7qnt4erszgy@ios.netease.win.163.com","old_accountid":"aebfm7qnt4erszgy@ios.netease.win.163.com","role_id":"4227001","role_name":"罗德布鲁斯","create_time":1451101605,"role_level":13,"vip_level":0,"login_time":1453261002,"last_logout_time":1451101605,"offline_money":0,"offline_exp":0,"offline_item":[],"is_root":"false","is_emulator":"false","transid":"f1b7e893

1e34

4a5e

ae69

107dc9f2efe0_1586318369779_375218232","unisdk_
deviceid":"f1b7e893

1e34

4a5e

ae69

107dc9f2efe0","oaid":"ab2da4f8

0f26

4b15

be48

98c627e14f86"}”,该条游戏日志数据是一条玩家登录游戏的日志,在对该条游戏日志数据进行预处理就是对原始的游戏日志数据进行解析,提取出服务所需要的信息,例如,玩家的登录时间、账号id、玩家id和玩家设备等信息,将这些信息组装成如下一条固定格式的数据:
[0039]
2016

01

20 11:36:42,aebfm7qnt4erszgy@ios.netease.win.163.com,4227001,ipad4_1。
[0040]
从将原始的游戏日志数据与经过预处理后的游戏日志数据相比可知,整个预处理过程剔除的原始的游戏日志数据中无用信息,抽取对业务有用的信息。需要说明的是,属于第一类玩家的目标玩家的游戏信息包括属于第一类玩家的目标玩家的登录次数、登录时间段、登录的高频时间段和常用设备等。对切割后数据流进行汇总属于第一类玩家的目标玩家的游戏信息,实际就是汇总上述游戏信息的统计结果。
[0041]
作为本技术另一实施例,以第一时间粒度对属于第一类玩家的目标玩家的游戏日志数据进行处理,得到第一处理结果还可以是:对游戏日志数据进行预处理,得到各个玩家的预处理游戏日志数据;以与第二时间粒度对应的转化窗口对属于第二类玩家的目标玩家的预处理游戏日志数据进行数据流的切分;在第二时间粒度对应的转化窗口内,以第一时间粒度为最小单位对切分后的数据流持续汇总,得到属于第一类玩家的目标玩家的游戏信息汇总结果作为第一处理结果。在上述实施例中,以第二时间粒度是分钟级、第一时间粒度是秒级为例,第二时间粒度对应的转化窗口可能是一分钟或者数分钟。在这种转化窗口中,以第二时间粒度处理数据流是以其转化窗口为时间节点,即输出结果都是一分钟或者数分钟的数据汇总结果,也就表明了输出这个时间段的汇总结果会有至少一分钟甚至更长时间的延迟,而在分钟级对应的转化窗口内,以秒为最小单位对切分后的数据流持续汇总,意味着在这一分钟或数分钟内,每当有一条新的游戏日志进入转化窗口,都会持续保持计算,即整个过程(转化窗口)的计算结果是以秒为单位持续输出,从而保证了数据的秒级产出。本实施例中,对游戏日志数据进行预处理,得到各个玩家的预处理游戏日志数据与前述实施例相同,不做赘述。
[0042]
在以第一时间粒度对属于第一类玩家的目标玩家的游戏日志数据进行处理,得到第一处理结果后,可以根据第一处理结果以及预设的个性化推荐算法生成向属于第一类玩家的目标玩家推荐的游戏道具。具体地,可以加载预设的个性化推荐算法对应的算法模型,将第一处理结果作为该算法模型的输入,将输入对应的输出作为推荐的游戏道具,具体是通过算法工程师对算法模型进行训练得到pb模型文件,采用tf

serving服务对算法模型进行加载,当有流量请求(通常内容是玩家的账号/角色id)过来时,对玩家相关的信息指标抽取,抽取源就是前文提到flink秒级计算完指标后写入的存储介质(hbase、redis等等),tf

serving抽取到的指标信息传入到已加载的算法模型中,输出推荐结果(即商品列表),进而将结果反馈到游戏中。
[0043]
步骤s104:当目标玩家属于第二类玩家时,以第二时间粒度或第三时间粒度对属于第二类玩家的目标玩家的游戏日志数据进行处理,得到第二处理结果,并根据第二处理结果以及预设的定制算法生成向属于第二类玩家的目标玩家推荐的游戏道具,其中,第二时间粒度大于第一时间粒度。
[0044]
相对于个性化推荐服务,规则化推荐服务即游戏道具定制化服务对数据处理的实时性要求较低,而第二时间粒度或第三时间粒度大于第一时间粒度,因此,在本技术实施例中,当目标玩家属于第二类玩家时,以第二时间粒度对属于第二类玩家的目标玩家的游戏日志数据进行处理。作为本技术一个实施例,以第二时间粒度对属于第二类玩家的目标玩家的游戏日志数据进行处理,得到第二处理结果可以是:对游戏日志数据进行预处理,得到各个玩家的预处理游戏日志数据;抽取预处理游戏日志数据中属于第二类玩家的目标玩家的账号信息;以属于第二类玩家的目标玩家的账号信息对应的登录时间戳或退出时间戳为切分的起始点,对属于第二类玩家的目标玩家的预处理游戏日志数据进行第二时间粒度的切分;以游戏id加登录时间戳或退出时间戳的方式对切分后的预处理游戏日志数据进行索引,以索引结果作为第二处理结果。具体而言,可以先预估游戏日志数据的数据量,设置不同索引为分片等参数。为了降低索引的日志量,可以按照游戏id加登录时间戳或游戏id加退出时间戳的方式建立索引,以保证日志查询的高效,并且es数据有效期设为两天即删除,可以降低索引数量以进一步提高查询性能,通过python调用es接口逐分钟进行增量数据计算。例如,在计算游戏日活跃用户数量(daily active user,dau)时,对游戏的登录、退出日志数据,以其登录时间戳或退出时间戳为起始点进行分钟级别的切分,然后正则抽取登录、退出日志数据中玩家的账号信息,将未出现的账号信息写入数据库,从而汇总账号信息数进而得到游戏的dau数据。该方案中,之所以采用数据累加的方式进行计算更加高效,是因为只需要针对第二时间粒度(例如分钟级别)的数据量进行计算,然后对当天的所有分钟级别的数据量进行汇总得到结果,如此,每分钟的数据量相较于全天数据量有着数量级的减少,并且将计算时间分摊到每分钟执行,执行时间也会更加高效。同样地,本实施例中,对游戏日志数据进行预处理,得到各个玩家的预处理游戏日志数据与前述实施例相同,不做赘述。
[0045]
作为本技术一个实施例,以第二时间粒度对属于第二类玩家的目标玩家的游戏日志数据进行处理,得到第二处理结果可以是:对游戏日志数据进行预处理,得到各个玩家的预处理游戏日志数据;以第二时间粒度为最小单位,从预处理游戏日志数据抽取游戏登录、退出日志并保存为hive表;将预处理游戏日志数据中属于第二类玩家的目标玩家的账号信息写入hive表;对hive表中所有第二类玩家的账号信息进行聚合,以聚合结果作为第二处理结果。换言之,可以通过hadoop streaming处理日志写入到hive仓库,并经过hql(hive sql)/impala的计算得到结果,例如,以游戏dau指标计算为例,可以首先通过hadoop streaming技术从全天的各种类型日志抽取出全天的登录登出日志,然后在hive中建立对应的表,通过hive load命令写入到hive表中;不同于分钟级对账号的正则抽取,以第二时间粒度对数据的处理方式是将玩家的账号信息写入到hive表的对应字段,后续需要编写hql(编写hql的目的是为了聚合当天的所有账号信息)时是基于hive计算引擎对数据进行计算或者是使用impala计算引擎计算,最终聚合到所有玩家的账号信息并去重计数得到游戏dau指标数据。本实施例中,对游戏日志数据进行预处理,得到各个玩家的预处理游戏日志数据与前述实施例相同,不做赘述。
[0046]
在以第二时间粒度或第三时间粒度对属于第二类玩家的目标玩家的游戏日志数据进行处理,得到第二处理结果后,可以根据第二处理结果以及预设的定制算法生成向属于第二类玩家的目标玩家推荐的游戏道具。在本技术实施例中,预设的定制算法储备了专
家知识并基于规则的模型,通常只需要输入某个条件,则可以得到与该条件匹配的答案。专家,例如游戏相关的数据分析师会指定玩家群体的范围,然后从存储介质中(hive、hbase等)提取玩家各项指标,对玩家进行人工分析,从而得到最适合该群体玩家的商品列表,同时指定投放方案及名单,方案会部署到django规则服务中。如前所述,spring服务具有高并发的特性,随之而来的是高并发问题,因此,在本技术上述实施例中,还包括当对玩家的预处理游戏日志数据进行处理时,采用高并发对抗策略。上述采用高并发对抗策略,可以对抗数据流量的高并发。具体而言,可以通过采取以下三种措施中的任意一种或多种组合作为高并发对抗策略:1)使用k8s作为服务平台,以实现对服务的动态扩缩,即在高并发的情况下动态生成新的服务实例,当低请求量时进行资源回收,减少资源占用;2)使用服务网格istio对服务进行分发,保证服务在大流量下依旧可以正常运行;3)使用kong网关服务的组件实现服务认证、通用模块抽象以及限速。
[0047]
从上述附图1示例的游戏道具推荐方法可知,通过对游戏中各个玩家所处名单进行区分,当玩家处于个性化推荐服务名单即玩家为第一类玩家时,基于个性化推荐算法对第一类玩家按照其个性推荐游戏道具,当玩家处于规则化服务名单即玩家为第二类玩家时,基于预设的定制算法对第二类玩家推荐定制的游戏道具。由于基于预设的定制算法对第二类玩家推荐定制的游戏道具时,其是基于一定的可控规则进行,因此,对玩家整体(即第一类玩家和第二类玩家一起作为一个整体)而言,在进行游戏道具推荐时,既保持了一定的个性化,又兼顾了推荐方案的可控性。
[0048]
请参阅附图2,是本技术实施例提供的一种游戏道具推荐装置,其可以包括获取模块201、确定模块202、第一处理模块203和第二处理模块204,详述如下:
[0049]
获取模块201,用于获取各个玩家的游戏日志数据;
[0050]
确定模块202,用于确定各个玩家中处于个性化推荐服务名单的玩家作为第一类玩家,以及确定各个玩家中处于规则化推荐服务名单的玩家作为第二类玩家;
[0051]
第一处理模块203,用于以第一时间粒度对属于第一类玩家的目标玩家的游戏日志数据进行处理,得到第一处理结果,并根据第一处理结果以及预设的个性化推荐算法生成向属于第一类玩家的目标玩家推荐的游戏道具;
[0052]
第二处理模块204,用于以第二时间粒度对属于第二类玩家的所有目标玩家的游戏日志数据进行处理,得到第二处理结果,并根据第二处理结果以及预设的定制算法生成向属于第二类玩家的目标玩家推荐的游戏道具,其中,第二时间粒度大于第一时间粒度。
[0053]
从以上附图2示例的游戏道具推荐装置可知,通过对游戏中各个玩家所处名单进行区分,当玩家处于个性化推荐服务名单即玩家为第一类玩家时,基于个性化推荐算法对第一类玩家按照其个性推荐游戏道具,当玩家处于规则化服务名单即玩家为第二类玩家时,基于预设的定制算法对第二类玩家推荐定制的游戏道具。由于基于预设的定制算法对第二类玩家推荐定制的游戏道具时,其是基于一定的可控规则进行,因此,对玩家整体(即第一类玩家和第二类玩家一起作为一个整体)而言,在进行游戏道具推荐时,既保持了一定的个性化,又兼顾了推荐方案的可控性。
[0054]
可选地,上述附图2示例的装置中,第一处理模块203可包括预处理单元、设置单元、第一数据流切割单元和第一后处理单元,其中:
[0055]
预处理单元,用于对游戏日志数据进行预处理,得到各个玩家的预处理游戏日志
数据;
[0056]
设置单元,用于设置与第一时间粒度对应的转化窗口;
[0057]
第一数据流切割单元,用于以与第一时间粒度对应的转化窗口对属于第一类玩家的目标玩家的预处理游戏日志数据进行数据流的切分;
[0058]
第一后处理单元,用于对切分后的数据流进行汇总,得到属于第一类玩家的目标玩家的游戏信息汇总结果作为第一处理结果。
[0059]
可选地,上述附图2示例的装置中,第一处理模块203可包括预处理单元、第二数据流切割单元和第二后处理单元,其中:
[0060]
预处理单元,用于对游戏日志数据进行预处理,得到各个玩家的预处理游戏日志数据;
[0061]
第二数据流切割单元,用于以与第二时间粒度对应的转化窗口对属于第一类玩家的目标玩家的预处理游戏日志数据进行数据流的切分;
[0062]
第二后处理单元,用于在第二时间粒度对应的转化窗口内,以第一时间粒度为最小单位对切分后的数据流持续汇总,得到属于第一类玩家的目标玩家的游戏信息汇总结果作为第一处理结果。
[0063]
可选地,上述附图2示例的装置中,第二处理模块204可包括预处理单元、第一抽取单元、切分单元和索引单元,其中:
[0064]
预处理单元,用于对游戏日志数据进行预处理,得到各个玩家的预处理游戏日志数据;
[0065]
第一抽取单元,用于抽取预处理游戏日志数据中属于第二类玩家的目标玩家的账号信息;
[0066]
切分单元,用于以账号信息对应的登录时间戳或退出时间戳为切分的起始点,对属于第二类玩家的目标玩家的预处理游戏日志数据进行第二时间粒度的切分;
[0067]
索引单元,用于以游戏id加登录时间戳或退出时间戳的方式对切分后的预处理游戏日志数据进行索引,以索引结果作为第二处理结果。
[0068]
可选地,上述附图2示例的装置中,第二处理模块204可包括预处理单元、第二抽取单元、写入单元和聚合单元,其中:
[0069]
预处理单元,用于对游戏日志数据进行预处理,得到各个玩家的预处理游戏日志数据;
[0070]
第二抽取单元,用于以第二时间粒度为最小单位,从预处理游戏日志数据抽取游戏登录、退出日志并保存为hive表;
[0071]
写入单元,用于将预处理游戏日志数据中属于第二类玩家的目标玩家的账号信息写入hive表;
[0072]
写入单元,用于对hive表中所有第二类玩家的账号信息进行聚合,以聚合结果作为第二处理结果。
[0073]
可选地,上述附图2示例的装置中,第一处理模块203可包括加载单元和输出单元,其中:
[0074]
加载单元,用于加载预设的个性化推荐算法对应的算法模型;
[0075]
输出单元,用于将第一处理结果作为算法模型的输入,将输入对应的输出作为推
荐的游戏道具。
[0076]
可选地,上述附图2示例的装置还可以包括高并发处理模块,用于当对玩家的预处理游戏日志数据进行处理时,采用高并发对抗策略。
[0077]
可选地,上述示例的预处理单元,用于剔除游戏日志数据中无用信息,并将剔除无用信息后的游戏日志数据处理为固定格式的数据,得到各个玩家的预处理游戏日志数据。
[0078]
从以上技术方案的描述中可以看出,通过对游戏中各个玩家所处名单进行区分,当玩家处于个性化推荐服务名单即玩家为第一类玩家时,基于个性化推荐算法对第一类玩家按照其个性推荐游戏道具,当玩家处于规则化服务名单即玩家为第二类玩家时,基于预设的定制算法对第二类玩家推荐定制的游戏道具。由于基于预设的定制算法对第二类玩家推荐定制的游戏道具时,其是基于一定的可控规则进行,因此,对玩家整体(即第一类玩家和第二类玩家一起作为一个整体)而言,在进行游戏道具推荐时,既保持了一定的个性化,又兼顾了推荐方案的可控性。
[0079]
图3是本技术一实施例提供的计算机设备的结构示意图。如图3所示,该实施例的计算机设备3主要包括:处理器30、存储器31以及存储在存储器31中并可在处理器30上运行的计算机程序32,例如游戏道具推荐方法的程序。处理器30执行计算机程序32时实现上述游戏道具推荐方法实施例中的步骤,例如图1所示的步骤s101至步骤s104。或者,处理器30执行计算机程序32时实现上述各装置实施例中各模块/单元的功能,例如图2所示获取模块201、确定模块202、第一处理模块203和第二处理模块204的功能。
[0080]
示例性地,游戏道具推荐方法的计算机程序32主要包括:获取各个玩家的游戏日志数据;确定各个玩家中处于个性化推荐服务名单的玩家作为第一类玩家,以及确定各个玩家中处于规则化推荐服务名单的玩家作为第二类玩家;以第一时间粒度对属于第一类玩家的目标玩家的游戏日志数据进行处理,得到第一处理结果,并根据第一处理结果以及预设的个性化推荐算法生成向属于第一类玩家的目标玩家推荐的游戏道具;以第二时间粒度对属于第二类玩家的所有目标玩家的游戏日志数据进行处理,得到第二处理结果,并根据第二处理结果以及预设的定制算法生成向属于第二类玩家的目标玩家推荐的游戏道具,其中,第二时间粒度大于第一时间粒度。计算机程序32可以被分割成一个或多个模块/单元,一个或者多个模块/单元被存储在存储器31中,并由处理器30执行,以完成本技术。一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序32在计算机设备3中的执行过程。例如,计算机程序32可以被分割成获取模块201、确定模块202、第一处理模块203和第二处理模块204(虚拟装置中的模块)的功能,各模块具体功能如下:获取模块201,用于获取各个玩家的游戏日志数据;确定模块202,用于确定各个玩家中处于个性化推荐服务名单的玩家作为第一类玩家,以及确定各个玩家中处于规则化推荐服务名单的玩家作为第二类玩家;第一处理模块203,用于以第一时间粒度对属于第一类玩家的目标玩家的游戏日志数据进行处理,得到第一处理结果,并根据第一处理结果以及预设的个性化推荐算法生成向属于第一类玩家的目标玩家推荐的游戏道具;第二处理模块204,用于以第二时间粒度对属于第二类玩家的所有目标玩家的游戏日志数据进行处理,得到第二处理结果,并根据第二处理结果以及预设的定制算法生成向属于第二类玩家的目标玩家推荐的游戏道具,其中,第二时间粒度大于第一时间粒度。
[0081]
计算机设备3可包括但不仅限于处理器30、存储器31。本领域技术人员可以理解,
图3仅仅是计算机设备3的示例,并不构成对计算机设备3的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如计算机设备还可以包括输入输出计算机设备、网络接入计算机设备、总线等。
[0082]
所称处理器30可以是中央处理单元(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field

programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0083]
存储器31可以是计算机设备3的内部存储单元,例如计算机设备3的硬盘或内存。存储器31也可以是计算机设备3的外部存储计算机设备,例如计算机设备3上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。进一步地,存储器31还可以既包括计算机设备3的内部存储单元也包括外部存储计算机设备。存储器31用于存储计算机程序以及计算机设备所需的其他程序和数据。存储器31还可以用于暂时地存储已经输出或者将要输出的数据。
[0084]
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即,将装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本技术的保护范围。上述装置中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0085]
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
[0086]
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
[0087]
在本技术所提供的实施例中,应该理解到,所揭露的装置/计算机设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/计算机设备实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
[0088]
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0089]
另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0090]
集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个非临时性计算机可读取存储介质中。基于这样的理解,本技术实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,游戏道具推荐方法的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤,即,获取各个玩家的游戏日志数据;确定各个玩家中处于个性化推荐服务名单的玩家作为第一类玩家,以及确定各个玩家中处于规则化推荐服务名单的玩家作为第二类玩家;以第一时间粒度对属于第一类玩家的目标玩家的游戏日志数据进行处理,得到第一处理结果,并根据第一处理结果以及预设的个性化推荐算法生成向属于第一类玩家的目标玩家推荐的游戏道具;以第二时间粒度对属于第二类玩家的所有目标玩家的游戏日志数据进行处理,得到第二处理结果,并根据第二处理结果以及预设的定制算法生成向属于第二类玩家的目标玩家推荐的游戏道具,其中,第二时间粒度大于第一时间粒度。其中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。非临时性计算机可读介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读内存(rom,read

only memory)、随机存取存储器(ram,random access memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,非临时性计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,非临时性计算机可读介质不包括电载波信号和电信信号。以上实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围,均应包含在本技术的保护范围之内。
[0091]
以上所述的具体实施方式,对本技术的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本技术的具体实施方式而已,并不用于限定本技术的保护范围,凡在本技术的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜