用于监控在操作系统内执行的至少一个应用的使用情况的方法、相应装置、计算机程序产品和计算机可读载体介质

文档序号:1909873 发布日期:2021-11-30 浏览:14次 >En<

阅读说明:本技术 用于监控在操作系统内执行的至少一个应用的使用情况的方法、相应装置、计算机程序产品和计算机可读载体介质 (Method for monitoring the usage of at least one application executed within an operating system, corresponding device, computer program product and computer-readable carrier medium ) 是由 洛朗·道文 于 2020-03-30 设计创作,主要内容包括:本公开涉及一种用于监控在电子设备的操作系统内执行的至少一个应用的使用情况的方法。该方法包括以下处理的至少一次迭代:当处理条件不满足时:确定(11)与当前应用相关联的视频事件;将所述视频事件存储(12)在数据结构中,提供视频事件集(21);一旦所述处理条件满足:确定(13)过去的播放时段;调用(14)所述操作系统上提供的使用统计API,提供代表应用被放在系统前台还是系统后台中的应用事件集(22);从所述应用事件集(22)中检索(15)在所述过去的播放时段期间发生的应用事件;从所述视频事件集(21)中检索(16)在所述过去的播放时段期间发生的视频事件;按时间顺序对检索到的应用事件和视频事件排序(17),提供已排序事件的合并集(23)。(The present disclosure relates to a method for monitoring usage of at least one application executing within an operating system of an electronic device. The method includes at least one iteration of: when the processing conditions are not satisfied: determining (11) a video event associated with a current application; storing (12) the video events in a data structure, providing a set of video events (21); once the processing conditions are satisfied: determining (13) a past playing period; calling (14) a usage statistics API provided on said operating system, providing a set of application events (22) on behalf of whether an application is placed in system foreground or system background; retrieving (15) from the set of application events (22) application events that occurred during the past playing period; retrieving (16) video events occurring during the past playing period from the set of video events (21); the retrieved application events and video events are sorted in time order (17), providing a union set of sorted events (23).)

用于监控在操作系统内执行的至少一个应用的使用情况的方 法、相应装置、计算机程序产品和计算机可读载体介质

技术领域

本发明一般地涉及数据分析领域。更具体地说,本公开涉及一种用于监控在电子设备的操作系统内执行的应用的使用情况的方法。

背景技术

本节旨在向读者介绍本领域的各个方面,这些方面可能与下文描述和/或要求保护的本公开的各个方面有关。该讨论被认为有助于向读者提供背景信息,以促进更好地理解本公开的各个方面。因此,应当理解的是,这些陈述应当从这个角度来解读,而不是作为对现有技术的承认。

从现场收集客户信息对于运营商(诸如,互联网服务提供商或电话运营商)进行积极主动的反应、增强客户体验至关重要。更具体地说,运营商感兴趣的是收集关于电子设备(例如,智能电话或机顶盒)上主要使用哪些应用(application)以及这些应用的使用时长和使用方式的信息。这些数据必须是匿名的,但仍然可以在更大范围内推断信息。

然而,获得这样的信息通常是相当困难的。

事实上,尽管一些应用可以在它们自己的代码中实现允许用户监控其使用情况的它们自己的分析解决方案,但在这些应用之外通常没有直接的信息可用。此外,许多应用根本没有实现此类分析解决方案。此外,运营商通常无法控制安装在电子设备上的应用。

一些操作系统提供了用于获取有关应用使用情况的一些信息的方法。然而,获得的信息通常是零碎且有限的。例如,安卓操作系统提供了本机使用统计应用编程接口(API),该API可以被调用来获取有关应用被放在系统前台还是系统后台中的历史记录以及相应的时间戳。然而,不能从这样的API直接推断出有关应用如何被使用的信息。例如,考虑到提供视频内容的应用,区分真正用于观看视频的时间与浏览应用提供的视频目录所花费的时间是很有意义的。

因此,希望提供一种技术,该技术将至少避免现有技术的这些缺点中的一些缺点,并且将显著地允许以更准确的方式监控应用。

发明内容

根据本公开,公开了一种用于监控在电子设备的操作系统内执行的至少一个应用的使用情况的方法。该方法由不同于所述至少一个应用的监控应用实现,并且包括以下处理的至少一次迭代:

-当处理条件不满足时:

-确定与当前应用相关联的视频事件;

-将所述视频事件与相应的视频事件时间戳一起存储在数据结构中,提供视频事件集;

-一旦所述处理条件满足:

-确定过去的播放时段;

-调用所述操作系统上提供的使用统计API,提供代表应用被放在系统前台还是系统后台中的应用事件集:

