信息推送方法、装置、电子设备及存储介质
文献发布时间:2024-04-18 20:00:50
技术领域
本申请涉及大数据领域,具体而言,本申请涉及一种信息推送方法、装置、电子设备及存储介质。
背景技术
随着移动互联网的高速发展,人们经常通过移动设备上的应用程序进行信息浏览。而为了提升对象的体验,使对象能实时接收最新的热点新闻或与应用程序相关的更新资讯等信息,应用程序往往可以通过横幅的形式向对象进行信息推送(如新闻、视频更新等信息)。
现有技术的方案中,通常同时采用两种不同独立的推送方式,第一种方式是由应用程序的开发者选取需要进行推送的信息,然后将该信息下发给各个对象的移动设备终端。第二种方式是由应用程序的服务器端定时根据每个对象各自的兴趣爱好分别获取每一对象可能感兴趣的推送信息,并将各对象可能感兴趣的推送信息分别下发给对应对象的移动设备终端。采用目前现有技术的方案,可能导致有时最终推送给目标对象的推送信息与目标对象的匹配度较低。
发明内容
本申请的目的旨在至少能解决上述的技术缺陷之一,本申请实施例所提供的技术方案如下:
第一方面,本申请实施例提供了一种信息推送方法,包括:
当接收到推送终端针对目标对象发送的第一推送信息时,获取目标对象的标识信息,并根据标识信息获取目标对象的对象属性信息和目标对象对应的信息推送池;
从当前时刻信息推送池中获取至少一条第二推送信息;
基于目标对象的对象属性信息从第一推送信息和各第二推送信息中筛选出与目标对象相匹配第三推送信息;
将第三推送信息作为目标推送信息,将目标推送信息推送给目标对象;
其中,信息推送池中的第二推送信息是基于如下方式进行更新的:
按照第一预设周期,基于已推送至目标对象的历史推送信息的推送信息类型和目标对象的对象属性信息从预设数据库中获取至少一条第四推送信息;
将各第四推送信息作为第二推送信息添加至信息推送池中。
在本申请的一种可选实施例中,当检测到自动推送触发条件时,该方法还具体包括:
基于目标对象的对象属性信息从各第二推送信息中筛选出与目标对象相匹配第五推送信息;
将第五推送信息作为目标推送信息,并将目标推送信息推送给目标对象。
在本申请的一种可选实施例中,自动推送触发条件是基于如下至少一种方式触发的,具体包括:
当检测到目标对象开启目标应用程序的操作;
目标对象使用目标应用程序达到预设时长时;
每经过一个第二预设周期时。
在本申请的一种可选实施例中,该方法还具体包括:
若目标推送信息来源于信息推送池,则将目标推送信息从信息推送池中删除;
将目标推送信息添加至信息推送池黑名单中;
将各第四推送信息作为第二推送信息添加至信息推送池中,具体包括:
对于每一第四推送信息,若第四推送信息不在信息推送池黑名单中,则将第四推送信息作为第二推送信息添加至信息推送池中。
在本申请的一种可选实施例中,信息推送池中每一第二推送信息对应有各自的推送时段;
从当前时刻信息推送池中获取至少一条第二推送信息,具体包括:
确定当前时刻所属的时间段;
从信息推送池中确定至少一条推送时段符合时间段的第二推送信息。
在本申请的一种可选实施例中,将目标推送信息推送给目标对象,具体包括:
获取处于当前时刻之前且距离当前时刻最近的推送信息发送时刻,并获取推送信息发送时刻与当前时刻的时间间隔;
若时间间隔不小于预设时间间隔,则将目标推送信息推送给目标对象。
在本申请的一种可选实施例中,该方法还具体包括:
若当前时刻处于预设敏感时段内,当接收到第一推送信息时,将第一推送信息作为目标推送信息,并将目标推送信息推送给目标对象。
在本申请的一种可选实施例中,该方法还具体包括:
当信息推送池中已存储的推送信息的占用空间大小与信息推送池的总存储空间大小的比例大于预设占比时,从推送信息中确定出待删除的推送信息;
将各待删除的推送信息从信息推送池中删除,直至比例不大于预设占比。
在本申请的一种可选实施例中,从推送信息中确定出待删除的推送信息,包括如下至少一种:
获取各第二推送信息的存储时刻,并将存储时刻最早的第二推送信息作为待删除的推送信息;
获取各第二推送信息关于目标对象的关联度,并将关联度最低的第二推送信息作为待删除的推送信息。
第二方面,本申请实施例提供了一种信息推送装置,包括:
信息推送池获取模块,用于当接收到推送终端针对目标对象发送的第一推送信息时,获取目标对象的标识信息,并根据标识信息获取目标对象的对象属性信息和目标对象对应的信息推送池;
推送信息获取模块,用于从当前时刻信息推送池中获取至少一条第二推送信息;
推送信息筛选模块,用于基于目标对象的对象属性信息从第一推送信息和各第二推送信息中筛选出与目标对象相匹配第三推送信息;
推送信息推送模块,用于将第三推送信息作为目标推送信息,将目标推送信息推送给目标对象;
推送信息匹配模块,用于按照第一预设周期,基于已推送至目标对象的历史推送信息的推送信息类型和目标对象的对象属性信息从预设数据库中获取至少一条第四推送信息;
推送信息添加模块,用于将各第四推送信息作为第二推送信息添加至信息推送池中。
在本申请的一种可选实施例中,当检测到自动推送触发条件时,推送信息推送模块还可以用于:
基于目标对象的对象属性信息从各第二推送信息中筛选出与目标对象相匹配第五推送信息;
将第五推送信息作为目标推送信息,并将目标推送信息推送给目标对象。
在本申请的一种可选实施例中,自动推送触发条件是基于如下至少一种方式触发的,包括:
当检测到目标对象开启目标应用程序的操作;
目标对象使用目标应用程序达到预设时长时;
每经过一个第二预设周期时。
在本申请的一种可选实施例中,该装置还包括推送信息删除模块,具体用于:
若目标推送信息来源于信息推送池,则将目标推送信息从信息推送池中删除;
将目标推送信息添加至信息推送池黑名单中;
推送信息添加模块具体用于:
对于每一第四推送信息,若第四推送信息不在信息推送池黑名单中,则将第四推送信息作为第二推送信息添加至信息推送池中。
在本申请的一种可选实施例中,信息推送池中每一第二推送信息对应有各自的推送时段;
推送信息获取模块具体用于:
确定当前时刻所属的时间段;
从信息推送池中确定至少一条推送时段符合时间段的第二推送信息。
在本申请的一种可选实施例中,推送信息推送模块具体用于:
获取处于当前时刻之前且距离当前时刻最近的推送信息发送时刻,并获取推送信息发送时刻与当前时刻的时间间隔;
若时间间隔不小于预设时间间隔,则将目标推送信息推送给目标对象。
在本申请的一种可选实施例中,推送信息推送模块还可以用于:
若当前时刻处于预设敏感时段内,当接收到第一推送信息时,将第一推送信息作为目标推送信息,并将目标推送信息推送给目标对象。
在本申请的一种可选实施例中,该装置还包括推送信息清理模块,具体用于:
当信息推送池中已存储的推送信息的占用空间大小与信息推送池的总存储空间大小的比例大于预设占比时,从推送信息中确定出待删除的推送信息;
将各待删除的推送信息从信息推送池中删除,直至比例不大于预设占比。
在本申请的一种可选实施例中,推送信息清理模块进一步用于包括如下至少一种:
获取各第二推送信息的存储时刻,并将存储时刻最早的第二推送信息作为待删除的推送信息;
获取各第二推送信息关于目标对象的关联度,并将关联度最低的第二推送信息作为待删除的推送信息。
第三方面,本申请实施例提供了一种电子设备,包括存储器、处理器及存储在存储器上的计算机程序;
处理器执行计算机程序以实现第一方面实施例或第一方面任一可选实施例中所提供的方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现第一方面实施例或第一方面任一可选实施例中所提供的方法。
第五方面,本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行时实现第一方面实施例或第一方面任一可选实施例中所提供的方法。
本申请实施例提供的技术方案带来的有益效果是:
一方面,本申请提供的方案通过为每一对象设置各自的信息推送池,并在每次向对象推送信息前对推送终端发送的第一推送信息和信息推送池中的各第二推送信息进行筛选,提高了最终推送给目标对象的目标推送信息与目标对象之间的匹配度,提升了目标对象的使用体验。
另一方面,根据目标对象的历史推送信息类型不断向信息推送池添加类型相同的推送信息以保持更新,使得信息推送池中的推送信息始终与目标对象需求相近且具有较高的时效性,进一步优化了目标对象的体验,使目标对象不易流失。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍。
图1为本申请实施例的一个示例中提供的信息推送方法的应用环境示意图;
图2为本申请实施例提供的一种信息推送方法的流程示意图;
图3为本申请实施例提供的一种信息推送池更新方法的流程示意图;
图4为本申请实施例的一个示例中对各推送信息进行筛选的流程示意图;
图5为本申请实施例的一个示例中对信息推送池进行更新的流程示意图;
图6为本申请实施例的一个示例中信息推送全过程的流程示意图;
图7为本申请实施例提供的一种信息推送装置的结构框图;
图8为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面结合本申请中的附图描述本申请的实施例。应理解,下面结合附图所阐述的实施方式,是用于解释本申请实施例的技术方案的示例性描述,对本申请实施例的技术方案不构成限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请实施例所使用的术语“包括”以及“包含”是指相应特征可以实现为所呈现的特征、信息、数据、步骤、操作、元件和/或组件,但不排除实现为本技术领域所支持其他特征、信息、数据、步骤、操作、元件、组件和/或它们的组合等。应该理解,当我们称一个元件被“连接”或“耦接”到另一元件时,该一个元件可以直接连接或耦接到另一元件,也可以指该一个元件和另一元件通过中间元件建立连接关系。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的术语“和/或”指示该术语所限定的项目中的至少一个,例如“A和/或B”可以实现为“A”,或者实现为“B”,或者实现为“A和B”。在描述多个(两个或两个以上)项目时,如果没有明确限定多个项目之间的关系,这多个项目之间可以是指多个项目中的一个、多个或者全部,例如,对于“参数A包括A1、A2、A3”的描述,可以实现为参数A包括A1或A2或A3,还可以实现为参数A包括参数A1、A2、A3这三项中的至少两项。
本申请的信息推送方法可以基于大数据(Big data)来实现。
大数据是指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。随着云时代的来临,大数据也吸引了越来越多的关注,大数据需要特殊的技术,以有效地处理大量的容忍经过时间内的数据。适用于大数据的技术,包括大规模并行处理数据库、数据挖掘、分布式文件系统、分布式数据库、云计算平台、互联网和可扩展的存储系统。
本申请的实施例中确定与目标对象匹配的第三推送信息可以基于人工智能来实现。
人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习、自动驾驶、智慧交通等几大方向。
机器学习(Machine Learning,ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。
在本申请的具体实施方式中,涉及到对象使用应用程序过程中所涉及数据等任何与对象相关的数据,当本申请实施例运用到具体产品或技术中时,需要获得对象许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。也就是说,本申请实施例中如果涉及到上述任何与对象相关的数据,这些数据需要经由对象授权同意、且符合国家和地区的相关法律法规和标准的情况下获取的。
下面通过对几个可选的实施例的描述,对本申请提供的技术方案以及本申请的技术方案产生的技术效果进行说明。需要指出的是,下述实施方式之间可以相互参考、借鉴或结合,对于不同实施方式中相同的术语、相似的特征以及相似的实施步骤等,不再重复描述。
图1为本申请实施例提供的信息推送方法的应用环境示意图。其中,应用环境可以包括推送终端101、服务器102和对象终端103。
如图1所示,在需要向目标对象进行信息推送时,推送终端101将针对目标对象的第一推送信息发送给服务器102,服务器102在接收到第一推送信息后,将从目标对象对应的信息推送池中获取至少一条第二推送信息,然后从第一推送信息和各第二推送信息之中进行筛选,得到目标推送信息。服务器102再将目标推送信息推送至目标对象的终端103。
本技术领域技术人员可以理解,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(ContentDeliveryNetwork,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器或服务器集群。终端可以是智能手机(如Android手机、iOS手机等)、平板电脑、笔记本电脑、数字广播接收器、MID(MobileInternetDevices,移动互联网设备)、PDA(个人数字助理)、台式计算机、智能家电、车载终端(例如车载导航终端、车载电脑等)、智能音箱、智能手表等,终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,但并不局限于此。本发明实施例可应用于各种场景,包括但不限于云技术、人工智能、智慧交通、辅助驾驶等。具体也可基于实际应用场景需求确定,在此不作限定。
推送终端可以属于服务器的一部分,用于向目标对象的终端进行推送信息的推送,目标对象的终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能语音交互设备(例如智能音箱)、可穿戴电子设备(例如智能手表)、车载终端、智能家电(例如智能电视)、AR(Augmented Reality,增强现实)/VR(Virtual Reality,虚拟显示)设备等,但并不局限于此。推送终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
图2为本申请实施例提供一种信息推送方法的流程示意图,该方法的执行主体可以是服务器,如图2所示,该方法可以包括:
步骤S201,当接收到推送终端针对目标对象发送的第一推送信息时,获取目标对象的标识信息,并根据标识信息获取目标对象的对象属性信息和目标对象对应的信息推送池。
其中,目标对象即需要进行信息推送的对象,目标对象通过其终端接收服务器推送的推送信息。第一推送信息可以由推送终端从推送信息素材库或预设数据库中自由选取,示例性的,第一推送信息可以是关于多媒体视频的更新信息、当前热点新闻等等。
其中,标识信息可以是目标对象的ID(Identity document,身份标识号码),如目标对象的账户、昵称、姓名等等。对象属性信息可以是目标对象的个人信息,例如年龄、兴趣爱好等等,也可以是根据目标对象在应用程序的历史浏览记录分析得到的目标对象偏好信息,此处不做限定。
其中,信息推送池可以用于存储目标对象感兴趣的推送信息,每一目标对象都对应有属于自己的唯一信息推送池(即一对一),在本申请实施例中,信息推送池也可以称为精选池。
需要说明的是,信息推送池可以通过键值对来表示,具体来说,key(键值对中的键)可以为对象的ID,value(键值对中的键对应的值)可以为推送信息列表。
具体地,当推送终端需要主动向目标对象进行信息推送时,先根据需要推送的第一推送信息的ID从推送信息素材库或预设数据库中获取对应的第一推送信息,然后将第一推送信息发送给服务器端。服务器端接收到第一推送信息后,获取目标对象的ID,并根据目标对象的ID确定出该目标对象对应的信息推送池。
可选的,在本申请提供的实施例中,也可以获取包含有多个目标对象ID的对象包,然后通过读取对象包获取每个目标对象的ID,可以实现一次性向多个目标对象进行信息推送。
步骤S202,从当前时刻信息推送池中获取至少一条第二推送信息。
其中,第二推送信息可以是目标对象感兴趣的推送信息,由服务器根据目标对象的对象属性信息从推送信息素材库或预设数据库中筛选出后存储在该目标对象对应的信息推送池中。
具体地,当确定出目标对象对应的信息推送池后,从当前时刻该信息推送池中获取出一条或多条第二推送信息。
步骤S203,基于目标对象的对象属性信息从第一推送信息和各第二推送信息中筛选出与目标对象相匹配第三推送信息。
其中,第三推送信息可以是在第一推送信息和所有第二推送信息中筛选出的对于目标对象来说最可能感兴趣的推送信息。
具体地,根据目标对象的对象属性信息(如年龄、浏览记录等),服务器可以分析出目标对象对每一条推送信息可能感兴趣的程度,具体来说,可以将每一推送信息输入到预设决策推荐模型中,预设决策推荐模型将分析出每一推送信息的推送信息类型,并将分析出的推送信息类型与目标对象感兴趣的推送信息类型进行比对(目标对象感兴趣的推送信息类型可以视作标签),并根据比对结果分析出每一推送信息对于目标对象来说可能感兴趣的程度,然后可以将目标对象可能感兴趣的程度最高的推送信息作为第三推送信息。
可选的,在本申请提供的实施例中,每次进行第三推送信息进行筛选时,也可以将多条目标对象可能感兴趣的程度较高的推送信息都作为第三推送信息。在必要的情况下,可以一次性将多条第三推送信息都作为目标推送信息推送给目标对象,也可以每间隔一个时间段,选取其中一条第三推送信息作为目标推送信息推送给目标对象,此处不做限定。
步骤S204,将第三推送信息作为目标推送信息,将目标推送信息推送给目标对象。
其中,目标推送信息为需要推送给目标对象的推送信息。
具体地,可以通过移动推送服务将目标推送信息推送至目标对象的终端。
图3为本申请实施例提供一种信息推送池更新方法的流程示意图,该方法的执行主体可以是服务器,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云计算服务的云服务器。如图3所示,该方法可以包括:
其中,信息推送池中的第二推送信息是基于如下方式进行更新的:
步骤S301,按照第一预设周期,基于已推送至目标对象的历史推送信息的推送信息类型和目标对象的对象属性信息从预设数据库中获取至少一条第四推送信息;
步骤S302,将各第四推送信息作为第二推送信息添加至信息推送池中。
其中,第一预设周期可以由服务器自由设定。历史推送信息为已推送给过该目标对象的推送信息。预设数据库中可以存储有所有可推送给对象的推送信息。
具体地,服务器每经过一个第一预设周期,可以获取目标对象的历史推送信息中目标对象最可能感兴趣的推送信息类型,可以根据目标对象对各类型的推送信息的浏览次数、浏览时间等因素进行判断,分析出目标对象最可能感兴趣的推送信息类型,然后从预设数据库中获取若干条该推送信息类型的推送信息,并对这些推送信息基于目标对象的对象属性信息进行进一步筛选。
具体来说,可以将获取到的每一条推送信息输入到预设召回算法模型中,预设召回算法模型将分析出每一推送信息的推送信息类型,并将分析出的推送信息类型与分析出的目标对象感兴趣的推送信息类型进行比对(目标对象感兴趣的推送信息类型可以基于目标对象的对象属性信息得到,并可以视作模型的标签),并根据比对结果分析出每一推送信息对于目标对象来说可能感兴趣的程度,然后可以将目标对象可能感兴趣的程度较高的若干条推送信息作为第四推送信息。
可选的,在从预设数据库中获取推送信息时,也可以直接基于目标对象的对象属性信息寻找与其相同或相似的其他对象,然后从预设数据库中获取其他对象的历史推送信息。可以理解的是,本申请实施例中获取到的其他对象应是与目标对象兴趣爱好相同或相似的,那么曾经推送给其他对象的推送信息也可以在此时作为需要推送给目标对象的推送信息。
下面对本申请方案中服务器对推送信息进行筛选的过程进行简要介绍,如图4所示,服务器可以将第一推送信息和各第二推送信息分别输入到预设的决策推荐模型中,决策推荐模型将分析出每一推送信息的推送信息类型并与目标对象感兴趣的推送信息类型进行比对,并根据比对结果计算输出每一推送信息关于目标对象的第一匹配度,然后可以将第一匹配度最高的推送信息作为第三推送信息。
需要说明的是,决策推荐模型在输出每一推送信息的匹配度时,可以参考目标对象的对象属性信息,即基于目标对象的对象属性信息分析出目标对象感兴趣的推送信息类型,并可以将其作为模型的标签,输出得到每一推送信息的第一匹配度。
下面对本申请方案中服务器对信息推送池进行更新的过程进行简要介绍,如图5所示,服务器先从预设数据库中获取与目标对象的历史推送信息类型相同的至少一条推送信息,并将这些推送信息输入到预设的召回算法模型中,与前文所述决策推荐模型相似,召回算法模型也可以基于目标对象的对象属性信息确定出目标对象感兴趣的推送信息类型,并将其作为标签依次输出每一推送信息关于目标对象的第二匹配度,最后服务器可以将第二匹配度较大的任意数量的推送信息作为第四推送信息,并将这些第四推送信息作为第二推送信息添加到该目标对象对应的信息推送池中。
一方面,本申请提供的方案通过为每一对象设置各自的信息推送池,并在每次向对象推送信息前对推送终端发送的第一推送信息和信息推送池中的各第二推送信息进行筛选,提高了最终推送给目标对象的目标推送信息与目标对象之间的匹配度,提升了目标对象的使用体验。
另一方面,根据目标对象的历史推送信息类型不断向信息推送池添加类型相同的推送信息以保持更新,使得信息推送池中的推送信息始终与目标对象需求相近且具有较高的时效性,进一步优化了目标对象的体验,使目标对象不易流失。
在本申请的一种可选实施例中,当检测到自动推送触发条件时,该方法还具体包括:
基于目标对象的对象属性信息从各第二推送信息中筛选出与目标对象相匹配第五推送信息;
将第五推送信息作为目标推送信息,并将目标推送信息推送给目标对象。
其中,第五推送信息可以是在所有第二推送信息中筛选出的对于目标对象来说最可能感兴趣的推送信息。
具体地,除了通过推送终端,服务器在满足一定条件时,也可以向目标对象自动进行信息的推送。此时,由于没有接收到推送终端发送的第一推送信息,因此服务器则可以直接从当前时刻目标对象对应的信息推送池中获取出一条或多条第二推送信息,然后按照与前文所述相同的方式从各第二推送信息中筛选出第五推送信息,并将第五信息作为目标推送信息推送给目标对象。
在本申请的一种可选实施例中,自动推送触发条件是基于如下至少一种方式触发的,具体包括:
当检测到目标对象开启目标应用程序的操作;
目标对象使用目标应用程序达到预设时长时;
每经过一个第二预设周期时。
具体地,当目标对象开启目标应用程序时,可以认为目标对象想要通过目标应用程序了解相关信息,此时可以向目标对象进行信息推送;当目标对象使用目标应用程序达到一定预设时长(如观看视频达到一定时长)时,可以根据目标对象使用目标应用程序时观看的浏览界面,推送给对象与该浏览界面相关的一些推送信息;当目标对象不使用目标应用程序时,也可以以弹窗的形式定时向目标对象推送一些其可能感兴趣的推送信息。
在本申请的一种可选实施例中,该方法还具体包括:
若目标推送信息来源于信息推送池,则将目标推送信息从信息推送池中删除;
将目标推送信息添加至信息推送池黑名单中;
将各第四推送信息作为第二推送信息添加至信息推送池中,具体包括:
对于每一第四推送信息,若第四推送信息不在信息推送池黑名单中,则将第四推送信息作为第二推送信息添加至信息推送池中。
其中,信息推送池黑名单用于存储不再添加至信息推送池的推送信息。
具体地,当目标推送信息推送给目标对象后,如果目标推送信息本身来源于信息推送池(即目标推送信息为第二推送信息),则将该推送信息从信息推送池中删除。可以理解的是,由于该推送信息已经推送给了目标对象,那么短期内目标对象是不希望重复接收到相同的推送信息的,因此可以将该推送信息添加至信息推送池黑名单中,以保证该推送信息将不会再推送给目标对象。同时,在更新信息推送池时,如果筛选出了在信息推送池黑名单中的推送信息,那么本次也不会再将该推送信息添加至信息推送池中。
可选的,虽然大部分目标对象不希望重复接收到相同的推送信息,但仍有一部分目标对象希望在经过一段时间后再次接收相同的推送信息。因此,对于信息推送池黑名单中的每一条推送信息,可以设置其在信息推送池黑名单中的存储时间,当该推送信息存储一定时长后,可以将该推送信息从信息推送池黑名单中自动清除。这样既保证了短时间内目标对象不会重复接收到相同的推送信息,也可以满足部分目标对象在经过一段时间后希望再次接收到相同的推送信息的需求。
在本申请的一种可选实施例中,信息推送池中每一第二推送信息对应有各自的推送时段;
从当前时刻信息推送池中获取至少一条第二推送信息,具体包括:
确定当前时刻所属的时间段;
从信息推送池中确定至少一条推送时段符合时间段的第二推送信息。
其中,推送时段可以是第二推送信息最适合推送给目标对象的时段,例如,新闻类推送信息比较适合在早间时段推送,娱乐休闲类推送信息则比较适合在晚间时段进行推送等。
具体地,在获取第二推送信息时,可以先确定当前时刻所属的时间段(例如当前时刻是属于早间、中午、下午还是晚间),然后再获取推送时刻符合该时间段的至少一条第二推送信息。这样能够保证在不同的时间段分别推送合适的推送信息,能进一步提高目标对象的使用体验。
在本申请的一种可选实施例中,将目标推送信息推送给目标对象,具体包括:
获取处于当前时刻之前且距离当前时刻最近的推送信息发送时刻,并获取推送信息发送时刻与当前时刻的时间间隔;
若时间间隔不小于预设时间间隔,则将目标推送信息推送给目标对象。
具体地,对于目标对象来说,若在短时间内频繁接收到推送信息,可能会引起反感,从而导致使用体验较差。因此在本申请实施例中,在将目标推送信息推送给目标对象之前,可以先获取上一次向目标对象发送推送信息的发送时刻,然后计算当前时刻与上一次发送时刻的时间间隔,如果时间间隔小于预设时间间隔,说明本次信息推送过于频繁,那么本次将不再进行信息推送,若时间间隔不小于预设时间间隔,则将目标推送信息推送给目标对象终端。
在本申请的一种可选实施例中,该方法还具体包括:
若当前时刻处于预设敏感时段内,当接收到第一推送信息时,将第一推送信息作为目标推送信息,并将目标推送信息推送给目标对象。
其中,敏感时段可以表征某些特殊时段,在该时段中,服务器只会向目标对象推送第一推送信息,即不会从第一推送信息和各第二推送信息中进行筛选。
具体地,若在预设敏感时段内接收到了推送终端发送的第一推送信息,那么服务器可以直接将该第一推送信息作为目标推送信息进行推送,不再从信息推送池中获取第二推送信息。
可选的,在本申请实施例中,在敏感时段内接收到第一推送信息后,也可以同时获取信息推送池中的第二推送信息并进行筛选,在预设敏感时段过后,直接将筛选出的推送信息作为目标推送信息推送给目标对象。
需要说明的是,在本申请的实施例中,不同的敏感时段也可以选择不同的推送方式,例如也可以设置为服务器在敏感时段内仅推送第二推送信息而不推送第一推送信息等等,本申请对此不做限定。
在本申请的一种可选实施例中,该方法还具体包括:
当信息推送池中已存储的推送信息的占用空间大小与信息推送池的总存储空间大小的比例大于预设占比时,从推送信息中确定出待删除的推送信息;
将各待删除的推送信息从信息推送池中删除,直至比例不大于预设占比。
其中,预设占比可以表征信息推送池中已存储推送信息的存储情况。
具体地,服务器可以实时查询每个信息推送池已存储的推送信息所占用的空间大小,并计算已占用大小与该信息推送池的总存储空间大小的比例,当比例值大于预设占比时,则需要对信息推送池进行清理以保证能存储新鲜度更高的推送信息,因此可以将已存储的推送信息从信息推送池中删除直至比例不大于预设占比,以保证信息推送池实时能对新的推送信息进行存储。
可选的,在本申请的实施例中,还可以定时对信息推送池进行清空处理,示例性的,当达到每日的12点时,可以将各信息推送池里存储的推送信息全部清空,进一步保证每日推送给目标对象的推送信息具有更高时效性。
在本申请的一种可选实施例中,从推送信息中确定出待删除的推送信息,包括如下至少一种:
获取各第二推送信息的存储时刻,并将存储时刻最早的第二推送信息作为待删除的推送信息;
获取各第二推送信息关于目标对象的关联度,并将关联度最低的第二推送信息作为待删除的推送信息。
其中,关联度表征目标对象对该条推送信息感兴趣的程度,关联度越高,表明目标对象对该条推送信息越感兴趣。
具体地,服务器在清理信息推送池时,可以采用以下任意一种方式:
方式一,将各第二推送信息按照存储时刻从早至晚进行排序,然后从存储时刻最早的第二推送信息开始,依次将各第二推送信息进行删除。
方式二,可以通过相关算法计算出每条第二推送信息关于目标对象关联度,然后将各第二推送信息按照关联度从大至小进行排序,并从关联度最小的第二推送信息开始,依次将各第二推送信息进行删除。
可选的,在对信息推送池进行清理时,也可以对将上述两种方式进行结合,即同时考虑各第二推送信息的存储时刻和关于目标对象的关联度,具体可以分别对两种参考因素设置不同的权重,此处不做限定。
需要说明的是,本申请实施例中的关联度计算方式可以参考前文所述关于第一匹配度和第二匹配度,此处不多加赘述。
下面对本申请实施例提供的方案的整体流程进行描述,如图6所示,本申请提供的信息推送方法大致可以视作三个相对独立的流程。下面将对各流程分别进行描述:
流程A可称为运营流程,当服务器接收到针对一个或多个目标对象的第一推送信息后,调度包含有所有目标对象标识信息的对象包,然后将所有目标对象的标识信息和第一推送信息发送至决策推荐服务的推荐接入层(可以理解为接口请求的转发的服务,不做复杂逻辑),在推荐接入层将所有目标对象的标识信息和第一推送信息转发给决策推荐服务模块(该模块即负责对各推送信息的筛选),同时决策推荐服务模块将从各目标对象的信息推送池中分别选取各自的第二推送信息,并将各第二推送信息和第一推送信息一同进行筛选得到目标推送信息,最后将目标推送信息通过移动推送服务实时推送给目标对象。
流程B可称为个性化流程,当服务器检测到满足前文所述的自动推送触发条件时,将开启该流程。下面将以“每经过一个第二预设周期时”作为推送触发条件进行描述,示例性的,服务器从凌晨5点开始调度包含有各目标对象的标识信息的对象包,然后将各目标对象的标识信息添加到延时队列中;延时队列中设置了预设周期,用于每间隔一个预设周期向推荐接入层发送一次推送请求。在每次发送推送请求时,服务器还可以根据当前时刻预估各目标对象在当前时刻可能感兴趣的推送信息类型,并将可能感兴趣的推送信息类型发送包含在推送请求中。决策推荐服务在接收到其推荐接入层转发的推送请求后,可以根据各目标对象在当前时刻可能感兴趣的推送信息类型为每一目标对象分别从对应的信息推送池中选取相同类型的推送信息,并对这些推送信息进行筛选得到目标推送信息,最后将目标推送信息通过移动推送服务实时推送给目标对象。
流程C可称为精选内容流程,示例性的,由于服务器在每日的凌晨时刻会自动删除各目标对象信息推送池中的所有推送信息,因此在凌晨时刻时信息推送池中是没有推送内容的,同时为了不打搅目标对象,在凌晨时段服务器将不会向目标对象进行信息推送。因此从凌晨时刻开始,服务器就开始通过调度各对象包依次向各对象的信息推送池中添加推送信息,具体来说,服务器将各对象的标识信息发送至召回推荐服务对应的推荐接入层中,召回推荐服务将筛选出任意数量的推送信息(可通过前文所述的召回算法模型),并将这些推送信息返回给其推荐接入层,其推荐接入层将这些推送信息添加至对应的对象的信息推送池中。
图7为本申请实施例提供的一种信息推送装置的结构框图,如图7所示,该信息推送装置700可以包括:信息推送池获取模块701、推送信息获取模块702、推送信息筛选模块703、推送信息推送模块704、推送信息匹配模块705以及推送信息添加模块706,其中,
信息推送池获取模块701用于当接收到推送终端针对目标对象发送的第一推送信息时,获取目标对象的标识信息,并根据标识信息获取目标对象的对象属性信息和目标对象对应的信息推送池;
推送信息获取模块702用于从当前时刻信息推送池中获取至少一条第二推送信息;
推送信息筛选模块703用于基于目标对象的对象属性信息从第一推送信息和各第二推送信息中筛选出与目标对象相匹配第三推送信息;
推送信息推送模块704用于将第三推送信息作为目标推送信息,将目标推送信息推送给目标对象;
推送信息匹配模块705用于按照第一预设周期,基于已推送至目标对象的历史推送信息的推送信息类型和目标对象的对象属性信息从预设数据库中获取至少一条第四推送信息;
推送信息添加模块706用于将各第四推送信息作为第二推送信息添加至信息推送池中。
一方面,本申请提供的方案通过为每一对象设置各自的信息推送池,并在每次向对象推送信息前对推送终端发送的第一推送信息和信息推送池中的各第二推送信息进行筛选,提高了最终推送给目标对象的目标推送信息与目标对象之间的匹配度,提升了目标对象的使用体验。
另一方面,根据目标对象的历史推送信息类型不断向信息推送池添加类型相同的推送信息以保持更新,使得信息推送池中的推送信息始终与目标对象需求相近且具有较高的时效性,进一步优化了目标对象的体验,使目标对象不易流失。
在本申请的一种可选实施例中,当检测到自动推送触发条件时,推送信息推送模块还可以用于:
基于目标对象的对象属性信息从各第二推送信息中筛选出与目标对象相匹配第五推送信息;
将第五推送信息作为目标推送信息,并将目标推送信息推送给目标对象。
在本申请的一种可选实施例中,自动推送触发条件是基于如下至少一种方式触发的,包括:
当检测到目标对象开启目标应用程序的操作;
目标对象使用目标应用程序达到预设时长时;
每经过一个第二预设周期时。
在本申请的一种可选实施例中,该装置还包括推送信息删除模块,具体用于:
若目标推送信息来源于信息推送池,则将目标推送信息从信息推送池中删除;
将目标推送信息添加至信息推送池黑名单中;
推送信息添加模块具体用于:
对于每一第四推送信息,若第四推送信息不在信息推送池黑名单中,则将第四推送信息作为第二推送信息添加至信息推送池中。
在本申请的一种可选实施例中,信息推送池中每一第二推送信息对应有各自的推送时段;
推送信息获取模块具体用于:
确定当前时刻所属的时间段;
从信息推送池中确定至少一条推送时段符合时间段的第二推送信息。
在本申请的一种可选实施例中,推送信息推送模块具体用于:
获取处于当前时刻之前且距离当前时刻最近的推送信息发送时刻,并获取推送信息发送时刻与当前时刻的时间间隔;
若时间间隔不小于预设时间间隔,则将目标推送信息推送给目标对象。
在本申请的一种可选实施例中,推送信息推送模块还可以用于:
若当前时刻处于预设敏感时段内,当接收到第一推送信息时,将第一推送信息作为目标推送信息,并将目标推送信息推送给目标对象。
在本申请的一种可选实施例中,该装置还包括推送信息清理模块,具体用于:
当信息推送池中已存储的推送信息的占用空间大小与信息推送池的总存储空间大小的比例大于预设占比时,从推送信息中确定出待删除的推送信息;
将各待删除的推送信息从信息推送池中删除,直至比例不大于预设占比。
在本申请的一种可选实施例中,推送信息清理模块进一步用于包括如下至少一种:
获取各第二推送信息的存储时刻,并将存储时刻最早的第二推送信息作为待删除的推送信息;
获取各第二推送信息关于目标对象的关联度,并将关联度最低的第二推送信息作为待删除的推送信息。
下面参考图8,其示出了适于用来实现本申请实施例的电子设备(例如执行图2所示方法的终端设备或服务器)800的结构示意图。本申请实施例中的电子设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)、可穿戴设备等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图8示出的电子设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
电子设备包括:存储器以及处理器,存储器用于存储执行上述各个方法实施例所述方法的程序;处理器被配置为执行存储器中存储的程序。其中,这里的处理器可以称为下文所述的处理装置801,存储器可以包括下文中的只读存储器(ROM)802、随机访问存储器(RAM)803以及存储装置808中的至少一项,具体如下所示:
如图8所示,电子设备800可以包括处理装置(例如中央处理器、图形处理器等)801,其可以根据存储在只读存储器(ROM)802中的程序或者从存储装置808加载到随机访问存储器(RAM)803中的程序而执行各种适当的动作和处理。在RAM803中,还存储有电子设备800操作所需的各种程序和数据。处理装置801、ROM 802以及RAM803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。
通常,以下装置可以连接至I/O接口805:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置806;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置807;包括例如磁带、硬盘等的存储装置808;以及通信装置809。通信装置809可以允许电子设备800与其他设备进行无线或有线通信以交换数据。虽然图8示出了具有各种装置的电子设备,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
特别地,根据本申请的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置809从网络上被下载和安装,或者从存储装置808被安装,或者从ROM 802被安装。在该计算机程序被处理装置801执行时,执行本申请实施例的方法中限定的上述功能。
需要说明的是,本申请上述的计算机可读存储介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
在一些实施方式中,客户端、服务器可以利用诸如HTTP(HyperText TransferProtocol,超文本传输协议)之类的任何当前已知或未来研发的网络协议进行通信,并且可以与任意形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”),广域网(“WAN”),网际网(例如,互联网)以及端对端网络(例如,ad hoc端对端网络),以及任何当前已知或未来研发的网络。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:
当接收到推送终端针对目标对象发送的第一推送信息时,获取目标对象的标识信息,并根据标识信息获取目标对象的对象属性信息和目标对象对应的信息推送池;从当前时刻信息推送池中获取至少一条第二推送信息;基于目标对象的对象属性信息从第一推送信息和各第二推送信息中筛选出与目标对象相匹配第三推送信息;将第三推送信息作为目标推送信息,将目标推送信息推送给目标对象;其中,信息推送池中的第二推送信息是基于如下方式进行更新的:按照第一预设周期,基于已推送至目标对象的历史推送信息的推送信息类型和目标对象的对象属性信息从预设数据库中获取至少一条第四推送信息;将各第四推送信息作为第二推送信息添加至信息推送池中。
可以以一种或多种程序设计语言或其组合来编写用于执行本申请的操作的计算机程序代码,上述程序设计语言包括但不限于面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在对象计算机上执行、部分地在对象计算机上执行、作为一个独立的软件包执行、部分在对象计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到对象计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的模块或单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,模块或单元的名称在某种情况下并不构成对该单元本身的限定,例如,第一约束获取模块还可以被描述为“获取第一约束的模块”。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑设备(CPLD)等等。
在本申请的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述信息的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述信息的任何合适组合。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
- 一种与绵羊多羔性状相关的SNP分子标记及其检测试剂盒和应用
- 一种与绵羊单胎多羔性状相关的SNP分子标记及其检测试剂盒和应用
- 绵羊多胸椎数性状的SNP分子标记、引物对、检测试剂盒及其应用
- 一种与绵羊单胎多羔性状相关的SNP分子标记及其检测试剂盒和应用
- 一种与绵羊单胎多羔性状相关的SNP分子标记及SMAD1基因分型检测试剂盒和应用
- 检测与白山羊体尺性状关联的SNP分子标记的试剂、试剂盒和应用
- 一种与鸡生长、体尺及胴体性状相关的SNP分子标记、检测引物、试剂盒及育种方法