用于在启动期间管理服务的调度的方法和装置与流程

文档序号:20499432发布日期:2020-04-21 22:38阅读:150来源:国知局
用于在启动期间管理服务的调度的方法和装置与流程

本公开一般地涉及计算设备的引导,更具体地说,涉及用于在启动进程期间管理服务的调度的方法和装置。



背景技术:

当电子设备接通时,电子设备在开始正常操作之前经历引导进程。电子设备的引导时间是确定电子设备的性能的主要因素之一。



技术实现要素:

技术问题

本发明的一个方面在于提供用于在启动进程期间管理服务的调度的方法和装置。

本发明的另一方面在于提供一种用于在包括多核处理器的电子设备中在启动进程期间管理服务的调度的方法和装置。

本发明的另一个方面在于提供用于确定在电子设备的启动进程期间发起的多个服务并针对所确定的服务中的每个服务注册与电子设备相关联的系统参数的方法和装置,所述系统参数包括:中央处理单元(cpu)负载、可并行性因数和存储器利用因数。

本发明的另一方面在于提供用于确定服务对于启动进程是关键的还是非关键的方法和装置。

本发明的另一方面在于提供一种方法和装置,用于将标签数据标记到所确定的服务中的每个服务以表示该服务是关键的还是非关键的。

本发明的另一个方面在于提供用于基于注册系统参数和标记的标签数据将所述服务中的每个服务聚类到加速集群和减速集群之一的方法和装置。

本发明的另一个方面在于提供用于确定在电子设备的后续启动进程期间发起的多个新服务的方法和装置。

本发明的另一方面在于提供一种方法和装置,用于在后续启动进程期间基于所确定的新服务中的每个新服务的与电子设备相关联的系统参数和标记的标签数据,将所确定的在后续启动进程期间的新服务动态更新到加速集群和减速集群之一。

本发明的另一方面在于提供一种方法和装置,用于在后续启动进程期间,使用多核处理器的至少一个大核调度加速集群中可用的服务,并使用多核处理器的至少一个小核调度减速集群中可用的服务。

技术方案

因此,本文中的实施例提供了一种用于在包括多核处理器的电子设备中在启动进程期间管理服务调度的方法。该方法包括:确定在电子设备的启动进程期间发起的多个服务。此外,该方法还包括:针对所确定的服务中的每个服务注册与电子设备相关联的系统参数。此外,该方法还包括:确定服务对于启动进程是关键的还是非关键的。此外,该方法还包括:向所确定的服务中的每个服务标记标签数据,其中,标签数据表示该服务是关键的还是非关键的。此外,该方法还包括:基于与电子设备相关联的注册系统参数和标记的标签数据,将所述服务中的每个服务聚类到加速集群和减速集群之一。

在一个实施例中,该方法还包括在电子设备处检测后续启动进程。此外,该方法还包括确定加速集群中可用的服务和减速集群中可用的服务。此外,该方法还包括在后续启动进程期间,使用多核处理器的至少一个大核调度加速集群中可用的服务,并使用多核处理器的至少一个小核调度减速集群中可用的服务。

在一个实施例中,该方法还包括确定在电子设备的后续启动进程期间发起的多个新服务。此外,该方法还包括针对所确定的在后续启动进程期间的新服务中的每个新服务注册与电子设备相关联的系统参数。此外,该方法还包括向所确定的在后续启动进程期间的新服务中的每个新服务标记作为关键或非关键的标签数据。此外,该方法还包括:在后续启动进程期间,基于所确定的新服务中的每个新服务的与电子设备相关联的系统参数和标记的标签数据,将所确定的在后续启动进程期间的新服务动态更新到加速集群和减速集群之一。

在一个实施例中,与电子设备相关联的系统参数包括:cpu负载、可并行性因数和存储器利用因数中的至少一个。

在一个实施例中,通过以下操作将该服务中的每个服务聚类到加速集群和减速集群之一:将与电子设备相关联的注册系统参数和标记的标签数据馈入到四维(4d)聚类模型中;通过基于与电子设备相关联的注册系统参数和标记的标签数据在4d聚类模型的四个轴上绘制表示服务的数据点,来创建4d映射图;当至少两个数据点大于阈值时确定集群中心,其中,集群中心根据数据点和集群中心之间的距离移动;以及基于集群中心将表示服务的数据点聚类到加速集群和减速集群之一。

在一个实施例中,4d聚类模型的四个轴中的x轴表示cpu负载,4d聚类模型的四个轴中的y轴表示存储器利用因数,4d聚类模型的四个轴中的z轴表示可并行性因数,4d聚类模型的四个轴中的w轴表示标签数据。

在一个实施例中,当该服务中的一个服务发起预定义数量的其它服务时,该服务被确定为对启动进程是关键的,且该服务在电子设备的通知面板中被使能或禁用;而当服务未发起预定义数量的其他服务时,该服务被确定为对启动进程是非关键的。

因此,本文中的实施例提供了一种用于在包括多核处理器的电子设备中在启动进程期间管理服务调度的方法。该方法包括检测电子设备处的启动进程。此外,该方法还包括确定加速集群中可用的服务和减速集群中可用的服务。此外,该方法还包括在启动进程期间使用多核处理器的至少一个大核调度加速集群中可用的服务,并使用多核处理器的至少一个小核调度减速集群中可用的服务。

在一个实施例中,加速集群和减速集群之一是通过以下操作创建的:确定在电子设备的启动进程期间发起的多个服务;为所确定的服务中的每个服务注册与电子设备相关联的系统参数;确定服务对于启动进程是关键的还是非关键的;向所确定的服务中的每个服务标记标签数据,其中,标签数据表示服务是关键的还是非关键的;将与电子设备相关联的注册系统参数和标记的标签数据馈入到4d聚类模型中;通过基于与电子设备相关联的注册系统参数和标记的标签数据在4d聚类模型的四个轴上绘制表示服务的数据点,来创建4d映射图;当至少两个数据点大于阈值时确定集群中心,其中,集群中心根据数据点和集群中心之间的距离移动;以及基于集群中心将表示服务的数据点聚类到加速集群和减速集群之一。

因此,本文中的实施例提供用于在启动期间管理服务调度的电子设备。该电子装置包括存储器、多核处理器和调度器。调度器耦接到存储器和处理器。调度器被配置为确定在电子设备的启动进程期间发起的多个服务。此外,调度器被配置为针对所确定的服务中的每个服务注册与电子设备相关联的系统参数。此外,调度器被配置为确定服务是关键的还是非关键的。此外,调度器被配置为向所确定的服务中的每个服务标记标签数据,其中,标签数据表示服务对于启动进程是关键的还是非关键的。此外,调度器被配置为基于与电子设备相关联的注册系统参数和标记的标签数据将每个服务聚类到加速集群和减速集群之一。

因此,本文中的实施例提供用于在启动期间管理服务调度的电子设备。该电子设备包括存储器、多核处理器和调度器。调度器耦接到存储器和处理器。调度器被配置为在电子设备上检测启动进程。此外,调度器被配置为确定加速集群中可用的服务和减速集群中可用的服务。此外,调度器被配置为在启动进程中使用多核处理器的至少一个大核调度加速集群中可用的服务,以及使用多核处理器的至少一个小核调度减速集群中可用的服务。