-应用被放在在系统前台中,定义应用启动事件;或

-应用被放在在系统后台中,定义应用停止事件;

每个应用事件与相应的应用事件时间戳相关联;

-基于所述应用事件时间戳,从所述应用事件集中检索在所述过去的播放时段期间发生的应用事件;

-基于所述视频事件时间戳,从所述视频事件集中检索在所述过去的播放时段期间发生的视频事件;

-基于所述应用事件时间戳和所述视频事件时间戳,按时间顺序对检索到的应用事件和视频事件排序,提供在所述过去的播放时段期间发生的已排序事件的合并集。

根据实施例,确定与当前应用相关联的视频事件包括:

-通过对所述使用统计API的调用来识别所述当前应用,所述当前应用对应于在使用统计数据中被记录为放在系统前台中的最后一个应用;

-根据与所述当前应用相关联的前一视频事件、当前音频状态、和当前网络使用状态来确定所述视频事件。

根据实施例,与所述当前应用相关联的所述前一视频事件是从所述视频事件集中检索得出的。

根据实施例,所述当前音频状态和/或所述当前网络使用状态是通过调用所述操作系统提供的至少一个API获得的。

根据替代实施例,所述当前音频状态和/或所述当前网络使用状态是通过监控所述电子设备的至少一个装备获得的。

根据实施例,所述视频事件是视频开始事件或视频停止事件,并且:

-当满足以下条件时,所述视频事件是视频开始事件:

-所述前一视频事件是视频停止事件;和

-所述当前音频状态是活动状态;和

-所述网络当前网络使用状态是活动状态;

-当满足以下条件时,所述视频事件是视频停止事件:

-所述前一视频事件是视频开始事件;和

-所述当前音频状态是非活动状态。

根据实施例,所提出的方法还包括:从所述已排序事件的合并集中移除相同类型的连续重复事件。

根据实施例,所提出的方法还包括:从所述已排序事件的合并集中移除:

-由应用启动事件和应用停止事件形成的连续重复对;

-由视频开始事件和视频停止事件形成的连续重复对。

根据实施例,所提出的方法还包括:当满足以下条件时,从所述已排序事件的合并集中移除由应用启动事件和应用停止事件形成的事件对:

-将所述应用启动事件和所述应用停止事件分开的持续时间低于预定阈值;

-与所述事件对相关联的应用不在预定应用列表中。

根据本实施例的特定特征,该方法还包括:当满足以下条件时,向由所述已排序事件的合并集中的应用启动事件和应用停止事件形成的事件对添加标志:

-将所述应用启动事件和所述应用停止事件分开的持续时间低于所述预定阈值;

-与所述事件对相关联的应用存在于所述预定应用列表中。

根据实施例,所述监控应用是在系统后台中执行的系统应用。

根据实施例,所述操作系统是安卓操作系统。

本公开还涉及一种用于监控在电子设备的操作系统内执行的至少一个应用的使用情况的装置,其中,所述装置包括至少一个处理器,所述至少一个处理器被适配并配置用于:

-当处理条件不满足时:

-确定与当前应用相关联的视频事件;

-将所述视频事件和相应的视频事件时间戳一起存储在数据结构中,提供视频事件集;

-一旦所述处理条件满足:

-确定过去的播放时段;

-调用所述操作系统上提供的使用统计API,提供代表应用被放在系统前台还是系统后台中的应用事件集:

-应用被放在系统前台中,定义应用启动事件;或

-应用被放在系统后台中,定义应用停止事件;

每个应用事件与相应的应用事件时间戳相关联;

-基于所述应用事件时间戳,从所述应用事件集中检索在所述过去的播放时段期间发生的应用事件;

-基于所述视频事件时间戳,从所述视频事件集中检索在所述过去的播放时段期间发生的视频事件;

-基于所述应用事件时间戳和所述视频事件时间戳,按时间顺序对检索到的应用事件和视频事件排序,提供在所述过去的播放时段期间发生的已排序事件的合并集。

根据一种实施方式,如上所述的用于监控至少一个应用的使用情况的方法的不同步骤由一个或多个软件程序或软件模块程序实现,这些软件程序或软件模块程序包括软件指令,这些软件指令计划由用于监控在电子设备的操作系统内执行的至少一个应用的使用情况的装置的数据处理器执行,这些软件指令被设计为命令根据本原理的方法的不同步骤的执行。

还公开了一种能够由计算机或数据处理器执行的计算机程序,该程序包括指令,这些指令用于命令如上所述的用于监控在电子设备的操作系统内执行的至少一个应用的使用情况的方法的步骤的执行。

