基于安装历史给移动设备推荐应用的制作方法

文档序号:6495675阅读:177来源:国知局
基于安装历史给移动设备推荐应用的制作方法
【专利摘要】本发明的实施方式公开了一种基于安装历史给移动设备推荐应用的方法、系统和装置,其包括在计算机存储介质上编码的计算机程序,其用于:接收安装数据,所述安装数据对应于能在移动计算设备上安装和执行的一个或多个应用,接收对应于所述一个或多个应用中的每个应用的元数据,针对每个应用:基于安装数目生成时间序列,处理所述时间序列和所述元数据,计算评分,确定所述评分大于或等于阈值评分,以及响应于所述确定,将相应的应用添加到趋势应用索引中,将所述趋势应用索引存储到计算机可读存储器中,获取所述趋势应用索引,以及基于所述趋势应用索引,传送一个或多个应用的指示用于显示。
【专利说明】基于安装历史给移动设备推荐应用
[0001]优先权声明
[0002]本申请按照35 USC § 119(e)要求对2011年5月9日提交的美国临时专利申请N0.61/484,125的优先权,其全文通过引用并入于此。
【技术领域】
[0003]本公开涉及推荐一个或多个应用用于在移动计算设备上安装。
【背景技术】
[0004]移动计算设备(或简单地说“移动设备”)可运行扩展现有设备功能并且添加新功能的各种软件应用。很多类型的应用诸如用于信息获取、通信和娱乐的应用通常是可用的。应用可由移动设备制造商和/或第三方(例如应用开发商)创建,并且可由该制造商预安装,或者可由设备用户下载和安装。
[0005]通过浏览可用应用的目录,用户可通过与在线应用市场关联的界面发现新的应用。另外,关于新的应用的信息通常通过广告、产业回顾、“十佳”和“最佳”榜单以及通过口碑营销可以得到。一旦听说新的应用,用户可能会获取、安装和使用该应用的完整版,或用户可能会访问允许用 户通过购买或无需购买而尝试该应用的该应用的演示版。经过一段时间以后,用户可能保留应用、升级应用(例如从演示版到完整版)并且可能删除不再想要的应用。

【发明内容】