结合以下描述和附图考虑时,将更好地理解本文中的实施例的这些和其他方面。然而,应当理解,以下描述虽然指示优选实施例及其许多具体细节,但是是以图解的方式给出的,而不是限制性的。在不脱离本实施例的精神的情况下,可以在本实施例的范围内进行许多改变和修改,并且本实施例包括所有这些修改。

有益效果

根据本公开的各种实施例,通过在电子设备中在启动进程期间管理服务的调度,可以提供优化的引导时间。

附图说明

该方法和系统在附图中有说明,附图中用类似的参考字母表示相应的部分。参照附图,通过以下描述将更好地理解本文中的实施例,其中:

图1示出根据现有技术的电子设备中的示例性任务调度系统的示意图;

图2示出示例性方法与根据本文公开的实施例提出的用于在电子设备中调度在启动进程期间的服务的方法的比较;

图3示出示例性方法与根据本文公开的实施例提出的用于在电子设备中调度在启动进程期间的新服务的方法的比较;

图4a示出根据本文公开的实施例的电子设备的各种硬件组件的框图,其用于在电子设备中在启动进程期间管理服务调度;

图4b示出根据本文公开的实施例的电子设备的各种硬件组件的另一框图,其用于在电子设备中在启动进程期间管理服务调度;

图5示出根据本文公开的实施例的调度器的各种硬件组件的框图;

图6示出根据本文公开的实施例的聚类引擎的各种硬件组件的框图;

图7a示出根据本文公开的实施例的用于在电子设备中在启动进程期间对服务进行聚类的方法的流程图;

图7b示出根据本文公开的实施例的用于在电子设备中调度在启动进程期间的不同集群中的服务的方法的流程图;

图7c示出根据本文公开的实施例的用于在电子设备中在启动进程期间管理服务调度的方法的流程图;

图7d示出根据本文公开的实施例将每个服务聚类到加速集群和减速集群之一的各个步骤的流程图;

图8示出根据本文公开的实施例的各引导阶段的引导时间线的示意图;

图9示出根据本文公开的实施例将标签数据标记到服务的各个步骤的流程图;

图10a示出根据本文公开的实施例将服务聚类到加速集群和减速集群之一的示例场景;

图10b示出根据本文公开的实施例的在3d模型中绘制数据点和集群中心;

图10c是根据本文公开的实施例的示出4d聚类模型中的加速集群和减速集群的示意图;

图11示出根据本文公开的实施例的基于在电子设备的通知面板中使能/禁用服务来将标签数据标记到服务的各个步骤的流程图;

图12示出了根据本文公开的实施例的在后续启动进程期间将通知面板中被使能/禁用的服务动态更新到加速集群和减速集群之一的示例场景;以及

图13是根据本文公开的实施例的示出在后续启动进程期间将服务或新服务动态更新到加速集群和减速集群之一的各个步骤的流程图。

具体实施方式

参照附图所示出的并在以下描述中详细说明的非限制性实施例更充分地解释了本文中的实施例及其各种特征和有利细节。本文省略对已知组件和处理技术的描述,以免不必要地模糊本文中的实施例。此外,这里描述的各种实施例不一定是互斥的,因为一些实施例可以与一个或多个其他实施例组合以形成新的实施例。除非另有说明,本文所称“或”系指非排他性或。本文中使用的示例仅仅是为了帮助理解可以实践本文中的实施例的方式,并进一步使本领域技术人员能够实践本文中的实施例。因此,不应将这些示例解释为限制本文中的实施例的范围。

与本领域中的传统一样,可以用执行一个或多个描述功能的块来描述和说明实施例。在本文中,这些块可称为管理器、单元、模块、硬件组件等,由诸如逻辑门、集成电路、微处理器、微控制器、存储器电路、无源电子组件、有源电子组件、光学组件、硬接线电路等模拟和/或数字电路来物理实现,并且可以任选地由固件和软件驱动。例如,这些电路可以在一个或多个半导体芯片中实现,或者在诸如印刷电路板等的基板支架上实现。构成块的电路可以由专用硬件实现,或者由处理器(例如,一个或多个程控微处理器和相关电路)实现,或者由用于执行块的某些功能的专用硬件和用于执行块的其他功能的处理器的组合实现。实施例的每个块可以物理地分离为两个或多个相互作用且分离的块,而不脱离本发明的范围。同样,实施例的块可以物理地组合成更复杂的块,而不脱离本发明的范围。

在引导进程期间,电子设备中的示例性任务调度系统将具有更高负载的任务(例如进程和服务)分配给多核处理器中的大核(快cpu)。此外,该任务也可以调度给多核处理器的小核(慢cpu)。图1示出电子设备中的示例性任务调度系统的示意图。在示例性系统中,大多数任务(与服务相同)基于任务在系统资源(例如,大核、小核等)上的负载被分配给处理器上的核,以执行该任务而不考虑任务重要性。与启动进程期间开始的任务相关联的所有服务都被随机调度到大核或小核。一个重要任务至少包含一个重要服务,而其他多个服务依赖于要操作的重要服务。因此,如果在小核上运行的重要服务导致其他多个服务的操作延迟,则电子设备的引导时间进一步增加。

在示例系统中,服务在启动进程中不断地从一个大核迁移到一个小核,然后再迁移到大核,诸如此类。服务在大核和小核之间的这种来回迁移导致引导时间增加。此外,在电子设备(例如智能手机、平板电脑等)中安装新应用程序时,会发起许多新服务,这也会导致引导时间增加。电子设备中例如:wi-fi、蓝牙、gps等的各种服务的激活(例如:打开)的变化也导致电子设备需要更多的时间来引导。

因此,希望解决上述缺点或其他缺点,或者至少为优化的引导时间提供有用的替代方案。

因此,本文中的实施例提供了一种用于在包括多核处理器的电子设备中在启动进程期间管理服务调度的方法。该方法包括确定在电子设备的启动进程期间发起的多个服务。此外,该方法还包括为所确定的服务中的每个服务注册与电子设备相关联的系统参数。此外,该方法还包括确定服务对于启动进程是关键的还是非关键的。此外,该方法还包括将标签数据标记到所确定的服务中的每个服务,其中标签数据表示服务是关键的还是非关键的。此外,该方法还包括基于与电子设备相关联的注册系统参数和标记的标签数据将每个服务聚类到加速集群和减速集群之一。

与传统的方法和系统不同,所提出的方法用于将电子设备中的在启动进程期间发起的服务区分为加速集群和减速集群。加速集群表示一组重要的服务,且减速集群表示一组非重要服务。此外,更多的设备资源(例如大核)被调度到重要的服务。因此,该方法优化了电子设备的引导时间,其中,重要服务的其他依赖服务永远不会被延迟操作。