该程序可以使用任何编程语言,并且可以是源代码、目标代码、或源代码与目标代码之间的中间代码的形式,例如,部分编译形式或任何其他需要的形式。

信息载体可以是能够存储程序的任何实体或装置。例如,载体可以包括存储装置,诸如ROM,例如CD-ROM或微电子电路ROM,或者磁记录装置,例如软盘或硬盘驱动器。

同样,信息载体可以是可发送载体,诸如电信号或光信号之类,其可以通过电缆或光缆、无线电或其他方式传送。根据本原理的程序尤其可以上传到互联网类型的网络。

作为替代方案,信息载体可以是其中包含有程序的集成电路,该电路被适配为执行所述方法或被用于所述方法的执行。

根据一个实施例,所述方法/装置可通过软件和/或硬件组件来实现。在这方面,术语“模块”或“单元”在本文档中可以同样好地对应于软件组件和硬件组件或硬件和软件组件的集合。

软件组件对应于一个或多个计算机程序、程序的一个或多个子程序,或更一般地对应于程序或一段软件的任何元素,它们能够实现下文针对相关模块所述的功能或功能集。这样的软件组件由物理实体(终端、服务器等)的数据处理器执行,并且能够访问该物理实体的硬件资源(存储器、记录介质、通信总线、输入/输出电子板、用户接口等)。

以相同的方式,硬件组件对应于硬件单元的任何元件,其能够实现下文针对相关模块所述的功能或功能集。它可以是可编程硬件组件或具有用于执行软件的集成处理器的组件,例如,集成电路、智能卡、存储卡、用于执行固件的电子板等。

还公开了在其上存储此类程序的非暂态处理器可读介质。

应当理解的是,前述一般描述和以下详细描述都是示例性的和解释性的,并且不限制权利要求所述的公开。

还必须理解的是,说明书中对“一个实施例”或“实施例”的引用指示所描述的实施例可以包括特定特征、结构、或特性,但是并不一定每个实施例都包括该特定特征、结构、或特性。此外,这些短语不一定指代相同的实施例。此外,当结合实施例描述特定特征、结构、或特性时,应该认为无论是否明确描述,结合其他实施例影响该特征、结构、或特性都在本领域技术人员的知识范围内。

附图说明

可以参考以下描述和附图更好地理解本公开的实施例,这些描述和附图以示例而非限制保护范围的方式给出,其中:

图1是示出根据本公开的实施例的所提议的用于监控在电子设备的操作系统内执行的至少一个应用的使用情况的技术的一般原理的流程图;

图2示出了根据本公开的实施例的如何使用所提出的技术来获取已排序事件的合并集的示例,该已排序事件的合并集提供关于应用使用情况的有价值信息;

图3示出了根据本公开的实施例的允许清理已排序事件的合并集的各种机制;

图4是示出根据本公开的实施例的用于监控在电子设备的操作系统内执行的至少一个应用的使用情况的装置的示例的示意框图。

附图中的组件不一定是按比例的,重点在于图示出本公开的原理。

具体实施方式

本公开涉及一种允许监控在电子设备的操作系统内执行的应用的使用情况的方法。该方法由不同于要监视的应用的监控应用实现,并且该方法目的在于不仅提供关于应用使用时间的信息,而且还提供关于某些被监控的应用如何被使用的信息。因此,通过监控,这里理解为提供了一种从在操作系统内执行的应用的外部检测这些应用的一些使用情况的方法。更具体地说,所提出的技术旨在确定应用使用时间(即,检测应用何时启动和关闭),以及对于允许播放视频的应用(例如,YouTube、Netflix等),还确定专用于观看视频的时间与专用于浏览视频目录的时间。在一个实施例中,如本文后面将描述的,所提出的技术还允许检测何时使用搜索引擎,以及它被用于执行文本搜索还是语音搜索。

如下文将参考附图更全面地描述的,本公开的一个方面提出了通过交叉各种可用数据来获得在所监控的应用中发生的视频事件的集合,并且本公开的另一方面提出通过调用操作系统上提供的使用统计API来获得应用事件集。然后,在特定条件下合并视频事件集和应用事件集,以便提供已排序事件的合并集,该已排序事件的合并集提供关于何时在电子设备上使用应用以及使用应用的时长和方式的有价值信息。在本公开的上下文中,使用统计API返回关于应用被放在系统前台还是系统后台中的信息。由于统计数据更新不是全球系统生命周期中的关键点,因此它通常是允许使用电子设备的资源来执行的最后的核心进程之一。因此,由使用统计API提供的应用事件集可能不是实时更新的。相反,视频事件集必须通过定期(例如,每秒)分析电子设备活动来逐步、几乎实时地构建,因为在本公开的上下文中没有API允许访问视频统计数据。根据本公开的一般原则,为了调和这两个问题,提出将前面描述的合并处理延迟一段时间,以便给系统必要的时间来更新使用统计数据,并根据过去的给定播放时段(time slot)来执行合并,以确保在调用API时通过使用统计API获得的数据在给定播放时段内是完整的。

