具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
首先,针对本申请实施例中涉及的名词进行简单介绍:
推荐内容:用户在使用终端中的应用程序时,应用程序对应的服务器会根据用户画像为用户推荐更能满足用户兴趣的内容。推荐内容包括多种形式的内容,如视频内容、图片内容、文字内容等,具体的实现方式包括广告。
闪屏广告:为终端中应用程序在开始时,以固定时长展示的广告内容,在广告内容展示完毕后,广告内容对应的界面会自动关闭,应用程序进入应用界面。闪屏广告以全屏和长达数秒的强曝光形态对用户展示,以强烈的视觉冲击力,在应用程序开启时瞬间捕捉用户注意力,以实现广告信息的充分曝光。
ADX(Advertisement Exchange)平台:互联网广告交易平台,它联系着DSP(Demand-Side Platform,需求方平台)和SSP(Sell-Side Platform,供应方平台),通过接入SSP汇集大量媒体流量,从而收集处理属于广告目标客户的数据,Ad Exchange是实现精准营销的交易场所。由于自有后端广告检索服务的广告主/代理商可自主接入ADX平台进行广告内容的投放,实现协议适配以及流量筛选,广告主/代理商可对自身投放的广告内容进行实时更新,广告资源的更新较为频繁。
直投引擎:与ADX平台不同,直投引擎为固定开发商提供的广告投放平台,不具备后端广告检索服务的广告主可将广告内容投放至上述直投引擎,由直投引擎完成检索服务,并提供给同一开发商提供的广告播放平台进行广告推送服务。相比于ADX平台提供的广告内容,直投引擎提供的广告内容对应的更新频率较低。
区块链(Blockchain):区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链,本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层。
区块链底层平台可以包括用户管理、基础服务、智能合约以及运营监控等处理模块。其中,用户管理模块负责所有区块链参与者的身份信息管理,包括维护公私钥生成(账户管理)、密钥管理以及用户真实身份和区块链地址对应关系维护(权限管理)等,并且在授权的情况下,监管和审计某些真实身份的交易情况,提供风险控制的规则配置(风控审计);基础服务模块部署在所有区块链节点设备上,用来验证业务请求的有效性,并对有效请求完成共识后记录到存储上,对于一个新的业务请求,基础服务先对接口适配解析和鉴权处理(接口适配),然后通过共识算法将业务信息加密(共识管理),在加密之后完整一致的传输至共享账本上(网络通信),并进行记录存储;智能合约模块负责合约的注册发行以及合约触发和合约执行,开发人员可以通过某种编程语言定义合约逻辑,发布到区块链上(合约注册),根据合约条款的逻辑,调用密钥或者其它的事件触发执行,完成合约逻辑,同时还提供对合约升级注销的功能;运营监控模块主要负责产品发布过程中的部署、配置的修改、合约设置、云适配以及产品运行中的实时状态的可视化输出,例如:告警、监控网络情况、监控节点设备健康状态等。
平台产品服务层提供典型应用的基本能力和实现框架,开发人员可以基于这些基本能力,叠加业务的特性,完成业务逻辑的区块链实现。应用服务层提供基于区块链方案的应用服务给业务参与方进行使用。
在本申请实施例中,其目标推荐内容资源的确定由终端完成,而后端广告引擎(包括直投引擎和ADX平台)不易确定发送至终端的推荐内容是否被曝光,因此,当终端确定了目标推荐内容资源后,可利用智能合约将目标推荐内容资源对应的资源标识、目标推荐内容资源的展示时间和终端标识共同写入至区块链中,以便于后端广告引擎从区块链中读取相关信息。即,通过区块链实现后端广告引擎与终端之间的资源互通,并且由终端将广告曝光和点击信息加入到区块链中不容易被其中某个平台篡改,数据更安全可靠。
结合上述名词简介,对本申请实施例的实施环境进行说明。
请参考图1,该实施环境中包括终端101、广告资源平台102、直投引擎103、ADX平台104。
终端101中安装并运行有目标应用,该目标应用开启时加载闪屏广告。终端101可以是智能手机、平板电脑、便携式电脑、台式电脑等。可选的,目标应用可以实现为应用软件或者网页。
广告资源平台102为目标应用展示广告的后台基础平台,广告资源平台102可以收集投放至目标应用的广告内容所对应的流量信息、用户信息等,提供广告定向投放服务。其中,广告资源平台102中还包括后端广告引擎,上述后端广告引擎用于提供投放至上述终端101中的目标应用进行展示的广告资源,在广告资源平台102将广告资源发送至终端101之前,广告资源平台102可对广告资源对应的点击率、转化率进行预估,并可对多个广告资源的点击率或转化率进行排序,以确定出发送至终端的广告资源。
上述后端广告引擎包括直投引擎103和ADX平台104。其中,直投引擎103对应的开发商与上述目标应用对应的开发商相同或具有关联关系。直接投放至上述广告资源平台102的广告资源会被存储至直投引擎103,由直投引擎103进行定向检索。ADX平台104为外部接入的广告资源平台。除直接投放至广告资源平台的广告外,还存在有通过代理商或广告主自设的后端检索服务接入的广告,此类广告统一接入ADX平台104进行协议适配以及流量筛选工作。ADX平台104还会提供有参与广告竞价的服务。
结合上述名词解释和实施环境,对本申请实施例的应用场景进行说明。
终端中安装并运行有目标应用,目标应用在被启动时加载闪屏广告,闪屏广告展示固定时长,在一个示例中,如图2所示,用户在终端界面200中选择开启目标应用201,终端显示目标应用201的第一显示界面210,第一显示界面210中显示有闪屏广告内容,当第一显示界面210显示固定时长(如5秒)后,显示目标应用201的第二显示界面220,第二显示界面220为目标应用提供应用功能的界面。示意性的,第一显示界面210可以是在固定时长后自动切换至第二显示界面220,也可以是由用户通过预设控件手动切换至第二显示界面220。
可选的,上述目标应用包括但不限于以下应用之一,如视频应用软件、新闻应用软件、游戏应用软件、社交应用软件、购物应用软件等。
在一些实施技术中,终端中的目标应用获取上述闪屏广告的广告资源包括两个阶段:预拉取阶段和实时拉取阶段。其中,预拉取阶段为目标应用在例如安装或第一次启动时,向广告资源平台发起资源预拉取请求,广告资源平台根据该资源预拉取请求从直投引擎和ADX平台获取候选广告列表及该列表对应的广告资源,将上述候选广告列表和广告资源返回至终端,终端对其进行存储。而实时拉取阶段为目标应用在被开启时,将上述候选广告列表发送至广告资源平台,广告资源平台确定列表中的广告资源是否为有效状态,并对当前有效的广告资源进行检索,返回确定的最优广告资源,由终端中的目标应用从存储器中获取该广告资源对应的广告内容,并对其进行展示。
以上述实施技术中的方法进行广告资源获取的过程中,由于ADX平台需要实现对广告列表的强制召回功能,该功能需要ADX平台及广告主和/或代理商进行对应的后台开发,其对应的开发消耗较大。且仅根据终端缓存的广告列表进行广告资源的选择,存在实时性较差且效率较低的问题。
而在本申请一些实施例中,终端根据广告资源展示请求,获取至少一个第一广告资源和至少一个第二广告资源,其中,第一广告资源为实时加载的广告资源,第二广告资源为预加载的广告资源,然后根据终端的设备状态,从上述第一广告资源和第二广告资源中确定出用于加载至目标应用的目标广告资源。终端根据当前的设备状态来确定使用预加载的广告资源或实时加载的广告资源,作为在目标应用上加载的广告资源,提高了加载的广告资源的实时性和加载效率。
在一些实施示例中,如图3所示,在预拉取阶段中:通过终端301向广告资源平台302发起预拉取请求,广告资源平台302在获取预拉取请求后,从直投引擎303中获取广告列表,并将该广告列表返回至终端301,终端301根据该广告列表从广告资源平台302逐个加载列表中的广告资源,并将广告资源存储至预设存储区。
在实时拉取阶段中:终端301根据本地存储的广告资源生成预加载完成列表,并将该预加载完成列表发送至广告资源平台302,由广告资源平台302将其发送至直投引擎303,由直投引擎303根据预加载完成列表确定最优广告资源,并通过直投引擎303返回至终端301,同时,广告资源平台302从ADX平台304获取最优广告资源,其中,ADX平台304向广告主305和代理商306获取广告资源,并返回至终端301,由终端301根据当前设备状态确定展示直投引擎303的最优广告资源(已预加载至终端301),或实时展示ADX平台304的最优广告资源。
请参考图4,其示出了本申请一个示例性实施例提供的推荐内容资源的获取方法,在本申请实施例中,以该方法应用于终端中进行说明,该方法包括:
步骤401,接收基于目标应用的推荐内容展示请求。
终端中安装有目标应用。目标应用包括但不限于以下应用之一,如视频应用软件、新闻应用软件、游戏应用软件、社交应用软件、购物应用软件等。该目标应用可以是一个应用软件,也可以是多个应用软件,其中,若该目标应用为多个不同的应用软件时,在不同的应用软件开启时,可以分别展示相同或者不同的推荐内容资源。示意性的,当该目标应用为多个不同的应用软件时,可将加载至第一应用软件的推荐内容资源通过共享资源池的方式共享给其他应用软件,实现多个应用之间的推荐内容资源互通。
在本申请实施例中,终端中存储有预加载推荐内容资源,示意性的,该预加载推荐内容资源为目标应用在安装过程中存储至终端的预设存储区的;或该预加载推荐内容资源为目标应用在第一次启动时存储至终端的预设存储区的;或该预加载推荐内容资源为终端在预设时间段内从推荐内容资源平台中获取的,并对预设存储区内已存储的预加载推荐内容资源进行更新;或该预加载推荐内容资源为终端检测到当前的终端网络连接状态对应为无线保真网络时,从推荐内容资源平台获取预加载推荐内容资源,并对预设存储区内已存储的预加载推荐内容资源进行更新。
该预加载推荐内容资源还对应有预加载资源列表,该预加载资源列表也是由推荐内容资源平台发送给终端,由终端存储于预设存储区的。示意性的,终端向推荐内容资源平台发送预加载请求,推荐内容资源平台基于预加载请求确定预加载推荐内容资源和预加载资源列表;接收推荐内容资源平台返回的预加载资源列表;基于预加载资源列表,从推荐内容资源平台获取预加载资源,并存储至终端的预设存储区。
可选的,预加载推荐内容资源的存储方式包括但不限于以下方式中的至少一种:一、按照预加载推荐内容资源的大小的先后顺序,将多个预加载推荐内容资源存储在上述预设存储区内;二、按照预加载推荐内容资源对应的推荐内容类型与目标应用的相关度的大小顺序,将多个预加载推荐内容资源存储在上述预设存储区内;三、按照预加载推荐内容资源对应的竞价高低,将多个预加载推荐内容资源存储在上述预设存储区内。
在本申请实施例中,该推荐内容展示请求在目标应用被启动时生成。即当用户开启目标应用时,目标应用生成推荐内容展示请求,终端处理器接收到该推荐内容展示请求后,对其进行处理。
步骤402,基于推荐内容展示请求,获取至少一个第一推荐内容资源和至少一个第二推荐内容资源。
在本申请实施例中,终端在接收到推荐内容展示请求后,从推荐内容资源平台获取至少一个第一推荐内容资源和至少一个第二推荐内容资源。其中,第一推荐内容资源为实时加载的推荐内容资源,若终端展示第一推荐内容资源,则终端从推荐内容资源平台实时获取第一推荐内容资源对应的推荐内容,并对其进行展示;第二推荐内容资源为预加载的推荐内容资源,若终端展示第二推荐内容资源,则终端从自身的预设存储区读取第二推荐内容资源对应的推荐内容,并对其进行展示。
示意性的,终端从推荐内容资源平台获取至少一个第一推荐内容资源的方法包括:基于推荐内容展示请求,向推荐内容资源平台发送资源获取请求,推荐内容资源平台在接收到资源获取请求后,向ADX平台发送后端资源获取请求,由ADX平台从接入的各个广告主和/或代理商的推荐内容库中获取到多个第一推荐内容资源,并返回至推荐内容资源平台,由推荐内容资源平台将从多个ADX平台中获取到的多个第一推荐内容资源进行根据预设规则进行排序,确定至少一个用于返回至终端的第一推荐内容资源,其中,该预设规则可以是根据推荐内容资源对应的点击率或转化率的大小,或是推荐内容资源对应的竞价高低,在此不进行限定。
示意性的,终端从推荐内容资源平台获取至少一个第二推荐内容资源的方法包括:基于推荐内容展示请求,向推荐内容资源平台发送预加载完成列表,预加载完成列表中包括已完成预加载的推荐内容资源,推荐内容资源平台从预加载完成列表中确定至少一个第二推荐内容资源,在一个示例中,预加载资源列表包括推荐内容资源A、推荐内容资源B、推荐内容资源C、推荐内容资源D,终端在接收到预加载资源列表后,按顺序对上述四个推荐内容资源进行下载并存储至预设存储区,当终端加载推荐内容资源C时,接收到了推荐内容展示请求,则对应的预加载完成列表中包括推荐内容资源A和推荐内容资源B,终端将预加载完成列表发送至推荐内容资源平台;或基于推荐内容展示请求,向推荐内容资源平台发送资源获取请求,该资源获取请求中包括终端标识,推荐内容资源平台根据终端标识确定在预加载阶段发送至终端的预加载资源列表,推荐内容资源平台根据预加载资源列表确定至少一个第二推荐内容资源,并返回至终端,由终端从上述至少一个第二推荐内容资源中确定已被预加载的推荐内容资源。
步骤403,根据终端当前的设备状态,从至少一个第一推荐内容资源和至少一个第二推荐内容资源中确定目标推荐内容资源。
在本申请实施例中,设备状态用于指示终端的运行情况,示意性的,该运行情况包括但不限于网络连接状态、后台内存占用情况等终端运行情况。
示意性的,以设备状态包括网络连接状态为例进行说明,当终端获取到至少一个第一推荐内容资源和至少一个第二推荐内容资源后,确定当前的网络连接状态,基于网络连接状态,从至少一个第一推荐内容资源和至少一个第二推荐内容资源中确定目标推荐内容资源。在一个示例中,响应于网络连接状态为第一网络状态时,从至少一个第一推荐内容资源中确定目标推荐内容资源;或,响应于网络连接状态为第二网络状态时,从至少一个第二推荐内容资源中确定目标推荐内容资源,相比于第二网络状态,该终端在第一网络状态下具有更快的网络传输速度,例如,响应于网络连接状态为连接至无线保真网络或5G网络的状态时,从至少一个第一推荐内容资源中确定目标推荐内容资源;或,响应于网络连接状态为连接至蜂窝网络(例如,2G,3G,4G等网络)的状态时,从至少一个第二推荐内容资源中确定目标推荐内容资源。
示意性的,以设备状态包括后台内存占用情况为例进行说明,当终端获取到至少一个第一推荐内容资源和至少一个第二推荐内容资源后,确定当前目标应用对应的后台内存占用情况,基于该后台内存占用情况,从至少一个第一推荐内容资源和至少一个第二推荐内容资源中确定目标推荐内容资源。示意性的,根据目标应用可使用的后台内存情况进行目标推荐内容资源的确定,即,响应于目标应用在后台内存中可占用的资源量达到预设阈值,从至少一个第一推荐内容资源中确定目标推荐内容资源;或,相应于目标应用在后台内存中可占用的资源量未达到预设阈值,从至少一个第二推荐内容资源中确定目标推荐内容资源。
在本申请实施例中,通过设备状态确定从推荐内容资源平台获取的推荐内容资源所对应的资源加载时长,即基于设备状态确定至少一个第一推荐内容资源和至少一个第二推荐内容资源各自对应的资源加载时长,将资源加载时长对应最短的待加载推荐内容资源确定为目标推荐内容资源。
示意性的,还可通过多种设备状态来确定目标推荐内容资源,在本申请实施例中,引入全链路耗时作为评价设备状态的指标,该指标能够实时指征当前终端的网络连接状态、终端硬件情况、后台内存占用情况,如:CPU(Central Processing Unit,中央处理器)/GPU(Graphics Processing Unit,图像处理器)负载等综合情况。终端根据全链路耗时来确定当前选中的目标推荐内容资源为第一推荐内容资源还是第二推荐内容资源。示意性的,全链路耗时包括两个部分。第一部分为终端自身的处理时延T1,即终端受自身网络连接状态、硬件情况、后台内存占用情况影响,进行诸如组件加载等操作时所存在的处理时延T1,其中,处理时延T1由终端统计目标应用从启动开始直至向推荐内容资源平台发送资源获取请求之前时刻截止;第二部分为解析时延T2,即推荐内容资源平台对终端的请求进行解析,并返回至少一个第一推荐内容资源和至少一个第二推荐内容资源所产生的解析时延T2,其中,解析时延T2由终端向推荐内容资源平台发送资源获取请求开始至终端接收到至少一个第一推荐内容资源和至少一个第二推荐内容资源时刻截止。处理时延T1+解析时延T2即上述全链路耗时。
当终端确定当前的全链路时延后,从推荐内容资源平台获取时延阈值(T),该时延阈值由***设定,或根据每日资源获取情况进行更新。在一个示例中,推荐内容资源平台可获取预设时段内所有终端,选择加载第一推荐内容资源时所对应的全链路时延(T1+T2),将上述获取的各个全链路时延(T1+T2)从小到大进行排序,取其预设分位(例如,80%分位)的值作为时延阈值(T),示意性的,推荐内容资源平台在将预设时段内确定的时延作为下一预设时段内的时延阈值(T)。
终端从推荐内容资源平台获取到时延阈值(T)后,将确定的当前全链路时延(T1+T2)与时延阈值(T)进行比较,若T1+T2<T,则将第一推荐内容资源作为目标推荐内容资源。
示意性的,还可通过综合全链路时延(T1+T2)和设备参数来共同确定目标推荐内容资源,上述设备参数包括终端硬件情况、网络连接状态、CPU/GPU负载、目标应用版本号等固定参数或动态参数中的至少一种。将上述全链路时延(T1+T2)和设备参数作为特征,通过预设模型来确定目标推荐内容资源。该预设模型可以是LR(Logistic Regression,逻辑回归)模型,也可以是其他机器学习模型,在此不进行限定。在开发阶段,从模型历史数据中获取了全链路时延(T1+T2)、设备参数以及第一推荐内容资源是否加载成功作为训练样本。上述预设模型为通过现有数据中的全链路时延(T1+T2)和设备参数作为特征,以第一推荐内容资源是否能够加载成功作为正负样本进行训练得到的,其中,全链路时延(T1+T2)这个特征在整个模型中占有较大的重要程度(约占70%左右)。在一个示例中,获取终端的全链路时延和设备参数;将上述全链路时延和设备参数输入至预设模型中,输出预测结果;响应于该预测结果指示终端当前状态可用于实时加载推荐内容资源,从至少一个第一推荐内容资源中确定目标内容资源;或,响应于该预测结果指示终端当前状态不可用于实时加载推荐内容资源,从至少一个第二推荐内容资源中确定目标内容资源。
步骤404,在目标应用上加载目标推荐内容资源。
响应于根据设备状态确定的目标推荐内容资源对应为第一推荐内容资源时,从推荐内容资源平台实时读取目标推荐内容资源对应的第一推荐内容,并将第一推荐内容加载至目标应用上;响应于根据设备状态确定的目标推荐内容资源对应为第二推荐内容资源时,从终端的预设存储区读取目标推荐内容资源对应的第二推荐内容,将第二推荐内容加载至目标应用上。
当终端确定目标推荐内容资源后,后端推荐内容引擎(包括直投引擎和ADX平台)需要确定发送的推荐内容是否被成功曝光,以方便对推荐内容的曝光信息进行统计。示意性的,终端根据确定目标推荐内容资源生成反馈信息,在一个示例中,该反馈信息包括资源标识、展示时间信息、终端标识。终端将上述反馈信息发送至推荐内容资源平台,推荐内容资源平台根据上述反馈信息向直投引擎和ADX平台分别返回本次推荐内容资源的投放结果。例如,终端从至少一个第一推荐内容资源中确定了目标推荐内容资源,终端生成对应的反馈信息并发送至推荐内容资源平台后,推荐内容资源平台通过反馈信息确定终端实时加载了推荐内容资源,故根据资源标识将投放成功信息发送至对应的ADX平台,其中,该投放成功信息中包括资源标识、终端标识和展示时间信息,推荐内容资源平台再将投放失败信息发送至直投引擎。
示意性的,还可以通过区块链实现将推荐内容的展示情况反馈至后端推荐内容引擎。终端根据确定目标推荐内容资源利用智能合约将目标推荐内容资源对应的资源标识、目标推荐内容资源的展示时间和终端标识等信息共同写入至区块链中,后端推荐内容引擎可通过对区块链中的信息进行读取,以确定发送至推荐内容资源以便于后端推荐内容引擎从区块链中读取相关信息,对推荐内容资源的曝光情况进行统计。
综上所述,本申请实施例提供的推荐内容资源的获取方法,根据基于目标应用的推荐内容展示请求,获取至少一个第一推荐内容资源和至少一个第二推荐内容资源,其中,第一推荐内容资源为实时加载的推荐内容资源,第二推荐内容资源为预加载的推荐内容资源,然后根据终端的设备状态,从上述第一推荐内容资源和第二推荐内容资源中确定出用于加载至目标应用的目标推荐内容资源。终端根据当前的设备状态来确定使用预加载的推荐内容资源或实时加载的推荐内容资源,作为在目标应用上加载的推荐内容资源,提高了加载的推荐内容资源的实时性和加载效率。
请参考图5,其示出了本申请另一个示例性实施例提供的推荐内容资源获取方法,在本申请实施例中,以该方法应用于推荐内容资源平台中进行说明,该方法包括:
步骤501,接收终端发送的资源获取请求。
在接收终端发送的资源获取请求之前,终端通过推荐内容资源平台对预加载推荐内容资源进行预加载操作,示意性的,该操作包括:推荐内容资源平台接收终端发送的预加载请求,基于预加载请求确定预加载推荐内容资源和预加载资源列表,将上述预加载资源列表发送至终端,终端根据该预加载资源列表进行推荐内容资源的依次加载,并将加载完成的预加载推荐内容资源和预加载资源列表存储至预设存储区。
示意性的,该资源获取请求中包括终端标识,推荐内容资源平台在确定预加载资源列表后,对终端标识和预加载资源列表进行对应存储,当接收到终端发送的资源获取请求时,根据资源获取请求中携带的终端标识读取预加载资源列表。
示意性的,推荐内容资源平台获取终端所对应的用户画像,根据用户画像确定返回至终端的预加载推荐内容资源。在一个示例中,根据终端中的搜索情况确定用户画像,例如,用户使用终端多次搜索“纸尿裤”,则将母婴用品相关的推荐内容资源作为预加载推荐内容资源,推荐内容资源平台通过直投引擎进行检索,得到至少一个预加载推荐内容资源,并生成对应的预加载资源列表,将上述预加载推荐内容资源和预加载资源列表返回至终端。
当终端检测到目标应用开启时,向推荐内容资源平台发送资源获取请求,以获取用于在目标应用上展示的闪屏广告资源。
步骤502,基于资源获取请求确定至少一个第一推荐内容资源和至少一个第二推荐内容资源。
第一推荐内容资源为实时加载的推荐内容资源,第二推荐内容资源为预加载的推荐内容资源。示意性的,推荐内容资源平台根据资源获取请求确定对应的预加载完成列表,从预加载完成列表中确定至少一个第二推荐内容资源,从推荐内容库中确定所至少一个第一推荐内容资源。示意性的,上述推荐内容库包括但不限于直投引擎和/或ADX平台。在本申请实施例中,以推荐内容库为ADX平台进行说明。推荐内容资源平台在接收到资源获取请求后,向ADX平台发送后端资源获取请求,由ADX平台从接入的各个广告主和/或代理商的推荐内容库中获取到多个第一推荐内容资源,并返回至推荐内容资源平台,由推荐内容资源平台将从多个ADX平台中获取到的多个第一推荐内容资源进行根据预设规则进行排序,确定至少一个用于返回至终端的第一推荐内容资源。
步骤503,将至少一个第一推荐内容资源和至少一个第二推荐内容资源发送至终端。
终端根据当前的设备状态,从至少一个第一推荐内容资源和至少一个第二推荐内容资源中确定目标推荐内容资源,设备状态用于指示所示终端的运行情况,终端在目标应用上加载所述目标推荐内容资源。
综上所述,本申请实施例提供的推荐内容资源的获取方法,推荐内容资源平台基于终端发送的资源获取请求,确定至少一个第一推荐内容资源和至少一个第二推荐内容资源,其中,第一推荐内容资源为实时加载的推荐内容资源,第二推荐内容资源为预加载的推荐内容资源,并将至少一个第一推荐内容资源和至少一个第二推荐内容资源返回至终端,由终端根据设备状态来确定目标推荐内容资源,并在目标应用上加载目标推荐内容资源,提高了加载的推荐内容资源的实时性和加载效率。
请参考图6,其示出了本申请实施例一个示例性实施例提供的推荐内容资源获取***,该***包括终端610、推荐内容资源平台620、直投引擎630和ADX平台640。本申请实施例提供的推荐内容资源获取方法包括预加载阶段与实时加载阶段,其中,预加载阶段包括:
步骤611,终端610向推荐内容资源平台620发送预加载请求。
步骤621,推荐内容资源平台620根据预加载请求向直投引擎630发送预获取请求。
示意性的,预加载请求中包括终端的终端信息,该终端信息用于指示终端用户的用户画像,在一个示例中,用户画像可根据终端中安装的应用类型、用户使用终端的输入记录、用户使用终端的搜索记录等信息确定,推荐内容资源平台基于终端信息确定对应的需求信息,根据该需求信息生成预获取请求。
步骤631,直投引擎630基于预获取请求确定预加载推荐内容资源和预加载资源列表。
示意性的,直投引擎可通过预获取请求确定终端的需求信息,并根据需求信息从直投引擎对应的推荐内容库中获取预设数量的预加载推荐内容资源,并对应生成预加载资源列表。
其中,该预设数量可由***设定,也可根据终端的内存状态确定,例如,直投引擎通过推荐内容资源平台获取终端的内存状态,响应于终端的内存状态对应的剩余内存空间达到预设百分比,获取第一预设数量的预加载推荐内容资源,或响应于终端的内存状态对应的剩余内存空间小于预设百分比,获取第二预设数量的预加载推荐内容资源,其中,第一预设数量大于第二预设数量。
步骤632,直投引擎630发送预加载推荐内容资源和预加载资源列表至推荐内容资源平台620。
步骤622,推荐内容资源平台620发送预加载资源列表至终端610。
步骤612,终端610从推荐内容资源平台620依次加载预加载资源列表中的预加载推荐内容资源至预设存储区中。
实时加载阶段包括:
步骤613,终端610接收基于目标应用的推荐内容展示请求。
步骤614,终端610基于推荐内容展示请求,向推荐内容资源平台620发送预加载完成列表。
步骤623,推荐内容资源平台620向ADX平台640发送资源确定请求。
示意性的,资源确定请求中包括终端610的终端信息,该终端信息用于指示终端用户的用户画像。
步骤641,ADX平台640基于资源确定请求,通过广告主和/或代理商从推荐内容库中确定出第一推荐内容资源。
ADX平台640根据终端信息,从广告主和/或代理商的推荐内容库中获取第一推荐内容资源,示意性的,ADX平台640将从广告主和/或代理商的推荐内容库中获取到的推荐内容资源根据终端信息确定推荐内容资源对应的eCPM(effective Cost Per Mile,每千次展示推荐内容收入),并根据各个推荐内容资源对应的eCPM进行排序,获取至少一个第一推荐内容资源。在一个示例中,为防止多阶计费的问题,一个ADX平台640确定一个第一推荐内容资源。
步骤642,ADX平台640返回确定出的第一推荐内容资源至推荐内容资源平台620。
步骤624,推荐内容资源平台620将从至少一个ADX平台640获取到的第一推荐内容资源进行排序,确定出至少一个用于返回终端610的第一推荐内容资源。
推荐内容资源平台620接入有至少一个ADX平台640,当推荐内容资源平台620接入有多个ADX平台640时,将从各个ADX平台640获取的第一推荐内容资源根据预设规则进行排序,确定出至少一个用于返回终端610的第一推荐内容资源,该预设规则可通过第一推荐内容资源对应的点击率、转化率等确定。示意性的,推荐内容资源平台620通过确定各个第一推荐内容资源的eCPM来对其进行排序,将位于排序队列的队列前端的至少一个第一推荐内容资源返回至终端610。
步骤625,推荐内容资源平台620发送接收到的预加载完成列表至直投引擎630。
步骤633,直投引擎630从预加载完成列表中确定出至少一个第二推荐内容资源。
示意性的,直投引擎630根据预加载完成列表确定终端已完成预加载的预加载的推荐内容资源,并确定上述推荐内容资源是否有效。从确定有效的推荐内容资源中,根据推荐内容资源对应的点击率和/或转化率确定至少一个第二推荐内容资源。
步骤634,直投引擎630返回至少一个第二推荐内容资源至推荐内容资源平台620。
其中,步骤623至步骤624与步骤625至步骤634可同时进行。
步骤626,推荐内容资源平台620返回至少一个第一推荐内容资源和至少一个第二推荐内容资源至终端610。
步骤615,终端610根据设备状态,从至少一个第一推荐内容资源和至少一个第二推荐内容资源中确定目标推荐内容资源。
示意性的,设备状态包括网络连接状态、后台内存占用情况、终端硬件情况等终端相关情况。在本申请实施例中,通过综合确定上述多种设备状态来确定目标推荐内容资源,即通过全链路耗时作为评价设备状态的指标。响应于确定当前全链路时延小于时延阈值时,从至少一个第一推荐内容资源中确定目标推荐内容资源;响应于当前全链路时延达到时延阈值时,从至少一个第二推荐内容资源中确定目标推荐内容资源。当第一推荐内容资源/第二推荐内容资源的数量大于1时,根据推荐内容资源对应的加载时长,从至少一个第一推荐内容资源/至少一个第二推荐内容资源中确定目标推荐内容资源,在一个示例中,当确定从两个及两个以上第一推荐内容资源中确定目标推荐内容资源时,确定各个第一推荐内容资源对应的加载时长,选择对应加载时长最短的第一推荐内容资源作为目标推荐内容资源。
步骤616,终端610在目标应用上加载目标推荐内容资源。
综上所述,本申请实施例提供的推荐内容资源的获取***,根据基于目标应用的推荐内容展示请求,获取至少一个第一推荐内容资源和至少一个第二推荐内容资源,其中,第一推荐内容资源为实时加载的推荐内容资源,第二推荐内容资源为预加载的推荐内容资源,然后根据终端的设备状态,从上述第一推荐内容资源和第二推荐内容资源中确定出用于加载至目标应用的目标推荐内容资源。终端根据当前的设备状态来确定使用预加载的推荐内容资源或实时加载的推荐内容资源,作为在目标应用上加载的推荐内容资源,提高了加载的推荐内容资源的实时性和加载效率。
请参考图7,其示出了本申请一个示例性实施例提供的推荐内容资源获取装置的结构框图,该装置包括:
第一接收模块710,用于接收基于目标应用的推荐内容展示请求;
第一获取模块720,用于基于所述推荐内容展示请求,获取至少一个第一推荐内容资源和至少一个第二推荐内容资源,所述第一推荐内容资源为实时加载的推荐内容资源,所述第二推荐内容资源为预加载的推荐内容资源;
第一确定模块730,用于根据所述终端当前的设备状态,从所述至少一个第一推荐内容资源和所述至少一个第二推荐内容资源中确定目标推荐内容资源,所述设备状态用于指示所述终端的运行情况;
第一加载模块740,用于在所述目标应用上加载所述目标推荐内容资源。
在一个可选的实施例中,所述设备状态包括网络连接状态;
所述第一确定模块730,还用于确定所述终端当前的网络连接状态;
所述第一确定模块730,还用于基于所述网络连接状态,从所述至少一个第一推荐内容资源和所述至少一个第二推荐内容资源中确定所述目标推荐内容资源。
在一个可选的实施例中,所述第一确定模块730,还用于响应于所述网络连接状态为连接至无线保真网络状态时,从所述至少一个第一推荐内容资源中确定所述目标推荐内容资源。
在一个可选的实施例中,所述装置还包括:
第一读取模块(图中未示出),用于从推荐内容资源平台实时读取所述目标推荐内容资源对应的第一推荐内容;
所述第一加载模块740,还用于将所述第一推荐内容加载至所述目标应用上。
在一个可选的实施例中,所述第一确定模块730,还用于响应于所述网络连接状态为连接至蜂窝网络状态时,从所述至少一个第二推荐内容资源中确定所述目标推荐内容资源。
所述第一读取模块,还用于从所述终端的预设存储区读取所述目标推荐内容资源对应的第二推荐内容;
所述第一加载模块740,还用于将所述第二推荐内容加载至所述目标应用上。
在一个可选的实施例中,所述第一接收模块710,还用于接收所述推荐内容资源平台返回的预加载资源列表;
所述装置还包括:
第一存储模块(图中未示出),用于基于所述预加载资源列表,从所述推荐内容资源平台获取预加载资源,并存储至所述终端的预设存储区。
在一个可选的实施例中,所述装置还包括:
第一发送模块(图中未示出),用于基于所述推荐内容展示请求,向推荐内容资源平台发送预加载完成列表,所述预加载完成列表中包括已完成预加载的推荐内容资源,所述推荐内容资源平台用于从所述预加载完成列表中确定所述至少一个第二推荐内容资源。
在一个可选的实施例中,所述第一确定模块730,还用于基于所述设备状态确定至少一个第一推荐内容资源和所述至少一个第二推荐内容资源各自对应的资源加载时长;
所述第一确定模块730,还用于将所述资源加载时长对应最短的待加载推荐内容资源确定为所述目标推荐内容资源。
综上所述,本申请实施例提供的推荐内容资源的获取装置,根据基于目标应用的推荐内容展示请求,获取至少一个第一推荐内容资源和至少一个第二推荐内容资源,其中,第一推荐内容资源为实时加载的推荐内容资源,第二推荐内容资源为预加载的推荐内容资源,然后根据终端的设备状态,从上述第一推荐内容资源和第二推荐内容资源中确定出用于加载至目标应用的目标推荐内容资源。终端根据当前的设备状态来确定使用预加载的推荐内容资源或实时加载的推荐内容资源,作为在目标应用上加载的推荐内容资源,提高了加载的推荐内容资源的实时性和加载效率。
请参考图8,其示出了本申请另一个示例性实施例提供的推荐内容资源获取装置的结构框图,该装置包括:
第二接收模块810,用于接收终端发送的资源获取请求;
第二获取模块820,用于基于所述资源获取请求确定至少一个第一推荐内容资源和至少一个第二推荐内容资源,所述第一推荐内容资源为实时加载的推荐内容资源,所述第二推荐内容资源为预加载的推荐内容资源;
第二发送模块830,用于将所述至少一个第一推荐内容资源和所述至少一个第二推荐内容资源发送至所述终端,所述终端用于根据当前的设备状态,从所述至少一个第一推荐内容资源和所述至少一个第二推荐内容资源中确定目标推荐内容资源,所述设备状态用于指示所述终端的运行情况,所述终端用于在目标应用上加载所述目标推荐内容资源。
在一个可选的实施例中,所述第二接收模块810,还用于接收所述终端发送的预加载请求;
所述装置还包括:
第二确定模块(图中未示出),用于基于所述预加载请求确定预加载推荐内容资源和预加载资源列表;
所述第二发送模块830,还用于将所述预加载资源列表发送至所述终端,所述终端用于基于所述预加载资源列表,从所述推荐内容资源平台获取预加载资源,并存储至所述终端的预设存储区。
在一个可选的实施例中,所述第二确定模块,还用于根据所述资源获取请求确定对应的预加载完成列表,所述预加载完成列表中包括所述终端已完成预加载的推荐内容资源;
所述第二确定模块,还用于从所述预加载完成列表中确定所述至少一个第二推荐内容资源;
所述第二确定模块,还用于从推荐内容库中确定所述至少一个第一推荐内容资源。
综上所述,本申请实施例提供的推荐内容资源的获取装置,推荐内容资源平台基于终端发送的资源获取请求,确定至少一个第一推荐内容资源和至少一个第二推荐内容资源,其中,第一推荐内容资源为实时加载的推荐内容资源,第二推荐内容资源为预加载的推荐内容资源,并将至少一个第一推荐内容资源和至少一个第二推荐内容资源返回至终端,由终端根据设备状态来确定目标推荐内容资源,并在目标应用上加载目标推荐内容资源,提高了加载的推荐内容资源的实时性和加载效率。
需要说明的是:上述实施例提供的推荐内容资源的获取装置,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的推荐内容资源的获取装置与推荐内容资源的获取方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图9示出了本申请一个示例性实施例提供的终端900的结构框图。该终端900可以是:智能手机、平板电脑、MP3播放器(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts Group Audio LayerIV,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。终端900还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
通常,终端900包括有:处理器901和存储器902。
处理器901可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器901可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器901也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU;协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器901可以在集成有GPU,GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器901还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器902可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器902还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器902中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器901所执行以实现本申请中方法实施例提供的推荐内容资源的获取方法。
在一些实施例中,终端900还可选包括有:***设备接口903和至少一个***设备。处理器901、存储器902和***设备接口903之间可以通过总线或信号线相连。各个***设备可以通过总线、信号线或电路板与***设备接口903相连。具体地,***设备包括:射频电路904、显示屏905、摄像头组件906、音频电路907、定位组件908和电源909中的至少一种。
***设备接口903可被用于将I/O(Input/Output,输入/输出)相关的至少一个***设备连接到处理器901和存储器902。在一些实施例中,处理器901、存储器902和***设备接口903被集成在同一芯片或电路板上;在一些其他实施例中,处理器901、存储器902和***设备接口903中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路904用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路904通过电磁信号与通信网络以及其他通信设备进行通信。射频电路904将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路904包括:天线***、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路904可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:万维网、城域网、内联网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路904还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏905用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏905是触摸显示屏时,显示屏905还具有采集在显示屏905的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器901进行处理。此时,显示屏905还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏905可以为一个,设置终端900的前面板;在另一些实施例中,显示屏905可以为至少两个,分别设置在终端900的不同表面或呈折叠设计;在再一些实施例中,显示屏905可以是柔性显示屏,设置在终端900的弯曲表面上或折叠面上。甚至,显示屏905还可以设置成非矩形的不规则图形,也即异形屏。显示屏905可以采用LCD(LiquidCrystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件906用于采集图像或视频。可选地,摄像头组件906包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件906还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路907可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器901进行处理,或者输入至射频电路904以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端900的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器901或射频电路904的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路907还可以包括耳机插孔。
定位组件908用于定位终端900的当前地理位置,以实现导航或LBS(LocationBased Service,基于位置的服务)。定位组件908可以是基于美国的GPS(GlobalPositioning System,全球定位***)、中国的北斗***或俄罗斯的伽利略***的定位组件。
电源909用于为终端900中的各个组件进行供电。电源909可以是交流电、直流电、一次性电池或可充电电池。当电源909包括可充电电池时,该可充电电池可以是有线充电电池或无线充电电池。有线充电电池是通过有线线路充电的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。
在一些实施例中,终端900还包括有一个或多个传感器910。该一个或多个传感器910包括但不限于:加速度传感器911、陀螺仪传感器912、压力传感器913、指纹传感器914、光学传感器915以及接近传感器916。
加速度传感器911可以检测以终端900建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器911可以用于检测重力加速度在三个坐标轴上的分量。处理器901可以根据加速度传感器911采集的重力加速度信号,控制触摸显示屏905以横向视图或纵向视图进行用户界面的显示。加速度传感器911还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器912可以检测终端900的机体方向及转动角度,陀螺仪传感器912可以与加速度传感器911协同采集用户对终端900的3D动作。处理器901根据陀螺仪传感器912采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器913可以设置在终端900的侧边框和/或触摸显示屏905的下层。当压力传感器913设置在终端900的侧边框时,可以检测用户对终端900的握持信号,由处理器901根据压力传感器913采集的握持信号进行左右手识别或快捷操作。当压力传感器913设置在触摸显示屏905的下层时,由处理器901根据用户对触摸显示屏905的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
指纹传感器914用于采集用户的指纹,由处理器901根据指纹传感器914采集到的指纹识别用户的身份,或者,由指纹传感器914根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器901授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器914可以被设置终端900的正面、背面或侧面。当终端900上设置有物理按键或厂商Logo时,指纹传感器914可以与物理按键或厂商Logo集成在一起。
光学传感器915用于采集环境光强度。在一个实施例中,处理器901可以根据光学传感器915采集的环境光强度,控制触摸显示屏905的显示亮度。具体地,当环境光强度较高时,调高触摸显示屏905的显示亮度;当环境光强度较低时,调低触摸显示屏905的显示亮度。在另一个实施例中,处理器901还可以根据光学传感器915采集的环境光强度,动态调整摄像头组件906的拍摄参数。
接近传感器916,也称距离传感器,通常设置在终端900的前面板。接近传感器916用于采集用户与终端900的正面之间的距离。在一个实施例中,当接近传感器916检测到用户与终端900的正面之间的距离逐渐变小时,由处理器901控制触摸显示屏905从亮屏状态切换为息屏状态;当接近传感器916检测到用户与终端900的正面之间的距离逐渐变大时,由处理器901控制触摸显示屏905从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图9中示出的结构并不构成对终端900的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,该计算机可读存储介质可以是上述实施例中的存储器中所包含的计算机可读存储介质;也可以是单独存在,未装配入终端中的计算机可读存储介质。该计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现上述实施例中任一所述的推荐内容资源的获取方法。
可选地,该计算机可读存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、固态硬盘(SSD,Solid State Drives)或光盘等。其中,随机存取记忆体可以包括电阻式随机存取记忆体(ReRAM,Resistance RandomAccess Memory)和动态随机存取存储器(DRAM,Dynamic Random Access Memory)。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。