该电子设备包括4d聚类模型,该4d聚类模型基于注册系统参数和标记的数据生成4d映射图。响应于检测到电子设备中安装了新的应用程序,电子设备重新构建4d映射图,其中在安装该新的应用程序时发起了新服务。响应于在电子设备中检测到诸如wi-fi、蓝牙、gps、夜间模式、省电模式等服务的激活/停用,电子设备重构4d映射图,其中,在激活/停用该服务时发起新服务。此外,电子设备在将新服务聚类到加速集群时估计新服务是否使引导时间恶化。响应于检测到新服务聚类到加速集群恶化了引导时间,电子设备动态地将新服务聚类到减速集群,以优化引导时间。因此,设备资源保持可用,以使重要的服务不受任何限制地运行。因此,电子设备自适应地对服务进行聚类以优化引导时间。

不同于传统方法和系统,由于引导时间的优化,所提出的电子设备的功耗较低,其中电源相对于所述示例性系统的电源使用较少的时间。

现在参考附图,并且更具体地参考图2到图13,示出了优选实施例。

图2示出了示例性方法与根据本文公开的实施例提出的用于在电子设备中在启动进程期间调度服务的方法的比较。在示例性方法中,如图2中符号(a)所示,当电子设备(图2中未示出)中发起启动进程时,串行任务(与服务相同)被调度到电子设备的多核处理器上的核。串行任务是基于串行任务在系统资源(例如,大核、小核等)上的负载来调度到内核,以执行串行任务的,而不是基于串行任务的重要性。因此,由于电子设备需要更多的时间来完成启动进程,重要的串行任务可能运行在小核上。当并行线程运行时,重要的任务不断地从大核迁移到小核,然后再迁移到大核,等等(称为cpu迁移),这会在启动进程中产生开销。

根据所提出的方法,如图2中符号(b)所示,在电子设备中开始启动进程时,电子设备识别在启动进程期间发起的多个任务。此外,所述电子设备为所确定的服务中的每个任务注册与电子设备相关联的系统参数。在一个实施例中,与电子设备相关联的系统参数包括:中央处理器(cpu)负载、可并行性因数和存储器利用因数。

cpu负载是在启动进程期间发起服务的cpu的最大负载。在一个实施例中,cpu负载估计使用cpu频率和图形处理单元(gpu)频率。可并行性因数各不相同,就像服务有多个子服务一样。存储器利用因数是启动进程期间该服务所获取的最大内存。在一个示例中,系统服务器(systemserver)服务的cpu负载值为0.9%,近场通信(nfc)服务的cpu负载值为1.7%。在一个示例中,systemserver服务的可并行性因数或可并行性因数的值为1,nfc服务的为0。在一个例子中,对于systemserver服务,存储器利用因数或存储器利用因数的值是25252k,nfc服务的是20779k。

此外,电子设备确定任务对于启动进程是关键的还是非关键的。在一个实施例中,当服务发起预定义数量的其它服务时,该服务被确定为对启动进程是关键的。

在一个实施例中,当在电子设备的通知面板中使能或禁用服务时,该服务被确定为对启动进程是关键的。在一个实施例中,关键服务包括由用户选择的服务。电子设备基于用户使用模式检测用户选择的服务。电子设备通知面板中的诸如wi-fi、蓝牙、夜间模式和省电模式等的服务需要被快速发起,以便用户在启动进程完成时即可使用。当主屏幕显示时,视为启动进程完成。在一个示例中,如果用户从通知面板中选择某服务,表示该服务是关键的,则该服务的父进程标识符(ppid)的标签数据为1。

在一个实施例中,当服务不发起预定数量的其它服务时,该服务被确定为对启动进程而言是非关键的。

此外,电子设备将标签数据标记到所确定的服务中的每个任务,其中,标签数据表示任务是关键的还是非关键的。标签数据表明对于更好的引导性能非常关键的服务/任务。在一个实施例中,电子设备对服务的(ppid)进行计数以确定服务的标签数据。在一个示例中,标签数据是作为多达10个子服务的父服务的服务。在一个示例中,标签数据是开始10个以上其他服务的服务。在一个例子中,init服务开始了在内核日志中可见的许多其他服务(称为守护进程):bootanim、powersnd、ccm等。其他关键服务开始了超过10个服务,如:系统管理器(system_server)、zygote64、应用程序管理器服务(application_manager_service)等。内核日志如表1所示。

表1:内核日志

在一个实施例中,电子设备对服务的(ppid)进行计数以确定服务的标签数据。在一个示例中,如果服务的ppid计数大于10,则服务的标签数据为1。如果服务的ppid计数不大于10,则服务的标签数据为0。

在一个例子中,服务是关键的,服务的标签数据的值是1。如果服务的标签数据的值为零,则该服务是非关键的。关键服务被优先聚类到加速集群中,这样可以提高电子设备的引导时间。

电子设备通过对任务进行自适应4d聚类,将任务聚类到加速集群和减速集群之一。自适应4d聚类包括将与电子设备相关的注册系统参数和标记的标签数据馈入4d聚类模型。4d聚类模型包括x轴、y轴、z轴和w轴。在一个实施例中,x轴表示cpu负载,y轴表示存储器利用因数,z轴表示可并行性因数,且w轴表示标签数据。在一个实施例中,标签数据和每个系统参数的表示在x轴、y轴、z轴和w轴之间互换。

此外,自适应4d聚类包括基于与电子设备相关联的注册系统参数和标记的标签数据,通过在4d聚类模型的四个轴上绘制表示服务的数据点来创建4d映射图。在一个实施例中,每个服务的注册系统参数和标记的标签数据是该服务的数据点。

此外,自适应4d聚类包括:当至少两个数据点大于阈值时确定集群中心,其中,集群中心根据数据点与集群中心之间的距离移动。设“a”是一个具有数据点{a1、a2、a3、a4}的服务,“b”是集群中心{b1、b2、b3、b4},数据点ai与集群中心bj的距离如等式1所示:

等式2表示最终的4d聚类表达式:

“ci”是第i个集群中的数据点的数量。“2”是集群中心的数量。

此外,自适应4d聚类包括:基于集群中心将表示服务的数据点聚类到加速集群和减速集群之一。

在一个实施例中,所有串行任务和重要/关键任务被聚类到加速集群。在一个实施例中,所有并行任务通过应用自适应4d聚类而被聚类到加速集群和减速集群之一。因此,cpu迁移从下一启动进程开始受到限制。电子设备的多核处理器的大核被调度用于加速集群中的服务。电子设备的多核处理器的小核被调度用于减速集群中的服务。因此,从后续引导开始,实现了引导时间的优化。

图3示出示例性方法与根据本文公开的实施例的所提出的用于在电子设备中在启动进程期间调度新服务的方法的比较。在示例性方法中,如图3中符号(a)所示,当电子设备中安装新应用程序时,添加了许多在启动进程期间发起的新服务(与任务相同)。当用户使能/禁用电子设备(如智能手机、平板电脑等)的通知面板中的服务(如wi-fi、蓝牙、gps等)时,针对启动进程更新要发起的许多新服务。电子设备需要更多的时间来通过发起新服务完成启动进程。

根据所提出的方法,如图3中符号(b)所示,通过应用自适应4d聚类方法和奖励反馈方法,将新服务动态更新到加速集群和减速集群之一。响应于检测到在下一启动进程期间新服务必须由电子设备发起,电子设备对新服务应用奖励反馈方法。电子设备采用奖励反馈方法来估计将每个新服务聚类到加速集群是否会恶化电子设备的引导时间。