然而,本公开可以以许多替代形式实现,并且不应被解释为局限于本文所述的实施例。因此,尽管本公开容易受到各种修改和替代形式的影响,但其具体实施例在附图中以示例的方式示出并将在本文中详细描述。然而,应当理解的是,无意将本公开局限于所公开的特定形式,相反,本公开旨在涵盖权利要求所定义的本公开的范围内的所有修改、等同、和替代。在附图中,贯穿多个视图用相同的参考符号指定类似或相似的元件。

虽然未明确描述,但本公开的实施例和变型可以在任何组合或子组合中使用。

图1是用于解释根据本公开的实施例的用于监控在电子设备的操作系统内执行的至少一个应用的使用情况的方法的流程图。根据特定特征,该方法由监控应用实现,该监控应用采用在操作系统的顶层运行的系统应用的形式(作为后台服务)。电子设备可以是嵌入有操作系统的任何设备,例如,智能电话、平板电脑、计算机、机顶盒等。操作系统(例如,Windows、MacOS、安卓(Android)、IOS等)提供允许在电子设备上执行各种应用的环境。这些应用可以是预安装的应用,或者是电子设备的用户在购买后安装的应用。

在第一阶段,在处理条件不满足的情况下,以循环时间为基础(例如,每秒)执行两个步骤——用于确定与当前应用相关联的视频事件的步骤11和用于将所述视频事件存储在数据结构中的步骤12。通过这种方式,几乎实时地逐步构建视频事件集。下文将进一步详述步骤11和12。

在步骤11,确定与当前应用相关联的视频事件。在一个实施例中,这样的视频事件是视频开始事件(即,视频刚刚在当前应用中发起)或视频停止事件(即,视频刚刚在当前应用中停止)。换句话说,视频事件代表视频状态的变化(从视频停止到视频播放,或从视频播放到视频停止)。当前应用是在执行步骤11时处于系统前台中的应用。在实施例中,通过调用操作系统提供的使用统计API来识别当前应用。于是,当前应用对应于在对所述使用统计API的调用所提供的结果中被记录为放在系统前台(但未记录为放在系统后台)中的最后一个应用。于是,与当前应用相关联的视频事件根据与所述当前应用相关联的前一视频事件、当前音频状态、和当前网络使用状态而被确定。

更具体地,根据一个实施例:

-当满足以下所有条件时,视频事件被识别为视频开始事件:与当前应用相关联的前一视频事件是视频停止事件,当前音频状态是活动状态,以及当前网络使用状态是活动状态(即,如本文后面所述,网络的使用至少在预定时间量期间是连续的);

-当满足以下所有条件时,视频事件被识别为视频停止事件:与当前应用相关联的前一视频事件是视频开始事件,以及当前音频状态是非活动状态。

在一个实施例中,与当前应用相关联的前一视频事件是从在步骤11和12的前一次迭代结束时提供的视频事件集中检索得出的(如果视频事件集尚不包含与当前应用相关联的任何视频事件,则可以使用默认值:例如,在这种情况下,可以将前一视频事件视为视频停止事件)。

确定音频流当前是否正在电子设备上播放以及确定一段时间内的应用网络使用情况可以通过多种方式执行。根据实施例,使用操作系统内提供的一些应用编程接口(不同于使用统计API)来获得该信息。例如,可以调用API来确定当前应用是否正在使用网络。更具体地,可以周期性地调用这样的API,以便可以确定当前应用当前使用网络的时间是否高于预定阈值。如果达到阈值(例如,阈值设置为10秒,并且确定当前应用在过去11秒内使用了网络),则当前网络使用状态被视为活动状态。否则,当前网络使用状态将被视为非活动状态。这使得能够更精确地区分真正的视频流送使用(通常以大量使用网络为特征)与不应被理解为视频播放的其他使用(例如,在音频由于某种原因也处于活动状态的情况下,视频目录在用户浏览时的逐步加载)。可以实现相同或类似的机制来确定当前音频状态是否被认为是活动的。例如,如果当前在电子设备上播放音频流,则当前音频状态被认为是活动的,如果在过去十秒钟内没有播放声音,则当前音频状态被认为是非活动的。根据另一实施例,替代使用API,可以通过借助专用探针直接监控电子设备的特定装备来获得当前网络使用状态和/或当前音频状态。例如,监控电子设备的声卡和/或网络接口可允许分别推断出当前音频状态和/或当前网络使用状态。

