具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
本申请中软件包(Software Package)是指具有特定的功能,用来完成特定任务的一个程序或一组程序,软件包可以分为应用软件包和***软件包。本申请中将需要安装软件包的设备称为客户端设备;向客户端推荐软件包的设备称为服务器。某些应用场景中,可以将多个软件包打包成升级软件包,对客户端设备进行软件升级。软件升级可以包括***升级和应用程序升级。
本申请中,客户端设备可以是各种可以运行软件的电子设备,电子设备可以是手持电子设备或其它电子设备。例如,可以是蜂窝电话、媒体播放器或其它手持便携式设备、诸如腕表设备、吊坠设备的稍微更小的便携式设备或其它可穿戴或小型化设备、游戏装备、平板计算机、笔记本计算机、台式计算机、电视机、集成于计算机显示器中的计算机或其它的电子装备。
本申请提供了服务器设备向客户端设备推荐软件包的方法,根据此方法推荐的软件包可以针对不同的用户定向推送特定的软件包。该方法的部分流程可参照图1所示,可以包括S101、S102、S103。
S101,获取用户的用户标签;
S102,将用户标签与软件包的标签进行匹配;本申请中用户标签与该用户的行为数据相关联;
S103,根据匹配结果向该用户推荐软件包。
本申请对用户和软件包均进行了分类,根据每个用户的行为数据,可以了解不同用户对不同应用软件或***软件的使用习惯,因此可以根据用户的使用习惯对软件包进行区分。在本申请中,通过标签对分类后的用户和软件包进行标识,利用用户标签标记用户所属的分类,利用软件包的标签区分各个软件包。
本例将用户行为数据作为对软件包或用户分类的一种分类依据。用户行为数据的种类可以根据实际的设计需求确定,例如,可以是某些与使用习惯相关的数据(例如使用时长、使用频率、使用时间段),也可以是可能间接体现出使用习惯的相关的数据(例如用户年龄、ID、性别等)。
使用客户端设备的用户具有唯一的标识,此标识在本申请中称为用户的标识信息。在一些例子中,可以将通过电子设备所采集到的用户行为数据进行保存,可以建立每条用户数据该用户的标识信息的一一对应关系。S101中,获取用户标签的时机在本申请中不作限定,例如,可以是在用户向服务器发送请求时,根据请求中携带的用户标识信息来获取用户标签,也可以是服务器按照设定的推送时机主动根据用户标识信息获取该用户的用户标签。
不同的用户使用电子设备会有不同的使用习惯,因此,可以通过以下方式生成用户标签:首先分析不同用户的行为数据的属性类别,例如,可以将行为数据归纳为以下一种或多种属性类别:地区、年龄、性别、软件包种类等;另外,可以针对每个属性类别预先设定好至少一个预设等级,例如,将年龄设定为10-20年龄段、21-30年龄段、30-50年龄段等;将地区设置为华东、华南、华北等区域;然后根据预设等级将各个行为数据划分到相应的属性类别的相应等级;可以基于每个用户的行为数据在各属性类别中的等级,设定出用户标签或软件包标签。
需要指出,软件包的标签可以通过类似方式制作,也可以根据已生成的用户标签来获得软件包的标签(例如,将用户标签作为软件包标签等。)
某些例子中,还可以针对行为数据设置权值,在设定用户标签或软件包标签时,将每个用户的行为数据在各属性类别中的等级可以结合行为数据所对应的权值来进行分析,根据分析结果设定出相应的标签。
具有相同用户标签的的用户可以认为拥有近似的使用习惯,因此可以将某一类标签的软件包统一定向推送给具有相匹配用户标签的这类用户。
用户标签或软件包的标签的具体内容在本申请不做限定,可以是字符串或其他表现形式,例如,可以将标签1定义为abc,代表某用户在华南地区;可以将标签2定义为bcc,代表用户在华东地区,标签3定义为abd,代表某用户对某个应用使用频率频繁等等。值得说明,对软件包的标签的内容可以与用户标签相同,也可以是相对应。软件包的标签和用户标签数目均可以不止一个。
获得用户行为数据的一种方式可以是通过采集用户使用电子设备时的埋点数据得到。当然,并不排除通过其他用户习惯分析的途径获得用户行为数据。埋点数据是电子设备通过埋点技术所采集的数据,通过埋点可以使得电子设备能够对用户的某些行为数据进行日志记录,生成打点日志。本申请中的行为数据可以是点击访问行为、用户访问的软件的标识信息、用户对软件的使用频率、用户对软件的使用时长,在界面的停留时间、用户的地理位置信息等多种数据。容易理解,埋点处所收集到的用户行为数据不局限于所列内容。
以下以某些用户行为数据进行统计分析为例,说明生成不同用户的用户标签和软件包标签的过程。
不同年龄层次的用户、不同地域的用户、不同爱好的用户对同一软件的使用习惯均可以不同,因此可以通过收集与用户使用习惯相关的行为数据结合性别年龄等数据来分析用户的行为属性,并可以进一步制定用户标签来代表用户的使用习惯。
表1是一个用户1、用户2…用户100这一百个用户的行为数据分析所获得的用户标签或软件包标签。经过对这些用户的用户行为数据的统计,分析这些行为数据的属性类别可以区分为WIFI时间、游戏类型-益智小游戏、电话时长、视频时长、聊天类app等类别;针对WIFI时间这种属性类别,可以设定三个等级:每日使用时长不足1小时、每日使用时长在1-4小时、每日使用时长在4小时以上;针对游戏类型-益智小游戏可以设定为两个等级:已安装同一类别的软件、未安装同一类别的软件;针对电话时长可以设定为两个等级:每日有通话记录、不是每日有通话记录;针对视频时长可以设定为两个等级:每周有视频记录、不是每周有视频记录;针对聊天类app可以设定两个等级:已安装聊天类app、未安装聊天类app。根据设定的等级,将行为数据归类到相应属性类别下的相应级别。
经过分析每个用户的行为数据在各属性类别中的等级,表1中最终定义出的标签包括:WIFI中期、WIFI长期、开心小游戏角色、电话角色、视频角色、聊天软件角色等,将这些标签按照用户ID对每个用户打上相应的用户标签,结果如表1所示。标签中“WIFI中期”代表该用户每天使用WIFI功能的时间属于中等、“开心小游戏角色”代表该用户喜欢使用开心小游戏一类的游戏软件、“电话角色”代表该用户频繁使用电话功能,因此在推送升级包时,根据软件包的标签来匹配这些用户标签,例如,服务器会将与WIFI功能相关的软件包、开心小游戏相关的软件包、电话功能相关的软件包一同推送给用户1。
表1
S101所获取到的可以是所有与该用户的标识信息所关联的用户标签。S102中将所获取到的用户标签与软件包的标签进行匹配的规则可以根据设计的需要设计多种方案,各种方式可以单独使用,也可以配合使用。例如可以参考以下几种方式:
第一种匹配规则可以设定为用户标签与软件包的标签相同则认为二者匹配。
第二种匹配规则可以设定为用户标签与软件包的标签匹配度达到预设值则认为二者匹配,例如可以是二者所包含的字符串中有至少预设值个字符相同等。
第三种匹配规则可以设定为用户标签与软件包的标签如果符合某种模糊匹配的条件,则认为二者匹配。
以上仅仅是对匹配规则的几种示例说明,对于其他可能存在的匹配规则不再一一列举。
S103中,可以将与用户标签相匹配软件包推荐给用户,这样,向用户推荐软件包与用户的使用习惯具有较高的吻合度。例如,可以将与用户标签相匹配软件包中用户目前尚未安装的软件包推荐给用户,也可以将与用户标签相匹配软件包中用户已安装的软件包的升级软件包推荐给用户,还可以将与用户已安装的软件包相关的软件包相关的软件包推荐给用户。相关的软件包可以例如与已安装软件属于同一类型的软件、或与已安装软件属于同类型的热门软件、或者与已安装软件存在调用关系的软件等情况。推荐方式在此不再一一列举,使用者可根据实际的应用场景设计相应的推荐方式。
本申请图2提供了客户端设备获取软件包的部分流程。
S201,访问服务器;
S202,将服务器推送的软件包进行呈现,所呈现的软件包带有标签,软件包的标签与用户的用户标签相匹配;用户标签与所述用户的行为数据相关联。
本申请对于服务器将匹配到的软件包发给用户的过程不做限定,可以通过主动推送的方式将与某个用户匹配的软件包自动下载到用户的客户端设备;也可以提示用户目前存在可更新的升级包,用户可以检测到与自身相关的升级软件包(即升级软件包中的软件包与该用户的用户标签匹配),当用户确定希望更新时,响应用户的指令,将匹配的软件包下载到用户的客户端设备。
某些例子中,在客户端设备获取到软件包后,可以根据用户的指令来进行安装,也可以由***下载软件包后自动安装。
以下结合图3a、图3b阐述一个应用场景的实例。该应用场景描述了将多个软件包制作成升级包以及将升级包在客户端设备安装的相关流程。
客户端设备301可以装载有操作***以及应用程序等多个软件,当需要更新软件时,在服务器300制作升级包,将需要更新的软件包打包成升级包,并发布升级包。发布后的升级包可以被用户检测到,客户端设备300从服务器300下载与此用户所关联的软件包。
图3a所示的是某些例子中网络环境的图示。网络中包含的设备可以有客户端设备301、服务器300。服务器300的功能可以通过数据收集***302、数据分析***303、发放总结***304、升级包管理***305实现。在其他示例中,各***在物理上也可以分别是一台服务器设备。
数据收集***302可以根据用户对于客户端设备301的常用应用app操作,采集用户的行为数据。数据分析***303可以根据数据收集***302用户行为数据以及设定的行为数据的权重值进行分析。发放总结***304可以根据数据分析***303的分析结果,按照不同维度(年龄、性别、软件包标识等),归纳不同用户的行为数据的属性分类,并根据各属性分类的等级将行为数据归类,最后将归类后的每个用户的行为数据结合权重值设定相应的用户标签,对用户打上用户标签。升级包管理***305可以负责管理升级包,例如根据发放总结***304的用户标签设定软件包的标签,对每个软件包打上标签、将升级包上线发布、响应用户的指令将升级包发给用户。
图3b是各网络设备的时序图。
用户使用客户端设备301,数据收集***302根据用户ID收集用户的行为数据,把所收集的行为数据记录到数据收集***302中。每条记录均同时记录此用户ID。
数据分析***303从数据收集***302中提取到用户ID所关联的行为数据,把行为数据进行分析处理,可以根据各种行为数据设置不同权重,将行为数据与权重结合分析不同用户的共同特征。
发放总结***304根据数据分析***303所分析出的不同用户的行为数据在各个属性分类中的级别及权重,进一步汇总整理出代表用户属性的用户标签,按照用户ID按照用户属性打上相应的用户标签。
升级包管理***305根据发放总结***304提供的用户标签,把升级包中各个软件包打上标签,每个应用的软件包至少打1个标签,可以支持打多个标签。升级包上线后,用户可以检测到升级包,升级包管理***305根据用户ID获取相应的用户标签,再根据用户标签从升级包管理***305中返回这个用户标签一致的软件包。用户自动进行下载这些和自己的用户标签一致的软件包,不匹配的软件包用户无需升级。
与前述获取软件包的方法实施例相对应,本申请还提供了获取软件包的装置实施例。
本申请获取软件包的装置的实施例可以应用在电子设备上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在服务器的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图4所示,为本申请打包升级包的装置或软件升级的装置所在服务器的一种硬件结构图,除了图4所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的服务器通常根据该服务器的实际功能,还可以包括其他硬件,对此不再赘述。
请参考图5,推荐软件包的装置500包括:
匹配模块501,用于获取用户的用户标签,并将所述用户标签与软件包的标签进行匹配;所述用户标签与所述用户的行为数据相关联;
软件包管理模块502,用于根据匹配结果向用户推荐软件包。
作为例子,软件包的标签可以基于所述用户标签或所述用户的行为数据获得。
某些例子中,还可以包括分析模块(图中未示出),用于分析不同用户的行为数据的属性类别,所述属性类别包括以下一种或多种:地区、年龄、性别、软件包种类;并根据预设等级将所述行为数据划分到相应的属性类别的相应等级;以及基于每个用户的行为数据在各属性类别中的等级设定所述用户标签或所述软件包标签。
某些例子中,分析模块可以将每个用户的行为数据在各属性类别中的等级结合所述行为数据的权值进行分析;基于分析结果获得所述所述用户标签或所述软件包标签。
作为例子,软件包可以包括所述用户已安装的软件包的升级软件包、和/或与用户已安装的软件包相关的软件包。
作为例子,用户标签或软件包的标签数目可以至少为1个。
作为例子,用户的行为数据通过该用户的埋点数据获得。
作为例子,行为数据包括以下一种或多种:
用户访问的软件的标识信息、用户对软件的使用频率、用户对软件的使用时长,在界面的停留时间、用户的地理位置信息。
请参考图6,获取软件包的装置600,包括:
通信模块601,用于访问服务器服务器;
显示模块602,用于将所述软件包进行呈现,所述软件包带有标签,所述软件包的标签与用户的用户标签相匹配;所述用户标签与所述用户的行为数据相关联。
通信模块601还可以用于向所述服务器发送请求,所述请求中携带用户的用户标识信息,所述用户标识信息用于获取所述用户标签。
另外,某些例子中还可以包括安装模块(图中未示出),通信模块601还可以从所述服务器下载所述软件包;以及通知所述安装模块安装所下载的软件包。
作为例子,软件包的标签可以由服务器基于所述用户标签或所述用户的行为数据获得。
某些例子中,服务器可以分析不同用户的行为数据的属性类别(例如以下一种或多种:地区、年龄、性别、软件包种类);并根据预设等级将所述行为数据划分到相应的属性类别的相应等级;以及基于每个用户的行为数据在各属性类别中的等级设定所述用户标签或所述软件包标签。
某些例子中,服务器也可以将每个用户的行为数据在各属性类别中的等级结合所述行为数据的权值进行分析;基于分析结果获得所述所述用户标签或所述软件包标签。
作为例子,软件包可以包括所述用户已安装的软件包的升级软件包、和/或与用户已安装的软件包相关的软件包。
作为例子,用户标签或软件包的标签数目至少为1个。
作为例子,用户的行为数据通过该用户的埋点数据获得。
作为例子,行为数据包括以下一种或多种:
用户访问的软件的标识信息、用户对软件的使用频率、用户对软件的使用时长,在界面的停留时间、用户的地理位置信息。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。