在一个实施例中,电子设备在将新服务聚类到加速集群时估计下一启动进程的引导时间。响应于检测到为下一启动进程优化了引导时间,电子设备为新服务提供正奖励点(数值)。此外,电子设备为后续启动进程将新服务聚类到加速集群。响应于检测到没有为下一启动进程优化引导时间,电子设备为新服务提供负奖励点(数值)。此外,电子设备为后续启动进程将新服务聚类到减速集群。

在一个实施例中,当检测到电子设备的引导时间不因将新服务聚类到加速集群而恶化时,通过应用自适应4d聚类方法将检测到的新服务聚类到加速集群。当检测到电子设备的引导时间由于将新服务聚类到加速集群而恶化时,应用自适应4d聚类方法将检测到的新服务聚类到减速集群。在一个例子中,当新服务的估计引导时间在一个阈值时间内时,则将正奖励点给予该新服务,否则将负奖励点给予该新服务。因此,从后续引导开始,可以实现引导时间的优化。

图4a示出根据本文公开的实施例的电子设备100的各种硬件组件的框图,其用于在电子设备100的启动进程期间管理服务的调度。电子设备100的示例是智能电话、平板计算机、个人计算机、台式计算机、移动设备、个人数字助理(pda)、多媒体设备、物联网(iot)等,但不限于此。在一个实施例中,电子设备100包括调度器110、处理器120、存储器130和通信器140。在一个实施例中,处理器120是包括大核和小核的多核处理器。处理器120被配置为执行存储在存储器130中的指令并执行各种操作。调度器110耦接到存储器130和处理器120。调度器110被配置为确定在电子设备100的启动进程期间发起的多个服务。此外,调度器110被配置为为所确定的服务中的每个服务注册与电子设备100相关联的系统参数。在一个实施例中,调度器110被配置为记录针对所有确定的服务的ppid。此外,调度器110被配置为确定服务是关键的还是非关键的。此外,调度器110被配置为将标签数据标记到所确定的服务中的每个服务,其中,标签数据表示服务对于启动进程是关键的还是非关键的。

在一个实施例中,调度器110被配置为计算服务的ppid计数,以为服务标记标签数据,并确定ppid的计数是否大于阈值(例如10)。调度器110被配置为响应于确定ppid的计数不大于阈值,将标签数据的值设置为0。调度器110被配置为响应于确定ppid的计数大于阈值,将标签数据的值设置为1。

调度器110被配置为基于与电子设备100相关联的注册系统参数和标记的标签数据,将每个服务聚类到加速集群和减速集群之一。

在一个实施例中,通过以下操作将每个服务聚类到加速集群和减速集群之一:将与电子设备100相关联的注册系统参数和标记的标签数据馈入到4d聚类模型中;基于与电子设备100相关联的注册系统参数和标记的标签数据在4d聚类模型的四个轴上绘制表示服务的数据点以创建4d映射图;当至少两个数据点大于阈值时确定集群中心,其中,集群中心根据数据点与集群中心之间的距离进行移动;以及基于集群中心将表示服务的数据点聚类到加速集群和减速集群之一。

此外,调度器110被配置为在电子设备100处检测后续启动进程。此外,调度器110被配置为确定加速集群中可用的服务和减速集群中可用的服务。此外,调度器110被配置为在后续启动进程中使用至少一个大核调度加速集群中可用的服务,以及使用至少一个小核调度减速集群中可用的服务。

在另一实施例中,调度器110被配置为检测在通知面板中的服务的使能/禁用。在一个实施例中,调度器110被配置为基于用户使用模式在通知面板中检测用户对服务的选择。在一个实施例中,调度器110被配置为检测由于在电子设备100中安装新应用程序而要发起的新服务。此外,调度器110被配置为包括检测到的服务以便在电子设备100的后续启动进程期间发起该服务。

此外,调度器110被配置为确定在电子设备100的后续启动进程期间发起的多个新服务。此外,调度器110被配置为针对所确定的在后续启动进程期间的新服务中的每个新服务注册与电子设备100相关联的系统参数。在一个实施例中,调度器110被配置为记录对在通知面板处的服务的使能/禁用的用户输入。此外,调度器110被配置为记录服务的ppid。此外,调度器110被配置为响应于检测到对在通知面板中的服务的使能/禁用,将服务的ppid标签数据更新为1。

调度器110被配置为将所确定的在后续启动进程期间的新服务中的每个新服务的标签数据标记为关键或非关键。此外,调度器110被配置为基于在后续启动进程期间的所确定的服务中的每个新服务的与电子设备100相关联的系统参数和标记的标签数据,将所确定的在后续启动进程期间的新服务动态更新到加速集群和减速集群之一。

在一个实施例中,调度器110被配置为生成值矩阵,该值矩阵包括所有类型的标识服务、服务的相应注册系统参数的值、服务的标签数据的值和集群值。在一个示例中,服务的标签数据的值为0或1。在一个例子中,服务的集群值是1或2,其中,1表示加速集群且2表示减速集群。

存储器130存储由处理器120执行的指令。存储器130可以包括非易失性存储元件。此类非易失性存储元件的示例可以包括磁盘、光盘、软盘、闪存、电可编程存储器(eprom)或电可擦除可编程存储器(eeprom)的形式。

此外,在一些示例中,存储器130可以被视为非暂时性存储介质。术语“非暂时性”可以指示存储介质未包含在载波或传播信号中。然而,“非暂时性”一词不应被解释为存储器130是不可移动的。在一些示例中,存储器130可以被配置为存储比存储器130更多的信息。在某些示例中,非暂时存储介质可以存储能够随时间变化的数据(例如,在随机存取存储器(ram)或高速缓存中)。

通信器140被配置为在电子设备100中的硬件组件之间进行内部通信。

尽管图4a示出了电子设备100的硬件组件,但是应当理解,其他实施例不限于此。在其他实施例中,电子设备100可以包括较少或更多数量的组件。此外,组件的标签或名称仅用于说明的目的,并不限制本发明的范围。可以将一个或多个组件组合在一起,以执行相同或基本相似的功能,用于在启动进程期间管理服务的调度。

图4b示出根据本文公开的实施例的电子设备的各种硬件组件的另一框图,其用于在电子设备的启动进程期间管理服务的调度。图4b中示例的结构可以理解为电子设备100的结构。下文中使用的术语“模块”、“单元”或“器”可指用于处理至少一个功能或操作的单元,并且可以实现为硬件、软件或硬件和软件的组合。

参照图4b,电子设备100包括通信接口410、存储设备单元420和控制器430。

通信接口410通过无线信道执行发送/接收信号的功能。例如,通信接口410根据系统的物理层标准执行基带信号和比特流之间的转换功能。例如,在数据传输中,通信接口410通过编码和调制传输比特流来生成复杂符号。另外,在数据接收中,通信接口410通过解调和解码基带信号来重构接收比特流。此外,通信接口410将基带信号上变频为射频(rf)波段信号,通过天线发射转换后的信号,然后将通过天线接收的rf波段信号下变频为基带信号。例如,通信接口410可以包括:发送滤波器、接收滤波器、放大器、混频器、振荡器、dac和adc。