如上所述的这种信息的交叉使得推断一些原本不可能仅使用一个度量来检测的应用使用情况成为可能。例如,在流送视频时,需要随着时间逐块下载视频。因此,网络的使用并不是一成不变的。但是,音频是一直使用的,因此将网络使用信息与音频信息交叉可以检测视频是否正被流送。此外,将此信息与应用使用情况进一步交叉,可以确定哪个应用当前正在流送视频。

在步骤12,将所确定的视频事件与相应的视频事件时间戳一起存储在数据结构(例如,与监控应用相关联的数据库)中。在一个实施例中,在数据结构中,当前应用的名称也与所确定的事件相关联。

如前所述,在不满足处理条件的情况下,用于确定与当前应用相关联的视频事件的步骤11和用于将所述视频事件存储在数据结构中的步骤12以循环时间为基础(例如,每秒)执行。当给定数量的视频事件被存储在视频事件集21中时,当经过了给定时间时,或者当执行了步骤11和12的给定数量的迭代时,可以满足这样的处理条件。例如,处理条件可以每10秒满足一次。

一旦处理条件满足,则执行第二阶段,该阶段可称为处理阶段或合并阶段。

在步骤13,确定过去的播放时段。在一个实施例中,过去的播放时段根据当前时间和执行第二阶段的频率而被确定。例如,如果每10秒满足一次处理条件,则过去的播放时段可以由从“当前时间-20秒”开始到“当前时间-10秒”结束的时间间隔来定义(即,它从“当前时间减去执行第二阶段的时段的两倍”开始,并在“当前时间减去执行第二阶段的时段”结束)。

在步骤14,执行对操作系统上提供的使用统计API的调用。该调用返回应用事件集22,该应用事件代表应用被放在系统前台(在本公开的上下文中,被视为应用启动事件)还是系统后台(在本公开的上下文中,被视为应用停止事件)中。每个应用事件与相应的应用事件时间戳相关联。

在步骤15,基于应用事件时间戳,从所述应用事件集中检索在步骤13确定的过去的播放时段期间发生的应用事件。过去的播放时段是过去足够远的播放时段,因此基于此间隔而使用统计API返回的使用统计数据是最新的。

以类似的方式处理先前通过步骤11和12的重复迭代构建的视频事件集21:在步骤16,基于视频事件时间戳,从所述视频事件集21中检索在步骤13确定的过去的播放时段期间发生的视频事件。

然后,基于应用事件时间戳和视频事件时间戳,收集在步骤15检索到的应用事件和在步骤16检索到的视频事件并按时间顺序对这些应用事件和视频事件排序,以便提供在步骤13确定的过去的播放时段期间发生的已排序事件的合并集23。

图2示出了如何相对于过去的播放时段TS(例如,过去的播放时段从时间戳t200开始并在时间戳t400结束)对视频事件集21和应用事件集22进行过滤,然后对它们进行合并以提供已排序事件的合并集23。

从本示例可以看出,事件可能有四种类型:应用启动事件(APP_START)、应用停止事件(APP_STOP)、视频开始事件(VIDEO_START)、和视频停止事件(VIDEO_STOP)。每个事件都与相应的时间戳和相应的应用相关联。还应注意,事件通常可以成对收集:一方面由应用启动事件和应用停止事件形成的事件对(例如,关于应用App7,在已排序事件的合并集23中,由时间戳t382处的APP_START和时间戳t398处的APP_STOP形成的事件对),另一方面由视频开始事件和视频停止事件形成的事件对(例如,关于在应用App4中播放的视频,在已排序事件的合并集23中,由时间戳t284处的VIDEO_START和时间戳t355处的VIDEO_STOP形成的事件对)。

前面关于图2描述的示例示出了一种标称情况,其中,所有事件对(如前所述)在已排序事件的合并集中形成良好。然而,由于各种原因,在实践中可能并不总是如此。例如,由于统计数据更新不是全球操作系统生命周期中的关键点,因此使用统计API提供的使用统计数据的准确性可能是不完美的。由于系统限制,操作系统还可能在短时间内多次将同一应用置于前台和后台中。由于视频事件的确定还依赖于使用统计API的使用(以识别当前应用),因此最终也可能在视频事件集中观察到一些不准确。因此,对于应用事件和视频事件二者,可能看到重复的事件,如图3所示的已排序事件的合并集31的示例所示。

因此,根据一些实施例,提出了下文描述的各种机制来对已排序事件的合并集31进行清理。