[0006]本说明书中描述的主题的创造性方面可在方法中体现,该方法包括如下动作:接收安装数据,所述安装数据对应于能在移动计算设备上安装和执行的一个或多个应用,接收对应于所述一个或多个应用中的每个应用的元数据,针对每个应用:基于安装数目生成时间序列,处理所述时间序列和所述元数据,计算评分,确定所述评分大于或等于阈值评分,以及响应于所述确定,将相应的应用添加到趋势应用索引中,将所述趋势应用索引存储到计算机可读存储器中,获取所述趋势应用索引,以及基于所述趋势应用索引,传送一个或多个应用的指示用于显示。
[0007]这些方面的其他实施方式包括对应的系统、装置和在计算机存储设备上编码的计算机程序,其被配置为执行所述方法的所述动作。例如,每个时间序列包括针对预定数目的时间段的每时间段的安装数目;所述时间段是一天并且所述预定数目的时间段合计一周;处理所述时间序列包括应用衰减系数以修正时间段在计算所述评分中的影响;所述评分基于所述时间序列的二阶导数;针对每个应用,所述评分基于所述应用的安装数量分数;所述安装数量分数基于全部应用的总安装数目确定;所述操作还包括基于所述元数据从所述趋势应用索引中的包括中过滤应用;在针对每个应用的生成、处理和计算之前执行过滤;所述动作还包括基于安装数目从所述趋势应用索引中的包括中过滤应用;当关联的安装数目小于阈值安装数目时,应用被过滤掉;在针对每个应用的生成、处理和计算之前执行过滤;所述操作还包括基于预定时间段的加速度从所述趋势应用索引中的包括中过滤应用;当所述预定时间段内的负加速度的连续数目大于负加速度的阈值数目时,应用被过滤掉;当所述预定时间段的特定子段内发生一个或多个负加速度时,应用被过滤掉;周期性地执行所述动作以周期性地更新所述趋势应用索引;所述安装数据包括每个应用的安装数目、卸载数目和更新数目。
[0008]可实施本说明书中描述的主题的特定实施方式以实现下列优点中的一个或多个优点。本公开的实施方式辅助用户发现通过检索可能难以发现的有趣的应用,并且可辅助用户了解应用市场的动态。实施方式还使得开发商能够更好地理解何种主题是流行的并且生成高下载量。此外,趋势应用可被用作其他产品中的信号。
[0009]在附图和下面的描述中阐述了本说明书中描述的主题的一个或多个实施方式的细节。通过该描述、附图和权利要求,该主题的其他潜在特征、方面和优点将变得显而易见。
[0010]附图简要说明
[0011]图1是可执行本公开的实施方式的示例性系统的图。
[0012]图2描绘了用于显示趋势应用类别的示例性移动设备。
[0013]图3是包括用于识别趋势应用的示例性组件的系统的框图。
[0014]图4是根据本公开的实施方式可执行的示例性过程的流程图。
[0015]图5是图示用于显示趋势应用的示例性过程的流程图。
[0016]各图中同样的附图标记指示同样的元件。
【具体实施方式】
[0017]本说明书描述了用于识别应用市场内的趋势应用的系统和技术。在一些实施方式中,计算设备(例如移动计算设备)的用户可在应用市场中搜索可执行应用,并且可在该计算设备上下载和安装应用。然而,用户会发现搜遍应用市场来发现新发布并且相对不知名但是正开始变得更流行的应用(即,趋势应用)是不方便的。
[0018]根据本公开的实施方式,基于应用的安装加速度和应用的安装数量,将应用识别为趋势应用。加速度可被定义为一时间段(例如每天)期间该应用的总安装数目的变化率的增加或减少。该总安装数目可被提供为该应用的安装数目和该应用的更新数目之和减去该应用的卸载数目。正加速度指示该时间段期间该应用的安装数目的变化率增加。负加速度指示该时间段期间该应用的安装数目的变化率减少。该应用的安装数量可被提供为该应用的安装数目相对于该应用市场内全部应用的总安装数目的百分比(例如数量分数)。在一些实施方式中,该应用的数量分数是整个应用市场的子集(例如与该应用类似(或有关)的应用或具有与该应用相同的类别的应用)的百分比。
[0019]基于该加速度和该数量分数,生成每个应用的趋势评分。在一个示例中,针对多天(例如7天)期间的每天,计算该应用的加速度。可针对每天的加速度应用衰减系数。在一些实施方式中,随着远离当前日期,该衰减系数进一步增加。作为结果,从当前日期开始,将更小的权重与加速度进一步关联。对每天的加速度求和以定义该时间段(例如7天)期间该应用的总加速度。该趋势评分可被定义为该总加速度与该数量分数的乘积。
[0020]基于应用的趋势评分,生成趋势应用索引。应用可基于各自的趋势评分在该趋势应用索引中排名。例如,应用的趋势评分越高,它在该索引中排名越高。该趋势应用索引可被存储到数据库中。该趋势应用索引可间歇地更新(例如每6小时、每天)。
[0021]在一些实施方式中,将每个应用的趋势评分与阈值评分相比。如果该趋势评分大于或等于阈值评分,则认为相应的应用是趋势应用并且包括在该趋势应用索引中。如果该趋势评分小于阈值评分,则认为相应的应用不是趋势应用并且不包括在该趋势应用索引中。
[0022]在一些实施方式中,应用子集可被过滤掉以将该应用子集从该趋势应用索引的可能包括中去除。具体地,针对这样的应用并不生成趋势评分。如这里进一步详细讨论的,该应用子集可包括例如具有诸如成人内容的内容的应用、具有小于最小安装数目的应用、具有多于最大天数的减小的安装速率的应用等。在一些实施方式中,可在生成该趋势应用索引之前执行这种过滤。在一些实施方式中,可在生成该趋势应用索引之后过滤应用使得能够从该索引中去除应用。
[0023]图1是可执行本公开的实施方式的示例性系统100的图表。该系统100包括计算设备102A-102F,其每个可通过网络106与服务器系统104通信。计算设备102A-102F中的每个计算设备分别包括关联的用户108A-108F。网络106可包括大型计算机网络,诸如局域网(LAN)、广域网(WAN)、互联网、蜂窝网或者连接任何数目的移动计算设备、固定计算设备和服务器系统的局域网(LAN)、广域网(WAN)、互联网、蜂窝网的组合。服务器系统104包括一个或多个计算设备110和一个或多个机器可读存储库或数据库112。为了说明简单起见,将服务器系统104示出包括一个计算设备110和一个机器可读存储库或数据库112。
[0024]在示例性系统100中,计算设备102A、102B、102C、102D被图示为移动计算设备,计算设备102E被图示为台式计算设备并且计算设备102F被图示为膝上型计算设备。然而,应当理解,计算设备102A-102F可各自包括任何类型的计算设备,诸如台式计算机、膝上型计算机、手持式计算机、个人数字助理(PDA)、蜂窝电话、网络家电、照相机、智能手机、增强型通用分组无线服务(EGPRS)移动电话、媒体播放器、导航设备、电子邮件设备、游戏机或这些数据处理设备或其他数据处理设备中的任何两个或更多个的组合。
[0025]计算设备102A-102F使得相应的用户108A-108F能够与应用市场交互。示例性应用市场包括由谷歌公司提供的谷歌市场(Google Play,以前被称为安卓市场AndroidMarket)。在一些实施方式中,该应用市场可包括在一个或多个服务器(例如服务器系统104)上托管的并且使用计算设备(例如计算设备102A-102F)访问的网站。在一些实施方式中,该应用市场可被提供为在计算设备(例如计算设备102A-102F)上执行并且从一个或多个服务器(例如服务器系统104)获取应用信息的应用。
[0026]该应用市场可为可用于下载并安装到计算设备102A-102F上的应用做广告。例如,计算设备102A的用户108A可与该应用市场交互以查看和/或发现感兴趣的应用。例如,该应用市场可显示应用的类别(例如最新的、下载最多的、最佳免费应用、最佳付费应用、主推应用、趋势或“热门”应用、娱乐、效率、商业、教育等)。响应于选择特定的类别,对应于该特定类别内的一个或多个应用的信息可被传送到计算设备102A用于显示给用户108Ao作为另一示例,用户102A可向该应用市场输入搜索查询。该搜索查询可被处理(例如被一个或多个服务器系统主机,或将数据以其他方式提供给该应用市场)以识别对应于该搜索查询的一个或多个应用。对应于该一个或多个应用的信息可被传送到计算设备102A用于显示给用户108A。[0027]继续上面的示例,用户108A可选择趋势应用类别的应用。该趋势应用类别包括该应用市场内被识别为趋势应用的应用列表。该应用列表可包括显示详情诸如应用标题、该应用的描述、应用开发商、应用图标、定价和评级。如下面进一步详细讨论的,本公开的实施方式被导向为识别包括在该趋势应用类别内的趋势应用。
[0028]图2描绘用于显示该趋势应用类别的示例性移动设备200。移动设备200可对应于图1的计算设备102A-102D。移动设备200包括显示器202、轨迹球204和浏览按钮206a-206d。显示器202显示图形用户界面(⑶1)208。⑶1208给用户(例如用户108A-108D)提供界面以与移动设备200的存储器上存储的操作系统和应用交互。示例性操作系统包括由谷歌公司提供的安卓操作系统。该用户可与GUI208交互以对移动设备200的存储器中存储的并且可以在移动设备200上执行的应用列表进行浏览,选择由移动设备200的处理器执行的应用,在该应用的执行期间向应用提供输入等。
[0029]移动设备200的用户经由显示器202、轨迹球204、浏览按钮206a_206d和/或其他输入手段(例如声音和/或触觉)对⑶1208进行浏览。在一些实施方式中,显不器202为触摸屏显示器。轨迹球204控制可以是⑶1208的一部分的光标用于选择在⑶1208上显示的项目。浏览按钮206a-206d具有取决于在移动设备200上存储的特定操作系统的各种实施方式。在一些实施方式中,浏览按钮206a提供将⑶1208的当前状态返回到⑶1208的先前状态的“先前”功能;浏览按钮206b提供菜单功能;浏览按钮206c提供将GUI208带到“主屏幕”的主屏功能;并且浏览按钮206d提供搜索功能。
[0030]在一些实施方式中,移动设备200可执行应用市场应用。该应用市场应用可被提供为客户端应用,其使得能够与被提供为(例如在一个或多个服务器系统上执行的)后端应用的应用市场进行通信。该应用市场应用给用户提供可用于下载并安装到移动设备200上的应用的列表。具体地,该用户通过浏览GUI208来选择该应用市场应用。该用户可通过由移动设备200上存储的操作系统提供的任何手段来选择该应用市场应用(例如启动该应用市场应用用于执行)。一旦该用户选择该应用市场应用,GUI208可包括显示该应用市场的欢迎屏幕的应用界面210。GUI208的欢迎屏幕可包括默认的应用列表。该默认的应用列表可包括例如最多搜索的应用或最多安装的应用。此外,该欢迎屏幕可包括应用的类别(例如新闻、书籍、娱乐)的列表。可从任何应用列表或者以(在GUI208上所呈现的)其他方式来选择应用。
[0031]应用界面210的欢迎屏幕还可包括趋势应用类别的应用。用户可选择该趋势应用类别。一旦选择该趋势应用类别,该应用市场应用给应用界面210提供更新以显示该趋势应用列表。
[0032]应用界面210包括标题部分212和应用列表214。标题部分212包括在应用列表214中列出的应用(例如“主推”应用)的标题(或类别)。应用列表214包括被该应用市场识别为趋势的应用216。应用列表214还包括用于每个应用216的应用特定信息。该应用特定信息可包括例如应用名称218、应用开发商220、应用图标222、定价224和评级226。定价224可反映应用216是免费应用还是付费应用。如果应用216是付费的,则定价224可包括价格的标识符(例如“U.S.$2.99”)。在一些实施方式中,评级226是跨多个计算设备(例如图1的各计算设备102)由多个用户提供的平均评级。
[0033]应用列表214可被提供为可滚动列表。移动设备200的用户可竖直地滚动应用列表214使得应用列表214显示额外的应用216同时隐藏当前显示应用216的一部分。
[0034]图3是包括用于生成趋势应用列表的示例性组件的系统300的框图。系统300包括安装日志数据库302、时间序列生成器304、趋势引擎306、应用数据库308、元数据引擎310和趋势应用数据库312。
[0035]安装日志数据库302包括与该应用市场中可用的应用的初始索引的安装历史有关的安装信息。该安装信息包括例如针对来自该应用市场可用的每个应用的跨访问该应用市场的每个计算设备(诸如图1的计算设备102)的应用的安装、卸载和更新的数目。在一些实施方式中,每个应用的安装信息与访问该应用市场的计算设备的子集有关。在一些实施方式中,该信息可在每个设备和/或每个场所(例如国家)的基础上而提供。例如,该信息可包括针对特定设备和/或特定场所的应用的安装、卸载和更新的数目。该安装信息可还包括每个应用发生每次安装、卸载和/或更新的时间。
[0036]安装日志数据库302将该应用的初始索引的安装信息提供给时间序列生成器304。在一些实施方式中,安装日志数据库302将该安装信息的一部分提供给时间序列生成器304。具体地,该应用市场中的应用可根据不同的标准诸如类别(例如金融或新闻)、设备类型(例如智能手机、平板个人计算机、膝上型个人计算机)等进行分组。当选择一个标准时,安装日志数据库302仅仅提供与所选择标准的应用有关的安装信息。例如,仅仅向时间序列生成器304提供与具有类别“金融”的应用有关的安装信息。在另一示例中,仅仅向时间序列生成器304提供与在平板个人计算机上执行的应用有关的安装信息。作为又一示例,仅仅提供与在特定设备上和/或特定场所内安装的应用有关的安装信息。
[0037]时间序列生成器304可被提供为使用一个或多个计算设备(例如图1的服务器系统104)执行的计算机程序。时间序列生成器304从安装日志数据库302接收该安装信息。时间序列生成器304针对该应用的初始索引的每个应用生成时间序列。该时间序列包括,针对每个应用,预定天数期间每天安装、卸载和/或更新的数目。该预定天数可被提供为各种天数(例如7天、14天)中的一个。时间序列生成器304给趋势引擎306提供该应用的初始索引的时间序列。
[0038]应用数据库308存储与可下载并安装到计算设备(例如图2的移动设备200)的应用对应的应用信息。应用数据库308将该应用信息提供给元数据引擎310。元数据引擎310可被提供为使用一个或多个计算设备(例如图1的服务器系统104)执行的计算机程序。元数据引擎310处理该信息以提供对应于每个应用的相关元数据。该元数据可包括例如应用标题、应用描述、开发商名称、评级、价格、类别、应用是否具有(例如成人的)特定内容等。元数据引擎310将应用的元数据提供给趋势引擎306。
[0039]趋势引擎306可被提供为使用一个或多个计算设备(例如图1的服务器系统104)执行的计算机程序。趋势引擎306从时间序列生成器304接收该应用的初始索引的时间序列并且从元数据引擎310接收应用的元数据。趋势引擎306可过滤应用的子集以从该应用的初始索引中去除应用的子集。在一些实施方式中,趋势引擎306在时间序列生成器304生成该时间序列之前过滤应用的子集。
[0040]在一些实施方式中,趋势引擎306可鉴于从元数据引擎310接收的元数据来过滤该应用的初始索引以提供过滤的应用的初始索引。具体地,可应用过滤器以基于应用的内容从该应用的初始索引中去除应用。例如,该应用内容可包括成人内容。趋势引擎306过滤该应用的初始索引以去除与该特定内容有关的应用。如果趋势引擎306确定该应用的初始索引的应用对应于该特定内容(例如成人内容),则将该应用从该应用的初始索引中过滤掉(例如去除掉)。注意,虽然应用市场可排除包括色情内容的应用,但是包括可被认为是成人的内容的应用(例如包括与女式内衣有关的内容,和/或与性爱小说有关的内容的应用)在该应用市场中仍然是可用的。
[0041]趋势引擎306可鉴于从时间序列生成器304接收的时间序列过滤该应用的初始索引。具体地,如上所述,针对该应用的初始索引中的每个应用,该时间序列包括预定天数(例如7天)期间每天安装、卸载和/或更新的数目。趋势引擎306可过滤应用以去除具有小于最小安装数目的应用。具体地,趋势引擎306将每个应用的安装数目与阈值安装数目进行比较。如果应用的安装数目小于阈值安装数目,则趋势引擎306将该应用从该应用索引中去除。
[0042]在一些实施方式中,该应用子集可在生成该趋势应用索引之后从该应用的初始索引中过滤掉,详情进一步如下。
[0043]趋势引擎306处理用于该过滤的应用的初始索引的时间序列,并且针对该过滤的应用的初始索引的每个应用生成趋势评分。应用的趋势评分基于该应用的总加速度和该应用的数量分数。在一些实施方式中,该应用的总加速度被提供为一时间段期间该应用的两个或更多加速度之和。在一些实施方式中,该应用的数量分数被提供为该应用的安装数目相对于该应用市场内全部应用的总安装数目的百分比。
[0044]为了计算该总加速度,趋势引擎306确定针对(例如先前7天的每天的)该预定时间段的每个时间段的该应用的加速度。该加速度(A)可被定义为一时间段(P)(例如每天)内该应用的总安装数目(N)中的变化率(R)的变化(增加或减少)。该变化率是时间序列的一阶导数。该时间段期间该应用的总安装数目可基于如下关系式来确定:
[0045]Ni=I1-U^ffi
[0046]其中,Ii指示针对该时间段(i)该应用的安装数目仙指示针对该时间段(i)该应用的卸载数目;并且Wi指示针对该时间段(i)该应用的更新数目。在一些实施方式中,该时间段(i)包括一天(即,24小时)。通过非限制性示例的方式,如果该预定时间段被提供为7天,则针对这7天中的每天计算总安装数目以提供七个总安装数目值(即,Ni, Ni+
[0047]该总安装数目的变化率(R)可基于如下关系式确定:
[0048]Ri=N1-Ni^1
[0049]其中,Ni是该时间段(i)内该应用的总安装数目,并且Nh是先前时间段(1-Ι)内的总安装数目。
[0050]趋势引擎306可确定两个变化率之间该应用的加速度(a)。具体地,该应用的加速度被定义为针对一时间段(i)(例如每天)该应用的总安装数目(N)的变化率(R)的变化。该加速度是时间序列的二阶导数。该时间段期间该应用的加速度可基于如下关系式确定:
[0051]Bi=R1-Ri^1
[0052]其中,Ri是该时间段(i)期间的变化率并且Rh是先前时间段(i_l)期间的变化率。
[0053]趋势引擎306可基于单调性约束来过滤应用。例如,趋势引擎306可检验每个应用在过去的η天(例如η=3)期间不具有减少的安装数目,并且针对过去的m天仅仅p天具有减少的安装数目(例如P=I并且m=7)。在一些实施方式中,趋势引擎306可过滤在该预定时间期间内具有一个或多个负加速度的应用。例如,在该预定时间段内,任何具有连续负加速度的应用可被过滤掉,并且不被认为是趋势应用。作为另一个示例,在该预定时间段的特定时间段(例如过去3天)内,任何具有减少的加速度的应用可被过滤掉,并且不被认为是趋势应用。还可应用这些过滤技术的组合。
[0054]趋势引擎306可基于该应用的评级数和/或该应用的平均评级来考虑过滤一个应用。例如,如果该应用的评级数低于阈值评级数,则去除对该应用的考虑。作为另一示例,如果该应用的平均评级低于阈值平均评级,则去除对该应用的考虑。
[0055]趋势引擎306计算该预定时间段(例如7天)期间剩余应用中的每个应用的总加速度(aT()m)。具体地,趋势引擎306计算该预定时间段(例如7天)期间每个加速度(例如连续各天之间的每个加速度)之和以定义该应用的总加速度。预定时间量期间该应用的总加速度可基于如下关系式确定:
[0056]^total-入 ^ (a) + λ η (a^j) +…+ λ 卜2 (aj_z)
[0057]其中,z等于该预定时间段减去I。通过非限制性示例,如果该预定时间段是7天,则z等于6。可以提供衰减系数(λ )以减少时间上进一步向后的时间段对计算aTOT&的影响。通过非限制性示例,Xi可设置为等于一,使得加速度%没有权重,同时λ η到λρζ包括小于一的减少的值。以这种方式,Xi对计算具有最大影响并且Ah对计算aTOm具有最小影响。
[0058]趋势引擎306计算每个应用的数量分数(Vf)为该应用的安装数目(Nf)相对于该应用市场内全部应用的总安装数目(Nt)的百分比(例如数量分数)。该数量分数可基于如下关系式确定:
[0059]Vf=Nf/Nt
[0060]在一些实施方式中,该应用的数量分数是整个应用市场的应用子集的百分比。例如,该应用子集可包括与该应用类似(或有关)的应用。在另一示例中,该应用子集可包括与该应用具有相同类别的应用。
[0061]趋势引擎306基于每个应用的总加速度(aT_)和数量分数(Vf)而针对该应用生成趋势评分(T)。该趋势评分可确定如下:
[0062]T=BtotalXVf
[0063]趋势引擎306可针对该应用市场中每个应用生成趋势评分。在一些实施方式中,趋势引擎306针对该应用市场中的应用子集(例如与由安装日志数据库302提供的安装信息有关的应用,没有基于该应用元数据过滤的应用)的每个应用生成趋势评分。趋势引擎306基于每个应用的趋势评分生成趋势应用索引。在一些实施方式中,该趋势应用索引可包括基于应用的趋势评分的应用的排名。例如,应用的趋势评分越高,该应用在该趋势应用索引中排名越高。
[0064]在一些实施方式中,针对每个应用的趋势评分可与阈值趋势评分相比较。如果该趋势评分大于或等于该阈值趋势评分,则趋势引擎306认为该应用是趋势应用并且将该应用包括在该趋势应用索引中。如果该趋势评分小于该阈值趋势评分,则趋势引擎306认为该应用不是趋势应用并且不将该应用包括在该趋势应用索引中。
[0065]趋势引擎306给趋势应用数据库312提供该趋势应用索引。趋势应用数据库312存储该趋势应用索引。趋势应用数据库312使得该趋势应用索引可用于该应用市场。系统300可间歇地更新该趋势应用索引(例如每6小时、每12小时或每24小时)。
[0066]图4是可根据本公开的实施方式执行的示例性过程400的流程图。示例性过程400可使用一个或多个计算设备(例如图1的服务器系统104)来执行。
[0067]接收(402)安装数据。例如,图1的服务器系统104接收安装数据。在一些实施方式中,可从计算机可读存储器(例如从图1的数据库112)中获取该安装数据。该安装数据对应于可在移动计算设备上安装并执行的一个或多个应用。接收对应于该一个或多个应用中的每个应用的元数据(404)。例如,图1的服务器系统104接收用于应用中的每个应用的元数据。如以上所讨论,该元数据可包括例如应用标题、应用描述、开发商名称、评级、价格、类别、应用是否具有特定内容(例如成人)等。
[0068]可基于过滤元数据(406)来考虑过滤应用。例如,图1的服务器系统104基于该元数据的过滤元数据来考虑将各应用过滤为可能的趋势应用。如以上所讨论,可考虑过滤包括特定内容的应用。同样如以上所讨论,可考虑过滤具有小于阈值安装数目的总安装数目的应用。
[0069]针对每个应用,生成时间序列(408),处理该时间序列和该元数据(410)并且计算趋势评分(412)。例如,使用这里描述的技术,图1的服务器系统104针对每个应用可生成该时间序列,可处理该时间序列和该元数据并且可生成趋势评分。基于趋势评分而生成趋势应用索引(414),并且该索引可被存储到计算机可读存储器。例如,该趋势应用索引可由图1的服务器系统104生成。如上所讨论,该趋势应用索引可通过将每个应用的趋势评分与阈值趋势评分相比较来生成。同样如以上所讨论,基于该预定时间段内负加速度的数目,可将应用从作为趋势应用的包括中过滤。
[0070]图5是图示用于显示趋势应用的示例性过程的流程图。示例性过程500可使用一个或多个计算设备来执行。例如,一个或多个服务器系统(例如图1的服务器系统104)可用来执行示例性过程500。
[0071]获取趋势应用索引(502)。该趋势应用索引可以可用于应用市场。基于该趋势应用索引,传送一个或多个应用的指示用于显示(504)。用于显示的该一个或多个应用的该指示可通过移动设备(例如移动设备200)上该应用市场的显示进行,诸如当查看通过该移动设备(例如移动设备200)上的该应用市场供应的应用时。
[0072]本公开的实施方式和这里提供的全部功能操作可以以数字电路的方式,或以计算机软件、固件或硬件的方式来实现,包括本说明书中公开的结构和它们的等同结构,或它们中的一个或多个的组合。本公开的实施方式可实现为一个或多个计算机程序产品,即,用于由数据处理装置执行或控制数据处理装置的操作的计算机可读介质上编码的计算机程序指令的一个或多个模块。该计算机可读介质可以是机器可读存储设备、机器可读存储基板、存储器设备、影响机器可读传播信号的成分、或它们中的一个或多个的组合。术语“数据处理装置”包含用于处理数据的全部装置、设备和机器,包括通过示例方式的可编程处理器、计算机、或多个处理器或计算机。除了硬件,该装置可包括创建用于讨论中的该计算机程序的执行环境的代码,例如组成处理器固件、协议栈、数据库管理系统、操作系统、或它们中的一个或多个的组合的代码。
[0073]计算机程序(也被称为程序、软件、软件应用、脚本或代码)可以以包括编译语言或解释语言的任何形式的编程语言来编写,并且它可以以包括作为独立程序或作为模块、组件、子例程或适于在计算环境中使用的其他单元的任何形式来部署。计算机程序并不必须对应于文件系统中的文件。可将程序存储到保存其他程序或数据的文件的一部分(例如标记语言文档中存储的一个或多个脚本)中,专用于讨论中的该程序的单个文件中,或(例如存储一个或多个模块、子程序或部分代码的文件的)多个协同文件中。计算机程序可被部署为在一个计算机上执行或者在位于一个场所或跨多个场所分布并且通过通信网络互连的多个计算机上执行。
[0074]本公开中描述的过程和逻辑流程可由一个或多个可编程处理器执行,该一个或多个可编程处理器执行一个或多个计算机程序以通过操作输入数据并且生成输出来执行各功能。该过程和逻辑流程还可由专用逻辑电路例如FPGA (现场可编程门阵列)或ASIC (专用集成电路)执行,并且装置还可实施为专用逻辑电路例如FPGA (现场可编程门阵列)或ASIC (专用集成电路)。
[0075]适于执行计算机程序的处理器包括,通过示例的方式,通用和专用微处理器二者,以及任何种类的数字计算机中的任一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的元件可包括用于执行指令的处理器和用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括用于存储数据的一个或多个大容量存储设备例如磁盘、磁光盘或光盘,或者可操作地耦合以从用于存储数据的一个或多个大容量存储设备例如磁盘、磁光盘或光盘接收数据或向用于存储数据的一个或多个大容量存储设备例如磁盘、磁光盘或光盘传送数据或两者。然而,计算机不必须具有这种设备。此外,计算机可嵌入到另一设备例如移动电话、个人数字助理(PDA)、移动音频播放器、全球定位系统(GPS)接收机,仅举几个来说。适于存储计算机程序指令和数据的计算机可读介质包括全部形式的非易失性存储器、媒体和存储器设备,通过示例的方式包括半导体存储器设备例如EPROM、EEPR0M,以及闪存设备;磁盘例如内部硬盘或可移动盘;磁光盘;以及⑶ROM和DVD-ROM盘。该处理器和存储器可通过专用逻辑电路补充,或并入到专用逻辑电路中。
[0076]为了提供与用户的交互,本公开的实施方式可在计算机上实施,该计算机具有例如CRT (阴极射线管)或LCD (液晶显示器)监视器的用于给该用户显示信息的显示设备、以及例如鼠标或轨迹球通过其该用户可给计算机提供输入的定点设备和键盘。其他类型的设备也可被用于提供与用户的交互;例如,提供给该用户的反馈可以是任何形式的传感反馈,例如,视觉反馈、听觉反馈或触觉反馈;并且来自该用户的输入可以以任何形式接收,包括声音、语音或触觉输入。
[0077]虽然本公开包括一些细节,但是这些不应当被解释为对本公开的或可要求的范围的限制,而是作为本公开的示例性实施方式的特征的描述。本公开在单独的实施方式的上下文中描述的某些特征还可以以单个实施方式中的组合的方式来提供。反之,在单个实施方式的上下文中描述的各种特征还可以以多个实施方式的方式单独地提供或以任何适当的子组合的方式来提供。此外,虽然以上可将特征描述为在某些组合中起作用并且甚至初始如此要求,但是来自所要求的组合的一个或多个特征在一些情况下可从该组合中去除,并且所要求的组合可能被导向子组合或子组合的变形。
[0078]类似地,虽然各操作在图中以特定顺序来描绘,但是这不应当被理解为要求操作以所示的特定顺序或以连续的顺序执行,或要求执行全部图示的操作以实现期望的结果。在某些情况下,多任务和并行处理可能是有利的。此外,上面描述的实施方式中的各种系统组件的分离不应当被理解为在全部的实施方式中要求这种分离,并且应当理解为所描述的程序组件和系统通常可集成到单个软件产品中或封装进多个软件产品中。
[0079]因此,已经描述了本公开的特定实施方式。其他实施方式落入下列权利要求的范围内。例如,权利要求中叙述的动作可以以不同的顺序执行并且仍然实现期望的结果。已经描述了多个实施方式。然而,将理解,可进行各种修改而不背离本公开的精神和范围。例如,可以用重排序、添加或去除的步骤来使用上面示出的各种形式的流程。因此,其他实施方式落入下列权利要求的范围内。
【权利要求】
1.一种系统,包括: 一个或多个计算机;以及 其上存储有指令的耦合到所述一个或多个计算机的计算机可读介质,当所述指令被所述一个或多个计算机执行时致使所述一个或多个计算机执行包括如下的操作: 接收安装数据,所述安装数据对应于能在移动计算设备上安装和执行的一个或多个应用; 接收对应于所述一个或多个应用中的每个应用的元数据; 针对每个应用: 基于安装数目生成时间序列; 处理所述时间序列和所述元数据; 计算评分; 确定所述评分大于或等于阈值评分; 响应于所述确定,将相应的应用添加到趋势应用索引; 将所述趋势应用索引存储到计算机可读存储器中; 获取所述趋势应用索引;以及 基于所述趋势应用索引,传送一个或多个应用的指示用于显示。
2.根据权利要求1所述的系统,其中每个时间序列包括针对预定数目的时间段的每时间段的安装数目。
3.根据权利要求2所述的系统,其中所述时间段是一天并且所述预定数目的时间段合计一周。
4.根据权利要求2所述的系统,其中处理所述时间序列包括应用衰减系数以修正时间段在计算所述评分中的影响。
5.根据权利要求1所述的系统,其中所述评分基于所述时间序列的二阶导数。
6.根据权利要求1所述的系统,其中针对每个应用,所述评分基于所述应用的安装数量分数。
7.根据权利要求1所述的系统,其中所述安装数量分数基于全部应用的总安装数目确定。
8.根据权利要求1所述的系统,其中所述操作还包括基于所述元数据从所述趋势应用索引中的包括中过滤应用。
9.根据权利要求8所述的系统,其中在针对每个应用的生成、处理和计算之前执行过滤。
10.根据权利要求1所述的系统,其中所述操作还包括基于安装数目从所述趋势应用索引中的包括中过滤应用。
11.根据权利要求10所述的系统,其中当关联的安装数目小于阈值安装数目时,应用被过滤掉。
12.根据权利要求10所述的系统,其中在针对每个应用的生成、处理和计算之前执行过滤。
13.根据权利要求1所述的系统,其中所述操作还包括基于预定时间段期间的加速度从所述趋势应用索引中的包括中过滤应用。
14.根据权利要求13所述的系统,其中当所述预定时间段内的负加速度的连续数目大于负加速度的阈值数目时,应用被过滤掉。
15.根据权利要求13所述的系统,其中当所述预定时间段的特定子段内发生一个或多个负加速度时,应用被过滤掉。
16.根据权利要求1所述的系统,其中周期性地执行所述操作以周期性地更新所述趋势应用索引。
17.根据权利要求1所述的系统,其中所述安装数据包括针对每个应用的安装数目、卸载数目和更新数目。
18.—种编码有计算机程序的计算机存储介质,所述程序包括指令,当所述指令被一个或多个计算机执行时致使所述一个或多个计算机执行包括如下的操作: 接收安装数据,所述安装数据对应于能在移动计算设备上安装和执行的一个或多个应用; 接收对应于所述一个或多个应用中的每个应用的元数据; 针对每个应用: 基于安装数目生成时间序列; 处理所述时间序列和所述元数据; 计算评分; 确定所述评分大于或等于阈值评分;以及 响应于所述确定,将相应的应用添加到趋势应用索引; 将所述索引存储到计算机可读存储器中。
19.一种计算机实施的方法,包括: 接收安装数据,所述安装数据对应于能在移动计算设备上安装和执行的一个或多个应用; 接收对应于所述一个或多个应用中的每个应用的元数据; 针对每个应用: 基于安装数目生成时间序列; 处理所述时间序列和所述元数据; 计算评分; 确定所述评分大于或等于阈值评分;以及 响应于所述确定,将相应的应用添加到趋势应用索引; 将所述索引存储到计算机可读存储器中。
20.根据权利要求19所述的计算机实施的方法,其中每个时间序列包括针对预定数目的时间段的每时间段的安装数目。
【文档编号】G06F9/445GK103930871SQ201280030853
【公开日】2014年7月16日 申请日期:2012年5月9日 优先权日:2011年5月9日
【发明者】F·德博纳, B·梅塔 申请人:谷歌公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1