此外,通信接口410可以包括多个发送/接收路径。此外,通信接口410可以包括由多个天线元件组成的至少一个天线阵列。在硬件方面,无线通信接口210可以包括数字电路和模拟电路(例如,射频集成电路(rfic))。数字电路和模拟电路可以实现为一个封装。数字电路可以实现为至少一个处理器(例如,dsp)。通信接口410可以包括多个rf链。通信接口410可以执行波束赋形。

如上所述,通信接口410发送和接收信号。因此,通信接口410可以被称为“发射器”、“接收器”或“收发器”。此外,在下面的描述中,通过无线信道执行的发送和接收用于具有包括由如上所述的通信接口410执行的处理的含义。根据各种实施例,通信接口410可以包括通信器140。

存储设备单元420存储用于电子设备100的操作的基本程序、应用和诸如设置信息的数据。存储设备单元420可以包括易失性存储器、非易失性存储器或易失性存储器和非易失性存储器的组合。此外,存储设备单元420响应于来自控制器430的请求提供存储的数据。根据各种实施例,存储设备单元420可以包括存储器130。

控制器430控制电子设备100的一般操作。例如,控制器430通过通信接口410发送和接收信号。此外,控制器430在存储设备单元420中记录数据并读取记录的数据。控制器430可以执行通信标准所要求的协议栈的功能。根据另一实现,协议栈可以包括在通信接口410中。为此,控制器430可以包括至少一个处理器或微处理器,或者可以扮演处理器的角色。此外,通信接口410或控制器430的部分可以称为通信处理器(cp)。根据各种实施例,控制器430可以包括调度器110和/或处理器120。

根据本公开的示例性实施例,控制器430可以确定在电子设备的启动进程期间发起的多个服务;针对多个服务中的每个服务注册与电子设备相关联的系统参数;确定针对启动进程的多个服务中的每个服务的关键性,其中,关键性指示多个服务中的每个服务对于启动进程是关键的还是非关键的;向服务中的每个服务标记标签数据,其中,标签数据表示多个服务中的每个服务是关键的还是非关键的;以及基于针对多个服务中的每个服务注册的与电子设备相关联的系统参数和标记到多个服务中的每个服务的标签数据,将每个服务聚类到加速集群或减速集群。例如,控制器430可以控制电子设备执行根据本公开的示例性实施例的操作。

图5示出根据本文公开的实施例的调度器110的各种硬件组件的框图。在一个实施例中,调度器110包括服务检测器111、系统参数检测器112、标签数据标记器113、聚类引擎114、负载均衡器115和通知面板管理器116。服务检测器111确定在电子设备100的启动进程期间发起的多个服务。服务检测器111确定服务对于启动进程是关键的还是非关键的。服务检测器111在电子设备100处检测后续启动进程。服务检测器111确定加速集群中可用的服务和减速集群中可用的服务。服务检测器111确定在电子设备100的后续启动进程期间发起的多个新服务。

系统参数检测器112针对所确定的服务中的每个服务注册与电子设备100相关联的系统参数。系统参数检测器112针对所确定的在后续启动进程期间的新服务中的每个新服务注册与电子设备100相关联的系统参数。在一个实施例中,系统参数检测器112记录所有服务的ppid。

标签数据标记器113将标签数据标记到所确定的服务中的每个服务。标签数据标记器113将所确定的在后续启动进程期间的新服务中的每个新服务的标签数据标记为关键或非关键。在一个实施例中,标签数据标记器113确定ppid的计数是否大于阈值(例如:10)。在一个实施例中,标签数据标记器113响应于确定ppid的计数不大于阈值,将标签数据的值设置为0。在一个实施例中,标签数据标记器113响应于确定ppid的计数大于阈值,将标签数据的值设置为1。在一个实施例中,标签数据标记器113响应于检测到对通知面板中的服务的使能/禁用,将服务的ppid标签数据更新为1。

聚类引擎114基于与电子设备100相关联的注册系统参数和标记的标签数据,将每个服务聚类到加速集群和减速集群之一。聚类引擎114基于在后续启动进程期间的所确定的服务中的每个新服务的与电子设备100相关联的系统参数和标记的标签数据,将所确定的在后续启动进程期间新服务动态更新到加速集群和减速集群之一。

在后续启动进程期间,负载均衡器115使用至少一个大核调度加速集群中可用的服务且使用至少一个小核调度减速集群中可用的服务。

通知面板管理器116检测通知面板中的服务的使能/禁用。在一个实施例中,通知面板管理器116记录对在通知面板处的服务的使能/禁用的用户输入。通知面板管理器116检测由于在电子设备100中安装新应用程序而要发起的新服务。此外,通知面板管理器116将检测到的服务/新服务提供给聚类引擎11。此外,聚类引擎11通过使用奖励反馈方法,将所确定的服务/新服务动态更新到加速集群和减速集群之一以用于后续启动进程。

尽管图5示出调度器110的硬件组件,但是应当理解,其他实施例不限于此。在其它实施例中,调度器110可以包括较少或更多数量的组件。此外,组件的标签或名称仅用于说明的目的,并不限制本发明的范围。可以将一个或多个组件组合在一起,以执行相同或基本相似的功能,用于在启动进程期间管理服务的调度。

图6示出根据本文公开的实施例的聚类引擎114的各种硬件组件的框图。在一个实施例中,聚类引擎114包括馈线114a、4d聚类模型114b、集群中心估计器114c、加速集群控制器114d、减速集群控制器114e和机器学习114f。馈线114a将与电子设备100相关联的注册系统参数和标记的标签数据馈入到4d聚类模型中。4d聚类模型114b基于与电子设备100相关联的注册系统参数和标记的标签数据通过在4d聚类模型的四个轴上绘制表示服务的数据点来创建4d映射图。当至少两个数据点大于阈值时,集群中心估计器114c确定集群中心,其中,集群中心根据数据点与集群中心之间的距离移位。加速集群控制器114d将表示服务的数据点聚类到加速集群中。减速集群控制器114e将表示服务的数据点聚类到减速集群中。

机器学习114f使用奖励反馈方法将所确定的在后续启动进程期间的服务/新服务动态更新到加速集群和减速集群之一。在一个实施例中,响应于检测到添加要在后续启动进程期间发起的新服务,机器学习114f动态地对下一引导的集群进行重新建模。当将新服务聚类到加速集群时,机器学习114f估计下一启动进程的引导时间。响应于检测到针对下一启动进程优化了引导时间,机器学习114f针对新服务提供正奖励点(数值)。响应于检测到没有针对下一启动进程优化引导时间,机器学习114f针对新服务提供负奖励点(数值)。聚类引擎114基于正奖励点/负奖励点,为新的服务重构4d映射图。

尽管图6示出了聚类引擎114的硬件组件,但是应当理解,其他实施例不限于此。在其他实施例中,聚类引擎114可以包括较少或更多数量的组件。此外,组件的标签或名称仅用于说明的目的,并不限制本发明的范围。可以将一个或多个组件组合在一起以执行相同或基本相似的功能,以将服务聚类到加速集群和减速集群之一中。