根据一个实施例,所提出的技术包括从已排序事件的合并集中移除相同类型的连续重复事件。通过相同类型的连续重复事件,这里指的是与给定事件类型相同的事件,与相同应用而不是给定事件相关联的事件,以及在已排序事件的合并集中紧跟在给定事件后面形成(一个或多个事件)链的事件。例如,参考图3,在时间戳t354和t355处与应用App3相关联的两个APP_STOP事件是在时间戳t352处与应用App3相关联的APP_STOP事件的连续重复事件。因此,这些事件与所有其他连续重复事件(图3中编号为310)一起被从已排序事件的合并集中移除。

根据一个实施例,所提出的技术还包括:当将应用启动事件和应用停止事件分开的持续时间低于预定阈值(例如,3秒)时,从已排序事件的合并集中移除由所述应用启动事件和所述应用停止事件形成的事件对。这些应用事件对实际上可以被视为寄生事件或噪声,因为它们定义的时间间隔太短而无法代表应用的实际使用。然而,根据特定特征,仅当与所述应用事件对相关联的应用不在预定应用列表中时,才可以执行这样的移除。这样,可以使用预定列表来识别一些特定应用,对于这些应用,即使非常短的使用时间也被认为是相关的。例如,搜索引擎应用(例如,在安卓操作系统上运行的应用Katnis)的使用时间可能非常短(例如,少于3秒),尤其是在搜索引擎应用被用来执行语音搜索时。事实上,对要搜索的关键词进行发音通常比编写它们快得多。这样的搜索引擎应用因此可以被添加到上述的预定应用列表中。例如,回到图3,假设应用App3不存在于这样的预定应用列表中,与App3相关联的APP_START-APP_STOP事件对320被从已排序事件的合并集中移除,因为时间戳t752和t754之间的时间间隔低于预定阈值(例如,3秒)。然而,假设应用App2存在于这样的列表中(例如,因为App2被称为搜索引擎应用),则与应用App2相关联的APP_START-APP_STOP事件对330被保留(即,不被移除)在已排序事件的合并集中,尽管时间戳t755和t757之间的时间间隔也低于3秒的预定阈值。根据特定特征,甚至可以在已排序事件的合并集中对这样的事件对330添加标志。例如,如图3所示,标志“VOICE_ACTIVATED(语音被激活)”被添加到与应用App2相关联的APP_START-APP_STOP事件对330中。在App2是搜索引擎应用的情况下,这样的特征使得能够在已排序事件的合并集中区分推定的语音搜索(事件对330)和推定的文本搜索(事件对340)。

由于上述机制,最终获得了已排序事件的经过清理的合并集32。

通过本文档中先前描述的各种实施例获得的已排序事件的合并集提供了关于应用使用情况的许多有价值信息。例如,图3的已排序事件的合并集32告诉我们:

-在时间戳t301和t352之间,应用App3被使用;

-在时间戳t356和t366之间,搜索引擎应用App2被使用,可能用于文本搜索(无标志);

-在时间戳t367和t750之间,视频应用App4被使用,时间戳t367和t427之间的时间可能专用于浏览视频目录(因为在此期间没有播放视频),时间戳t427和t750之间的时间专用于观看视频;

-在时间戳t755和t757之间,搜索引擎应用App2被使用,可能用于语音搜索(存在标志VOICE_ACTIVATED(语音被激活))。

根据实施例,这种已排序事件的合并集可被发送到诸如数据仓库之类的远程服务器以供进一步分析。

根据另一方面,本公开还涉及一种用于监控在电子设备的操作系统内执行的至少一个应用的使用情况的装置,其中,所述装置包括至少一个处理器,所述至少一个处理器被适配并配置用于:

-当处理条件不满足时:

-确定与当前应用相关联的视频事件;

-将所述视频事件和相应的视频事件时间戳一起存储在数据结构中,提供视频事件集;

-一旦所述处理条件满足:

-确定过去的播放时段;

-调用所述操作系统上提供的使用统计API,提供代表应用被放在系统前台还是系统后台中的应用事件集:

-应用被放在在系统前台中,定义应用启动事件;或

-应用被放在在系统后台中,定义应用停止事件;

每个应用事件与相应的应用事件时间戳相关联;

-基于所述应用事件时间戳,从所述应用事件集中检索在所述过去的播放时段期间发生的应用事件;

-基于所述视频事件时间戳,从所述视频事件集中检索在所述过去的播放时段期间发生的视频事件;

-基于所述应用事件时间戳和所述视频事件时间戳,按时间顺序对检索到的应用事件和视频事件排序,提供在所述过去的播放时段期间发生的已排序事件的合并集。

这样的装置特别适于实现上述用于监控至少一个应用的使用情况的方法。它当然可以包括与根据本公开的实施例的方法有关的不同特征,这些特征可以组合或单独获取。因此,该装置的特征和优点与该方法的特征和优点相同。

图4是示出根据本公开的实施例的用于监控在电子设备的操作系统内执行的至少一个应用的使用情况的装置400的示例的示意框图。如前所述,电子设备可以是包括提供允许在电子设备上执行各种应用的环境的操作系统的任何设备。例如,电子设备可以是智能电话、平板电脑、计算机、机顶盒等。在一个实施例中,装置400可以嵌入在电子设备中,并且可能具有一些共享资源。在另一实施例中,它可以是连接到电子设备或与电子设备通信的外部装置。

装置400具有存储器41和处理单元42,存储器41包括缓冲存储器,处理单元42例如配备有微处理器并由计算机程序43驱动,计算机程序43实施根据本发明的用于监控在电子设备的操作系统内执行的至少一个应用的使用情况的方法的至少某些步骤。

在初始化时,计算机程序43的代码指令例如被加载到RAM中,然后由处理单元42的处理器执行。处理单元42输入至少一条信息I,例如处理条件是否满足的结果。处理单元42的微处理器根据计算机程序43的指令,实现上述方法的一些步骤,以将在过去的播放时段期间发生的已排序事件的合并集作为一条处理信息T进行提供。为此,处理单元42的微处理器被适配并配置用于:

-当处理条件不满足时:

-确定与当前应用相关联的视频事件;

-将所述视频事件和相应的视频事件时间戳一起存储在数据结构中,提供视频事件集;

-一旦所述处理条件满足:

-确定过去的播放时段;

-调用所述操作系统上提供的使用统计API,提供代表应用被放在系统前台还是系统后台中的应用事件集:

-应用被放在系统前台中,定义应用启动事件;或

-应用被放在系统后台中,定义应用停止事件;

每个应用事件与相应的应用事件时间戳相关联;

-基于所述应用事件时间戳,从所述应用事件集中检索在所述过去的播放时段期间发生的应用事件;

-基于所述视频事件时间戳,从所述视频事件集中检索在所述过去的播放时段期间发生的视频事件;

-基于所述应用事件时间戳和所述视频事件时间戳,按时间顺序对检索到的应用事件和视频事件排序,提供在所述过去的播放时段期间发生的已排序事件的合并集。

本公开的另一方面涉及至少一种计算机程序产品,该至少一种计算机程序产品可从通信网络下载,和/或记录在计算机可读介质上,和/或能由处理器执行,并且包括用于实现上述方法的程序代码指令。

此外,本公开还涉及一种非暂态计算机可读介质,包括记录在该非暂态计算机可读介质上且能够由处理器运行的计算机程序产品,该计算机程序产品包括用于实现如上所述的用于监控至少一个应用的使用情况的方法的程序代码指令。

鉴于在其中存储信息的固有能力以及提供从中检索信息的固有能力,本文中使用的计算机可读存储介质被视为非暂态存储介质。计算机可读存储介质可以是例如但不限于,电子、磁性、光学、电磁、红外、或半导体系统、设备、或装置,或上述的任何适当组合。应当理解的是,在提供可应用本原理的计算机可读存储介质的更具体示例的同时,以下仅是本领域普通技术人员容易理解的说明性而非详尽的列表:便携式计算机软盘;硬盘;只读存储器(ROM);可擦除可编程只读存储器(EPROM或闪存);便携式光盘只读存储器(CD-ROM);光存储设备;磁存储设备;或上述各项的任何适当组合。

权利要求书(按照条约第19条的修改)

1.一种用于监控在电子设备的操作系统内执行的至少一个应用的使用情况的方法,该方法由不同于所述至少一个应用的监控应用实现,其中,该方法包括以下处理的至少一次迭代:

-当处理条件不满足时:

-确定(11)与当前应用相关联的视频事件,该确定包括:

-通过对所述操作系统上提供的使用统计API的调用来识别所述当前应用,所述使用统计提供代表应用被放在系统前台还是系统后台中的应用事件集:

-应用被放在系统前台中,定义应用启动事件;或

-应用被放在系统后台中,定义应用停止事件;

每个应用事件与相应的应用事件时间戳相关联,所述当前应用对应于在所述应用事件集中被记录为放在系统前台中的最后一个应用;

-根据与所述当前应用相关联的前一视频事件、当前音频状态、以及当前网络使用状态来确定所述视频事件;

-将所述视频事件与相应的视频事件时间戳一起存储(12)在数据结构中,提供视频事件集(21);

-一旦所述处理条件满足:

-确定(13)过去的播放时段;

-调用(14)所述使用统计API,提供更新的应用事件集(22);