图7a示出根据本文公开的实施例的用于在电子设备中在启动进程期间对服务进行聚类的方法的流程图。图7a示出了由电子设备100执行的操作。

参照图7a,在操作721,电子设备可以确定在电子设备的启动进程期间发起的多个服务。例如,控制器430可以确定在电子设备的启动进程期间发起的多个服务。

在操作723,电子设备可以为多个服务中的每个服务注册与电子设备相关联的系统参数。例如,控制器430可以为多个服务中的每个服务注册与电子设备相关联的系统参数。与电子设备相关联的系统参数包括中央处理器(cpu)负载、可并行性因数或存储器利用因数中的至少一个。

在操作725,电子设备可以确定多个服务中的每个服务对于启动进程的关键性。例如,控制器330可以确定多个服务中的每个服务对于启动进程的关键性。根据各种实施例,关键性可以指示多个服务中的每个服务对于启动进程是关键的还是非关键的。例如,如果多个服务中的某个服务发起预定义数量的其他服务,或者该服务在电子设备的通知面板中是使能或禁用的,则该服务被确定为对启动进程是关键的,如果服务没有发起预定义数量的其他服务,则该服务被确定为对启动进程是非关键的。

在操作727,电子设备可以将标签数据标记到每个服务。例如,控制器330可以将标签数据标记到每个服务。根据各种实施例,标签数据表示多个服务中的每个服务是关键的还是非关键的。

在操作729,电子设备可以基于针对多个服务中的每个服务的与电子设备相关联的注册系统参数和标记到多个服务中的每个服务的标签数据,将每个服务聚类到加速集群或减速集群。例如,控制器330可以基于为多个服务中的每个服务的与电子设备相关联的注册系统参数和标记到多个服务中的每个服务的标签数据,将每个服务聚类到加速集群或减速集群。根据各种实施例,控制器330可以将多个服务中的每个服务的与电子设备相关联的注册系统参数和标记到多个服务中的每个服务的标签数据馈入到四维(4d)聚类模型,通过基于多个服务中的每个服务的与电子设备相关联的注册系统参和标记到多个服务中的每个服务的标签数据在4d聚类模型的四个轴上绘制表示所述多个服务的数据点以创建4d映射图,如果至少两个数据点大于阈值,则确定集群中心,其中,基于数据点与集群中心之间的距离确定集群中心,并基于集群中心将表示多个服务的数据点聚类到加速集群或减速集群中。根据各种实施例,4d聚类模型的第一轴表示中央处理器(cpu)负载,4d聚类模型的第二轴表示存储器利用因数,4d聚类模型的第三轴表示可并行性因数,且4d聚类模型的第五轴表示标签数据。

尽管未示出,电子设备可以(例如,控制器330可以进一步配置为)检测电子设备中的后续启动进程,确定加速集群中可用的第一服务和减速集群中可用的第二服务,并在后续启动进程期间,基于多核处理器的至少一个大核调度第一服务,以及基于多核处理器的至少一个小核调度第二服务。

尽管未示出,电子设备可以(例如,控制器330可以进一步配置为)确定在电子设备的后续启动进程期间发起的多个新服务,针对在后续启动进程期间的多个新服务中的每个新服务注册与电子设备相关联的系统参数,基于多个新服务中的每个新服务的关键性针对在后续启动进程期间的多个新服务中的每个新服务标记标签数据,并且基于多个新服务中的每个新服务的与电子设备相关联的系统参数和标记到多个新服务中的每个新服务的标签数据,将在后续启动进程期间的多个新服务中的每个新服务动态更新到加速集群或减速集群中。

图7b示出根据本文公开的实施例的用于在电子设备中在启动进程期间调度不同集群中的服务的方法的流程图。图7b示出了由电子设备100执行的操作。

参照图7b,在操作731,电子设备可以检测到电子设备中启动进程的发起。例如,控制器403可以在电子设备中检测启动进程的发起。

在操作733,电子设备可以确定加速集群中可用的第一服务和减速集群中可用的第二服务。例如,控制器430可以确定加速集群中可用的第一服务和减速集群中可用的第二服务。

在操作735,电子设备可以在启动进程期间基于多核处理器的至少一个大核调度第一服务,并基于多核处理器的至少一个小核调度第二服务。例如,控制器430可以在启动进程中基于多核处理器的至少一个大核调度第一服务,并基于多核处理器的至少一个小核调度第二服务。

尽管未示出,电子设备可以(或者,控制器430可以进一步配置为)确定在电子设备的启动进程期间发起的多个服务,其中,多个服务包括第一服务和第二服务;针对多个服务中的每个服务注册与电子设备相关联的系统参数;确定多个服务中的每个服务对于启动进程的关键性,其中,关键性指示多个服务中的每个服务对于启动进程是关键的还是非关键的;将标签数据标记到服务中的每个服务,其中,标签数据表示多个服务中的每个服务是关键的还是非关键的;将多个服务中的每个服务的与电子设备相关联的注册系统参数和标记到多个服务中的每个服务的标签数据馈入到四维(4d)聚类模型中;基于多个服务中的每个服务的与电子设备相关联的注册系统参数和标记到多个服务中的每个服务的标签数据,通过在4d聚类模型的四个轴上绘制表示多个服务的数据点来创建4d映射图;如果至少两个数据点大于阈值,则确定集群中心,其中,基于数据点与集群中心之间的距离确定集群中心;并基于集群中心将表示多个服务的数据点聚类到加速集群或减速集群中。根据各种实施例,4d聚类模型的第一轴表示中央处理器(cpu)负载,4d聚类模型的第二轴表示存储器利用因数,4d聚类模型的第三轴表示可并行性因数,4d聚类模型的第五轴表示标签数据。根据各种实施例,与电子设备相关联的系统参数包括中央处理器(cpu)负载、可并行性因数或存储器利用因数中的至少一个。根据各种实施例,如果多个服务中的某个服务发起预定义数量的其他服务,或者该服务在电子设备的通知面板中被使能或禁用,则该服务被确定为对启动进程是重要的,并且其中如果该服务没有发起预定义数量的其他服务,则该服务被确定为对启动进程不重要。

尽管未示出,电子设备可以(或者,控制器430可以进一步配置为)确定在电子设备的后续启动进程期间发起的多个新服务;针对在后续启动进程期间的多个新服务中的每个新服务注册与电子设备相关联的系统参数;基于多个新服务中的每个新服务的关键性针对在后续启动进程期间的多个新服务中的每个新服务标记标签数据;并基于多个新服务中的每个新服务的与电子设备相关联的系统参数和标记到多个新服务中的每个新服务的标签数据,将在后续启动进程期间的多个新服务中的每个新服务动态更新到加速集群或减速集群中。

图7c示出根据本文公开的实施例的用于在电子设备100中在启动进程期间管理服务调度的方法的流程图700。在701,该方法包括确定在电子设备100的启动进程期间发起的多个服务。在一个实施例中,该方法允许服务检测器111确定在电子设备100的启动进程期间发起的多个服务。在702,该方法包括针对所确定的服务中的每个服务注册与电子设备100相关联的系统参数。在一个实施例中,该方法允许系统参数检测器112针对所确定的服务中的每个服务注册与电子设备100相关联的系统参数。在703,该方法包括确定服务对于启动进程是关键的还是非关键的。在一个实施例中,该方法允许服务检测器111确定服务对于启动进程是关键的还是非关键的。

在704,该方法包括将标签数据标记到所确定的服务中的每个服务,其中,标签数据表示服务是关键的还是非关键的。在一个实施例中,该方法允许标签数据标记器113将标签数据标记到所确定的服务中的每个服务,其中,标签数据表示服务是关键的还是非关键的。在705,该方法包括基于与电子设备100相关联的注册系统参数和标记的标签数据,将服务中的每个服务聚类到加速集群和减速集群之一。在一个实施例中,该方法允许聚类引擎114基于与电子设备100相关联的注册系统参数和标记的标签数据,将服务中的每个服务聚类到加速集群和减速集群之一。

在706,该方法包括在电子设备100处检测后续启动进程。在一个实施例中,该方法允许服务检测器111在电子设备100处检测后续启动进程。在707,该方法包括确定加速集群中可用的服务和减速集群中可用的服务。在一个实施例中,该方法允许服务检测器111确定加速集群中可用的服务和减速集群中可用的服务。

在708,该方法包括在启动进程期间使用至少一个大核调度加速集群中可用的服务并使用至少一个小核调度减速集群中可用的服务。在一个实施例中,该方法允许负载均衡器115在启动进程期间使用至少一个大核调度加速集群中可用的服务,并使用至少一个小核调度减速集群中可用的服务。在709,该方法包括确定在电子设备100的后续启动进程期间发起的多个新服务。在一个实施例中,该方法允许服务检测器111确定在电子设备100的后续启动进程期间发起的多个新服务。在710,该方法包括针对所确定的在后续启动进程期间的新服务中的每个新服务注册与电子设备100相关联的系统参数。在一个实施例中,该方法允许系统参数检测器112针对所确定的在后续启动进程期间的新服务中的每个新服务注册与电子设备100相关联的系统参数

在操作711,该方法包括将所确定的在后续启动进程期间的新服务中的每个新服务的标签数据标记为关键或非关键。在一个实施例中,该方法允许标签数据标记器113将所确定的在后续启动进程期间的新服务中的每个新服务的标签数据标记为关键的或非关键的。在操作712,该方法包括在后续启动进程期间,基于所确定的新服务中的每个新服务的与电子设备100相关联的注册系统参数和标记的标签数据,将所确定的在后续启动进程期间的服务动态更新到加速集群和减速集群之一。在一个实施例中,该方法允许聚类引擎114在后续启动进程期间基于所确定的新服务中的每个新服务的与电子设备100相关联的注册系统参数和标记的标签数据,将所确定的在后续启动进程期间的服务动态更新到加速集群和减速集群之一。

流程图700中的各种动作、行为、块、步骤等可以按照呈现的顺序、以不同的顺序或同时执行。此外,在一些实施例中,可以省略、添加、修改、跳过一些动作、行为、块、步骤等而不脱离本发明范围。

图7d是示出了根据本文公开的实施例的将每个服务聚类到加速集群和减速集群之一的各种步骤的流程图705。在705a,该方法包括将与电子设备100相关联的注册系统参数和标记的标签数据输入到4d聚类模型中。在一个实施例中,该方法允许馈线114a将与电子设备100相关联的注册系统参数和标记的标签数据输入到4d聚类模型中。在705b,该方法包括通过基于与电子设备100相关联的注册系统参数和标记的标签数据在4d聚类模型的四个轴上绘制表示服务的数据点来创建4d映射图。在一个实施例中,该方法允许4d聚类模型114b通过基于与电子设备100相关联的注册系统参数和标记的标签数据在4d聚类模型的四个轴上绘制表示服务的数据点来创建4d映射图。

在705c,该方法包括当至少两个数据点大于阈值时确定集群中心,其中,集群中心根据数据点与集群中心之间的距离移位。在一个实施例中,该方法允许集群中心估计器114c在至少两个数据点大于阈值时确定集群中心,其中,集群中心根据数据点与集群中心之间的距离移位。在705d,该方法基于集群中心将表示服务的数据点聚类到加速集群和减速集群之一。在一个实施例中,该方法允许加速集群控制器114d和减速集群控制器114e基于集群中心将表示服务的数据点聚类到加速集群和减速集群之一。

流程图705中的各种动作、行为、块、步骤等可以按照呈现的顺序、以不同的顺序或同时执行。此外,在一些实施例中,可以省略、添加、修改、跳过一些动作、行为、块、步骤等而不脱离本发明范围。

图8示出根据本文公开的实施例的各种引导阶段的引导时间线的示意图。启动进程中的引导阶段包括初始化(init)阶段、接合(zygote)阶段、封装管理器扫描(pms)阶段和活动管理器服务(ams)阶段。如相机服务器(cameraserver)、音频服务器(audioserver)等的所有守护进程都从初始化阶段开始。所有类和资源在接合阶段中进行预加载。如应用程序服务等的所有非本机服务从ams阶段开始。

启动进程从初始化阶段开始,在初始化阶段期间发起的服务称为初始化服务。此外,启动进程的接合阶段在完成初始化阶段之后开始,其中,接合阶段期间发起的“m”个服务称为接合服务。电子设备100需要6秒来完成初始化阶段。此外,启动进程的pms阶段在接合阶段完成之后开始。此外,启动进程的ams阶段在pms阶段完成之后开始,其中,在ams阶段期间发起的“n”个服务称为ams服务。在完成ams阶段之后,通过使能电子设备100的屏幕以进行正常操作来完成启动进程。电子设备100从接合阶段到完成ams阶段需要12秒。

在步骤1,电子设备100识别在启动进程期间发起的多个服务,该多个服务包括初始化服务、接合服务和ams服务。在步骤2,电子设备100记录每个识别的服务的系统参数和关联标签数据。在一个实施例中,系统参数包括:cpu负载、可并行性因数和存储器利用因数。电子设备100通过针对每个识别的服务注册系统参数来记录系统参数。此外,电子设备100基于服务的关键性将标签数据标记到所识别的服务。在步骤3,电子设备100使用所识别的服务在4d聚类模型中生成4d映射图。通过在4d聚类模型的四个轴上绘制每个服务的系统参数和标签数据的对应数据点来生成4d映射图。此外,电子设备100确定集群中心,其中,集群中心根据数据点与集群中心之间的距离移位。此外,电子设备100基于集群中心将表示服务的数据点聚类到加速集群和减速集群之一。此外,在后续启动进程期间,电子设备100使用大核调度加速集群中可用的服务,使用小核调度减速集群中可用的服务。

图9示出根据本文公开的实施例将标签数据标记到服务的各种步骤的流程图900。在901,将标签数据标记到服务包括记录所有识别的服务的ppid。在一个实施例中,该方法允许系统参数检测器112记录所有服务的ppid。在902,将标签数据标记到服务包括确定ppid的计数是否大于10。在一个实施例中,该方法允许标签数据标记器113确定ppid的计数是否大于10。在903,将标签数据标记到服务包括响应于确定ppid的计数不大于10,将标签数据的值设置为0。在一个实施例中,该方法允许标签数据标记器113响应于确定ppid的计数不大于10而将标签数据的值设置为0。在904,将标签数据标记到服务包括响应于确定ppid的计数大于10,将标签数据的值设置为1。在一个实施例中,该方法允许标签数据标记器113响应于确定ppid的计数大于10而将标签数据的值设置为1。