-基于所述应用事件时间戳,从所述更新得应用事件集(22)中检索(15)在所述过去的播放时段期间发生的应用事件;

-基于所述视频事件时间戳,从所述视频事件集(21)中检索(16)在所述过去的播放时段期间发生的视频事件;

-基于所述应用事件时间戳和所述视频事件时间戳,按时间顺序对检索到的应用事件和视频事件排序(17),提供在所述过去的播放时段期间发生的已排序事件的合并集(23)。

2.根据权利要求1所述的方法,其中,与所述当前应用相关联的所述前一视频事件是从所述视频事件集中检索得出的。

3.根据权利要求1所述的方法,其中,所述当前音频状态和/或所述当前网络使用状态是通过对所述操作系统提供的至少一个API的调用获得的。

4.根据权利要求1所述的方法,其中,所述当前音频状态和/或所述当前网络使用状态是通过监控所述电子设备的至少一个装备获得的。

5.根据权利要求1所述的方法,其中,所述视频事件是视频开始事件或视频停止事件,并且其中:

-当以下条件满足时,所述视频事件是视频开始事件:

-所述前一视频事件是视频停止事件;且

-所述当前音频状态是活动状态;且

-所述网络当前网络使用状态是活动状态;

-当以下条件满足时,所述视频事件是视频停止事件:

-所述前一视频事件是视频开始事件;且

-所述当前音频状态是非活动状态。

6.根据权利要求1所述的方法,其中,所述方法还包括:从所述已排序事件的合并集中移除相同类型的连续重复事件。

7.根据权利要求1所述的方法,其中,所述方法还包括:从所述已排序事件的合并集中移除:

-由应用启动事件和应用停止事件形成的连续重复对;和

-由视频开始事件和视频停止事件形成的连续重复对。

8.根据权利要求1所述的方法,其中,所述方法还包括:当以下条件满足时,从所述已排序事件的合并集中移除由应用启动事件和应用停止事件形成的事件对:

-将所述应用启动事件和所述应用停止事件分开的持续时间低于预定阈值;且

-与所述事件对相关联的应用不在预定应用列表中。

9.根据权利要求8所述的方法,其中,所述方法还包括:在以下条件满足时,向所述已排序事件的合并集中的由应用启动事件和应用停止事件形成的事件对添加标志:

-将所述应用启动事件和所述应用停止事件分开的持续时间低于所述预定阈值;且

-与所述事件对相关联的应用存在于所述预定应用列表中。

10.根据权利要求1所述的方法,其中,所述监控应用是在所述系统后台中执行的系统应用。

11.根据权利要求1所述的方法,其中,所述操作系统是安卓操作系统。

12.一种用于监控在电子设备的操作系统内执行的至少一个应用的使用情况的装置,其中,该装置包括至少一个处理器,所述至少一个处理器被适配并配置用于:

-当处理条件不满足时:

-确定与当前应用相关联的视频事件,该确定包括:

-通过对所述操作系统上提供的使用统计API的调用来识别所述当前应用,所述使用统计提供代表应用被放在系统前台还是系统后台中的应用事件集:

-应用被放在系统前台中,定义应用启动事件;或

-应用被放在系统后台中,定义应用停止事件;

每个应用事件与相应的应用事件时间戳相关联,所述当前应用对应于在所述应用事件集中被记录为放在系统前台中的最后一个应用;

-根据与所述当前应用相关联的前一视频事件、当前音频状态、以及当前网络使用状态来确定所述视频事件;

-将所述视频事件和相应的视频事件时间戳一起存储在数据结构中,

提供视频事件集;

-一旦所述处理条件满足:

-确定过去的播放时段;

-调用所述使用统计API,提供更新的应用事件集;

-基于所述应用事件时间戳,从所述更新的应用事件集中检索在所述过去的播放时段期间发生的应用事件;

-基于所述视频事件时间戳,从所述视频事件集中检索在所述过去的播放时段期间发生的视频事件;

-基于所述应用事件时间戳和所述视频事件时间戳,按时间顺序对检索到的应用事件和视频事件排序,提供在所述过去的播放时段期间发生的已排序事件的合并集。

13.一种计算机程序产品,能从通信网络下载,和/或记录在计算机可读介质上,和/或能由处理器执行,所述计算机程序产品包括用于实现根据权利要求1至12中任一项所述的方法的程序代码指令。

14.一种非暂态计算机可读介质,包括记录在该非暂态计算机可读介质上且能够由处理器运行的计算机程序产品,该计算机程序产品包括用于实现根据权利要求1至12中任一项所述的方法的程序代码指令。

21页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:遥控装置、信息处理方法以及程序

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类