流程图900中的各种动作、行为、块、步骤等可以按照呈现的顺序、以不同的顺序或同时执行。此外,在一些实施例中,在不脱离本发明的范围的情况下,可以省略、添加、修改、跳过一些行为、动作、块、步骤等。

图10a示出了根据本文公开的实施例将服务聚类到加速集群和减速集群之一的示例场景。假设电子设备100正在执行启动进程。电子设备100识别启动进程期间发起的多个服务。此外,电子设备100通过在值矩阵中注册系统参数来生成值矩阵。假设用户将信使(messenger)应用程序安装在电子设备100中。电子设备100识别由于在电子设备100中安装新应用程序(例如:信使应用程序)而发起的新服务(例如:信使应用(messengerapp))和其他识别的服务。新服务是messengerapp,其他服务是系统服务器(systemserver)、zygot64、相机服务器(cameraserver)、近场通信(nfc)、蓝牙(bluetooth)、音频服务器(audioserver)、消息发送(messaging)和来电用户界面(incallui)。

电子设备100通过将其集群值置为1,而将包括systemserver、zygot64和cameraserver的服务聚类到加速集群。电子设备100通过将集群值置为2而将包括nfc、bluetooth、audioserver、messaging和incallui的服务聚类到减速集群中。messengerapp的集群值置为“新(new)”表示messengerapp是在下一启动进程期间需要发起的新服务。电子设备100对messengerapp执行奖励反馈方法,以确定messengerapp的集群值从而将messengerapp聚类到加速集群和减速集群之一。

图10b示出了根据本文公开的实施例的3d模型中的数据点和集群中心的绘制。电子设备100在4d聚类模型中绘制每个识别的服务的系统参数和标签数据的对应数据点。此外,电子设备100基于每个数据点与集群中心的距离来确定加速集群和减速集群的集群中心。

图10c示出根据本文公开的实施例的4d聚类模型中的加速集群和减速集群的示意图。电子设备100在4d聚类模型中绘制服务的数据点以生成4d映射图。4d聚类模型的四个轴中的x轴表示cpu负载,4d聚类模型的四个轴中的y轴表示存储器利用因数,4d聚类模型的四个轴中的z轴表示可并行性因数,而4d聚类模型的四个轴中的w轴表示标签数据。此外,电子设备100将服务聚类到加速集群和减速集群之一,其中,图10c中的较小的球表示加速集群,且图10c中的较大的球表示减速集群。

图11是示出根据本文公开的实施例基于在电子设备100的通知面板中的服务的使能/禁用来将标签数据标记到服务的各种步骤的流程图1100。在1101,基于通知面板中的服务的使能/禁用将标签数据标记到服务包括:记录在通知面板处的使能/禁用服务的用户输入。在一个实施例中,该方法允许通知面板管理器116记录在通知面板处的使能/禁用服务的用户输入。在1102,基于通知面板中的服务的使能/禁用将标签数据标记到服务包括:记录服务的ppid。在一个实施例中,该方法允许系统参数检测器112记录服务的ppid。在1103,基于通知面板中的服务的使能/禁用将标签数据标记到服务包括:针对该服务将ppid标签数据更新为1。在一个实施例中,该方法允许标签数据标记器113针对该服务将ppid标签数据更新为1。

流程图1100中的各种动作、行为、块、步骤等可以按照呈现的顺序、以不同的顺序或同时执行。此外,在一些实施例中,可以省略、添加、修改、跳过一些动作、行为、块、步骤等而不脱离本发明的范围。

图12示出了根据本文公开的实施例在后续启动进程期间将通知面板中使能/禁用的服务动态更新为加速集群和减速集群之一的示例场景。假设用户在引导后在电子设备100的通知面板中使能/禁用蓝牙服务。电子设备100检测蓝牙服务的使能/禁用,并检测到蓝牙服务是下一启动进程期间要发起的重要服务。此外,电子设备100对蓝牙服务执行奖励反馈方法,以确定在下一启动进程期间蓝牙服务的发起是否恶化引导时间。响应于确定在下一启动进程期间蓝牙服务的发起不会恶化引导时间,电子设备100将蓝牙服务的集群值更新为1。将蓝牙服务的集群值更新为1表示针对下一个启动进程,蓝牙服务被聚类到加速集群。

图13示出根据本文公开的实施例在后续启动进程期间动态地将服务或新服务更新到加速集群和减速集群之一的各个步骤是流程图1300。在1301,动态更新服务或新服务包括在电子设备100处检测后续启动进程。在一个实施例中,该方法允许服务检测器111在电子设备100处检测后续启动进程。在1302,动态更新服务或新服务包括检测当用户安装新应用程序(例如:messengerapp)时添加的新服务。在一个实施例中,该方法允许服务检测器111检测当用户安装新应用程序时添加的新服务。在1303,动态更新服务或新服务包括检测当用户从通知面板打开/关闭服务时添加的新服务。在一个实施例中,该方法允许通知面板管理器116检测当用户从通知面板打开/关闭服务时添加的新服务。

在1304,动态更新服务或新服务包括对新服务执行4d聚类。在一个实施例中,该方法允许聚类引擎114对新服务执行4d聚类。在1305,动态更新服务或新服务包括:在将新服务聚类到加速集群时,检查电子设备100的下一引导时间。在一个实施例中,该方法允许聚类引擎114在将新服务聚类到加速集群时检查电子设备100的下一引导时间。在1306,动态更新服务或新服务包括:当新服务被聚类到加速集群时,响应于检测到引导时间被优化(好),为新服务提供正奖励点。在一个实施例中,当新服务被聚类到加速集群时,该方法允许聚类引擎114响应于检测到引导时间被优化(好)而为新服务提供正奖励点。

在1307,动态更新服务或新服务包括:当新服务被聚类到加速集群时,响应于检测到引导时间未优化(坏),为新服务提供负奖励点。在一个实施例中,当新服务被聚类到加速集群时,该方法允许聚类引擎114响应于检测到引导时间未优化(坏)而为新服务提供负奖励点。在1308处,动态更新服务或新服务包括基于正奖励点/负奖励点为下一引导动态地重新建模集群。在一个实施例中,该方法允许聚类引擎114基于正奖励点/负奖励点为下一引导动态地重新建模集群。

本文公开的实施例可以使用在至少一个硬件设备上运行并执行网络管理功能以控制元件的至少一个软件程序来实现。

上述对具体实施例的描述将充分揭示本文中实施例的一般性质,使得其他人可以通过应用当前的知识,在不脱离一般概念的情况下容易地修改和/或适应各种应用,因此,这种适应和修改应当并试图在所公开实施例的等价物的含义和范围内进行理解。应理解,本文使用的措辞或术语是为了说明而非限制。因此,虽然已经根据优选实施例描述了本文中的实施例,但是本领域技术人员将认识到,可以在如本文所述的实施例的精神和范围内通过修改来实践本文中的实施例。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1