一种控制方法及装置
文献发布时间:2023-06-19 11:35:49
技术领域
本申请涉及计算机技术领域,更具体地说,涉及一种控制方法及装置。
背景技术
现代待机(Modern Standby,MS)模式是微软新开发的一种个人计算机(PersonalComputer,PC)睡眠的形式。在该MS模式下,PC内部部件都处于低功耗状态。
PC所装载的应用软件如需在该模式下正常运行,需要使用微软新技术。即便如此,如果占用资源过多,也难免被操作系统(operation system,OS)挂起。
发明内容
本申请一方面提供一种控制方法,包括:
如果电子设备进入预设工作模式,确定当前运行的第一可执行文件所占用的系统资源,其中,所述电子设备在所述预设工作模式下的功耗小于其进入所述预设工作模式之前的功耗;
如果所述第一可执行文件所占用的系统资源满足对应的切换条件,停止运行所述第一可执行文件,并触发所述电子设备运行确定的第二可执行文件。
可选的,其中,如果所述第一可执行文件所占用的系统资源满足对应的切换条件,停止运行所述第一可执行文件,并触发所述电子设备运行确定的第二可执行文件,包括:
如果所述第一可执行文件的运行时长满足对应的第一阈值,确定其所占用的系统资源满足对应的切换条件,停止运行所述第一可执行文件,并确定第二可执行文件,以触发所述电子设备运行所述第二可执行文件;或,
如果所述第一可执行文件的输入/输出满足对应的第二阈值,确定其所占用的系统资源满足对应的切换条件,停止运行所述第一可执行文件,并确定第二可执行文件,以触发所述电子设备运行所述第二可执行文件;或,
如果所述第一可执行文件对目标部件的占用率满足对应的第二阈值,确定其所占用的系统资源满足对应的切换条件,停止运行所述第一可执行文件,并确定第二可执行文件,以触发所述电子设备运行所述第二可执行文件。
可选的,其中,确定第二可执行文件,包括:
确定所述第一可执行文件执行的第一任务信息,至少根据所述第一任务信息确定第二可执行文件或从待运行的可执行文件中确定第二可执行文件;或,
获得所述第一可执行文件的属性信息,至少根据所述属性信息从待运行的可执行文件中确定第二可执行文件;或,
获得所述电子设备的运行参数,至少根据所述运行参数从待运行的可执行文件中确定第二可执行文件;或,
获得目标用户的画像信息,至少根据所述画像信息从待运行的可执行文件中确定第二可执行文件;或,
获得待运行的可执行文件的第二任务信息,至少根据所述第二任务信息从所述待运行的可执行文件中确定第二可执行文件。
可选的,其中,至少根据所述第一任务信息确定第二可执行文件或从待运行的可执行文件中确定第二可执行文件,包括:
如果根据所述第一任务信息确定所述待运行的可执行文件中存在能够执行第一任务的可执行文件,将其确定为所述第二可执行文件,以继续执行所述第一任务;或,
如果根据所述第一任务信息确定所述待运行的可执行文件中不存在能够执行第一任务的可执行文件,至少触发所述第一可执行文件新建一可执行文件,将新建的可执行文件确定为所述第二可执行文件,或,将其中具有标识信息的可执行文件确定为所述第二可执行文件,以执行第二任务。
可选的,其中,至少根据所述属性信息从待运行的可执行文件中确定第二可执行文件,包括:
将所述待运行的可执行文件中与所述第一可执行文件的属性信息的相似度满足对应的第三阈值的可执行文件确定为所述第二可执行文件;或,
获得所述第一可执行文件执行的第一任务信息,根据所述第一任务信息将所述待运行的可执行文件中与所述第一可执行文件的属性信息的相似度满足对应的第四阈值的可执行文件确定为所述第二可执行文件;
且/或,
至少根据所述第二任务信息从所述可执行文件中确定第二可执行文件,包括:
至少根据所述第二任务信息确定所述可执行文件的第一运行序列,按照所述第一运行序列从所述可执行文件中确定所述第二可执行文件;或,
获得所述电子设备的运行参数,根据所述运行参数和所述第二任务信息确定所述可执行文件的第二运行序列,按照所述第二运行序列从所述可执行文件中确定所述第二可执行文件,其中,所述第二运行序列能够随所述运行参数动态调整。
可选的,其中,至少根据所述运行参数从待运行的可执行文件中确定第二可执行文件,包括:
获得所述电子设备的电量参数和目标用户的日程信息,根据所述电量参数、或所述电量参数和所述日程信息从所述待运行的可执行文件中确定所述第二可执行文件;或,
获得所述电子设备的散热参数和/或目标部件的使用参数,根据所述散热参数和/或所述使用参数从所述待运行的可执行文件中确定所述第二可执行文件。
可选的,其中,至少根据所述画像信息从待运行的可执行文件中确定第二可执行文件,包括:
根据所述画像信息确定所述待运行的可执行文件的第三运行序列,根据所述第三运行序列从所述待运行的可执行文件中确定所述第二可执行文件;或,
获得所述目标用户的终端设备的使用参数,根据所述使用参数和所述画像信息确定所述待运行的可执行文件的第四运行序列,按照所述第四运行序列从所述待运行的可执行文件中确定所述第二可执行文件。
可选的,其中,还包括:
对所述待运行的可执行文件执行更新操作。
可选的,其中,对所述待运行的可执行文件执行更新操作,包括:
删除所述待运行的可执行文件中被挂起的可执行文件;或,
如果所述待运行的可执行文件的数量满足对应的新建条件,通过所述第一可执行文件或所述确定的第二可执行文件新建至少一个可执行文件。
本申请另一方面提供一种控制装置,包括:
资源确定模块,用于如果电子设备进入预设工作模式,确定当前运行的第一可执行文件所占用的系统资源,其中,所述电子设备在所述预设工作模式下的功耗小于其进入所述预设工作模式之前的功耗;
切换模块,用于如果所述第一可执行文件所占用的系统资源满足对应的切换条件,停止运行所述第一可执行文件,并触发所述电子设备运行确定的第二可执行文件。
本申请另一方面还提供一种电子设备,包括:至少一个存储器和至少一个处理器;所述存储器存储程序及所述程序运行所产生的数据,所述处理器则执行所述程序,所述程序用于实现上述任意一项所述的控制方法。
本申请另一方面还提供一种存储介质,所述存储介质中存储有计算机可执行指令,所述计算机可执行指令用于执行上述任意一项所述的控制方法。
经由上述技术方案,本申请提出一种现代待机模式下的控制方法,在该现代待机模式下,电子设备能够在可执行文件所占用的系统资源满足切换条件时,及时将其停止,并运行另一可执行文件。这就可以实现可执行文件的轮流运行,在其被操作系统挂起前即自动停止、释放系统资源,降低被挂起概率,避免被挂起后无法完成相关任务。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的电子设备的硬件结构框图;
图2为本申请实施例一提供的控制方法的方法流程图;
图3为本申请实施例二提供的场景示意图;
图4为本申请实施例提供的控制装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
本申请提供一种控制方法,该方法可以应用于电子设备,参见图1所示的电子设备的硬件结构框图,电子设备的硬件结构可以包括:处理器11、通信接口12,存储器13和通信总线14;
在本申请实施例中,处理器11、通信接口12、存储器13、通信总线14的数量为至少一个,且处理器11、通信接口12、存储器13通过通信总线14完成相互间的通信。
处理器11可以是一个中央处理器CPU、GPU(Graphics Processing Unit,图形处理器),或者是特定集成电路ASIC(Application Specific Integrated Circuit),或者是被配置成实施本申请实施例的一个或多个集成电路等。
存储器13可以包括高速RAM存储器,也可以还包括非易失性存储器(non-volatilememory)等,例如至少一个磁盘存储器。
其中,存储器13存储程序及程序运行所产生的数据,处理器11则执行程序,以实现功能:
如果电子设备进入预设工作模式,确定当前运行的第一可执行文件所占用的系统资源,其中,电子设备在预设工作模式下的功耗小于其进入预设工作模式之前的功耗;
如果第一可执行文件所占用的系统资源满足对应的切换条件,停止运行第一可执行文件,并触发电子设备运行确定的第二可执行文件。
需要说明的是,处理器执行程序的所实现功能的细化和扩展,可参照下文描述。
本申请实施例一提供一种控制方法,参见图2所示的方法流程图,该控制方法包括如下步骤:
S101,如果电子设备进入预设工作模式,确定当前运行的第一可执行文件所占用的系统资源,其中,电子设备在预设工作模式下的功耗小于其进入预设工作模式之前的功耗。
本申请实施例中,首先对于现代待机模式进行说明:
现代待机模式,为PC(Personal Computer,个人计算机)睡眠的一种形式,处于该模式下的PC内部部件都处于低功耗状态,在这样的低功耗状态下,如果要恢复运行,PC内部部件会快速恢复到工作状态。现代待机模式,也可以成为MS状态在电脑上为用户提供了和智能手机相同的功耗控制方式,可以实现“立即开启”和“立即关闭”的用户体验。进一步,PC处于MS状态时,会进入“S0 low power idle model”的睡眠状态,此时PC仍能够联网,大部分应用程序处于暂停的状态,当然也有部分应用,诸如音乐播放、提醒、通知等仍然能够工作,用户只需轻按任意键即可登录PC并进入工作状态。
需要说明的是,PC在MS状态下具有2种场景:一种是连接待机(ConnectedStandby,CS)状态,其指代PC睡眠的时候仍然联网,例如,PC在该状态下后台仍然能够收邮件,被唤醒之后用户马上就能看到新邮件;另一种是断网待机(Disconnected Standby,DS)状态,就是睡眠时即断网。本申请并不限定上述场景,只要PC在现代待机模式下,即可应用于本申请减少软件被操作系统挂起而无法使用的概率。
还需要说明的是,由于PC无法由S5状态,即关机状态进入现代待机模式,因此PC无论由那种工作模式而进入现代待机模式,进入前的功耗必定会大于进入后的功耗。
再者,本申请实施例中,可执行文件是指能够由操作系统进行加载执行的文件,在不同操作系统环境下,可执行文件的呈现方式不一样。一个可执行文件能够被操作系统识别为唯一的资源分配对象,即操作系统是按照可执行文件的维度分配系统资源,通俗来讲,一个可执行文件分配一份资源。
进一步,可执行文件可以为应用程序、进程、线程中的一种,还可以为同一应用程序下多个进程的进程集合、或者同一应用程序下多个线程的线程集合,本申请对此并不限定。
还需要说明的是,本申请实施例中,系统资源可以是PC内部的硬件资源,也可以是PC处于网络连接下占用的网络资源,包括但不局限于CPU(Central Processing Unit,中央处理器)、声卡、显示、I/O接口、网卡和PC内部各种驱动等。
此外,本申请实施例还可以具体应用于电子设备内当前运行的可执行文件,即第一可执行文件。以可执行文件为进程来说明,在现代待机模式下,进程在运行过程中即主动记录并检测自身所占用的系统资源,一旦发现满足切换条件,在停止运行的同时,触发另一进程运行。这显然与现有杀毒软件中互相守护的守护进程有所区别,以下对两者进行分析说明:
1)以场景来说。本申请针对MS状态。目前PC在现代待机模式下,并没有杀毒软件实现类似方案,本申请可以有助于杀毒软件解决在MS状态下的部分问题。
2)以通用方案来说。守护进程属于常驻的进程,而本申请中进程并非常驻,并且,本申请中进程主动停止运行即避免了常驻。
再者,守护进程通常是两个以上的进程彼此保护,以达到所有进程都能够持续运行的目的。而本申请中,进程主动停止即避免一直运行,一个进程停止运行后另一个被触发的进程才会运行,除非被其他进程触发、否则已经停止的进程不会再运行。
另外,本申请中进程是自身主动结束,而守护进程则不会主动结束。
还需要说明的是,与分布式思想不同的是:分布式通常是多台机器或多个环境,目的在于并行执行任务。而本申请则适用于单个机器或单个环境,本申请的方案可以嵌入到整个分布式方案中,作为其中的一环。
S102,如果第一可执行文件所占用的系统资源满足对应的切换条件,停止运行第一可执行文件,并触发电子设备运行确定的第二可执行文件。
为方便理解,继续以可执行文件为进程为例,对本申请实施例进行说明:
PC进入现代待机模式后,对于正在工作的目标应用会创建多个进程,多个进程相互配合即可完成该目标应用的功能。PC首先触发多个进程中的一个进程运行,即第一进程。第一进程运行过程中,记录并检测自身所占用的系统资源是否接近或达到阈值,如果是,则主动停止运行,同时触发其他进程,即第二进程运行,此时第一进程已释放相关资源,由此可以避免被操作系统挂起。
与第一进程相同,第二进程运行过程中,也会记录并检测自身所占用的系统资源是否接近或达到阈值,如果是,则主动停止运行,同时触发其他进程,当然,第二进程所触发的其他进程可以是上述第一进程、还可以是第一进程和第二进程以外的进程,本申请实施例对此不做限定。同理,第二进程也可以避免被操作系统挂起。
基于此,多个进程相互配合在避免被挂起的前提下完成目标应用的功能。当然,上述系统资源对应的阈值可以根据实际场景进行设置,其低于操作系统挂起进程的资源阈值。
基于本申请,在现代待机模式下,电子设备能够在可执行文件所占用的系统资源满足切换条件时,及时将其停止,并运行另一可执行文件。这就可以实现可执行文件的轮流运行,在其被操作系统挂起前即自动停止、释放系统资源,降低被挂起概率,避免被挂起后无法完成相关任务。
作为步骤S102“如果第一可执行文件所占用的系统资源满足对应的切换条件,停止运行第一可执行文件,并触发电子设备运行确定的第二可执行文件”的一种实现方式,本申请实施例二提供另一种控制方法,步骤S102可以包括如下步骤:
如果第一可执行文件的运行时长满足对应的第一阈值,确定其所占用的系统资源满足对应的切换条件,停止运行第一可执行文件,并确定第二可执行文件,以触发电子设备运行第二可执行文件;或,
如果第一可执行文件的输入/输出满足对应的第二阈值,确定其所占用的系统资源满足对应的切换条件,停止运行第一可执行文件,并确定第二可执行文件,以触发电子设备运行第二可执行文件;或,
如果第一可执行文件对目标部件的占用率满足对应的第二阈值,确定其所占用的系统资源满足对应的切换条件,停止运行第一可执行文件,并确定第二可执行文件,以触发电子设备运行第二可执行文件。
为方便理解,继续以可执行文件为进程为例,对本申请实施例进行说明:
PC进入现代待机模式后,多个进程相互配合来完成该目标应用的功能。PC首先触发第一进程运行,第一进程运行过程中,会记录并检测影响系统资源占用的部分参数,包括运行时长、输入/输出、以及对目标部件的占用率中的一个或多个,其中,目标部件可以是CPU、GPU、网卡、内存等进程依赖性较大的部件。
如果运行时长大于预设的时长阈值、或者输入/输出大于预设的输入/输出阈值、或者对目标部件的占用率大于预设的占用率阈值,即则第一进程记录并检测自身所占用的系统资源,进一步,如果自身所占用的系统资源接近或达到阈值,则主动停止运行,同时触发第二进程。
参见图3所示的场景示意图。第一进程执行读写操作,读取存储区域1中的数据、并将读取的数据写入存储区域2中。在第一进程执行读写操作的过程中,其记录并检测读取/写入的数据量是否大于预设的数据量阈值,如果大于,则记录并检测自身所占用的系统资源。一旦自身所占用的系统资源接近或达到阈值,则主动停止运行,同时触发第二进程。
第二进程所执行的功能可以与第一进程相同,也可以与第一进程不同。以第二进程与第一进程功能相同为例,在第一进程触发第二进程运行后,第一进程已释放相关资源,由第二进程继续执行读取存储区域1中的数据、并将读取的数据写入存储区域2中。与第一进程相同,第二进程在执行读写操作的过程中,也会记录并检测读取/写入的数据量是否大于预设的数据量阈值,如果大于,则记录并检测自身所占用的系统资源。一旦自身所占用的系统资源接近或达到阈值,则主动停止运行,同时触发其他进程。当然,第二进程所触发的其他进程可以是功能与其相同的进程,比如第一进程,还可以是功能与其不同的进程,本申请实施例对此不做限定。
基于本申请,在现代待机模式下,电子设备能够在可执行文件满足一定条件时,及时判定其所占用的系统资源是否满足切换条件,而无需实时判定,在减少可执行文件被挂起概率的前提下,最大程度的减少计算资源的占用。
作为确定第二可执行文件的一种实现方式,本申请实施例三提供又一种控制方法,确定第二可执行文件的过程可以包括如下步骤:
确定第一可执行文件执行的第一任务信息,至少根据第一任务信息确定第二可执行文件或从待运行的可执行文件中确定第二可执行文件;或,
获得第一可执行文件的属性信息,至少根据属性信息从待运行的可执行文件中确定第二可执行文件;或,
获得电子设备的运行参数,至少根据运行参数从待运行的可执行文件中确定第二可执行文件;或,
获得目标用户的画像信息,至少根据画像信息从待运行的可执行文件中确定第二可执行文件;或,
获得待运行的可执行文件的第二任务信息,至少根据第二任务信息从待运行的可执行文件中确定第二可执行文件。
为方便理解,继续以可执行文件为进程为例,对本申请实施例进行说明:
PC进入现代待机模式后,多个进程相互配合来完成该目标应用的功能。PC首先触发第一进程运行,第一进程运行过程中,一旦发现自身所占用的系统资源接近或达到阈值,则主动停止运行,同时触发第二进程。该第二进程可以与第一进程所执行的任务、第一进程的属性、PC的运行参数、目标用户的画像以及第二进程自身所执行的任务相关,以下分别对第二进程的每种确定方式进行说明:
1)第二进程与第一进程所执行的任务相关。多个进程相互配置完成目标应用的功能时,本质上是执行实现功能所需的多个任务,即目标应用初始化创建时可以为不同任务创建相应的一组进程,一组进程可以由一个或多个进程组成。对于每个任务来说,其对应的一组进程相互配合完成该任务,运行中的进程,继续以第一进程来说,其在确定自身所占用的系统资源接近或达到阈值后,触发同组进程中的另一个进程,即第二进程运行,以继续完成该任务。
而在第一进程确定第二进程时,可以随机选择,还可以按照考虑一定条件来筛选,比如按照任务执行列表(列表中包含可执行任务的进程)顺序选择第二进程,再比如选取距离上次运行时间间隔最大的一个进程,本申请实施例对此不做限定。
2)第二进程与第一进程的属性相关。进程的属性可以包括与进程自身相关的第一类信息,比如标识、类型、运行方式,还包括与进程所在任务相关的第二类信息,例如任务所实现的部分功能,举例来说,数据收发功能由两个任务来完成,其中一个任务下的进程需要完成数据收取、另一任务下的进程需要完成数据发送。
因此,第一进程在确定自身所占用的系统资源接近或达到阈值后,可以考虑其属性选择与其属性相关联的一个进程作为第二进程。比如,可以选择个与其标识类似的进程作为第二进程,再比如,可以选择一个功能相同的进程作为第二进程。
3)第二进程与PC的运行参数相关。运行参数包括PC内部硬件资源的运行参数、以及PC处于网络连接下所占用网络资源的运行参数。
以CPU为例,第一进程在确定自身所占用的系统资源接近或达到阈值后,考虑当前CPU的占用率,如果CPU占用率大于对应的阈值,则选择CPU占用率最低的进程作为第二进程,具体可以从执行同一任务的同组的进程中选择,还可以从执行其他任务的一组进程中选择。而如果CPU占用率小于对应的阈值,则可以随机选择进程作为第二进程、或者考虑其它信息,以任务紧急程度,从任务属于最高任务紧急程度的一组进程中选择一个进程作为第二进程。
4)第二进程与目标用户的画像相关。对于画像,可以通过日志信息来获得目标用户的使用行为,比如浏览,再比如观看,以此确定其使用习惯。第一进程在确定自身所占用的系统资源接近或达到阈值后,可以根据目标用户的使用习惯来确定当前待执行的目标功能,比如,目标用户7点起床后会听广播,此时第一进程可以将能够执行广播任务的一个进程作为目标进程。
5)第二进程与其自身所执行的任务相关。对于特定任务,比如邮件收取或发送,其可以被定时,在处理时优先级最高。对于此类任务,第一进程在确定自身所占用的系统资源接近或达到阈值后,可以首先确定被定时于当前时刻的任务,从而从该任务下的一组进程中选择一个作为第二进程。
需要说明的是,上述实施例在说明时仅分别以第一进程所执行的任务、第一进程的属性、PC的运行参数、目标用户的画像以及第二进程自身所执行的任务的单一维度来说明,在实际应用中可以综合考虑其中的至少两个维度来选择第二进程,或者对于上述各维度进行优先级排序,以该排序依次筛选第二进程,而优先级排序与实际场景有关,本申请实施例对此不做限定。
基于本申请,在现代待机模式下,电子设备综合考虑正在运行的可执行文件的任务信息、属性信息、电子设备的运行参数、目标用户的画像信息、和待运行的可执行文件的任务信息来确定待触发的可执行文件,由此能够将本方案适用于多种应用场景。
作为至少根据第一任务信息确定第二可执行文件或从待运行的可执行文件中确定第二可执行文件的一种实现方式,本申请实施例四提供再一种控制方法,该过程可以包括如下步骤:
如果根据第一任务信息确定待运行的可执行文件中存在能够执行第一任务的可执行文件,将其确定为第二可执行文件,以继续执行第一任务;或,
如果根据第一任务信息确定待运行的可执行文件中不存在能够执行第一任务的可执行文件,至少触发第一可执行文件新建一可执行文件,将新建的可执行文件确定为第二可执行文件,或,将其中具有标识信息的可执行文件确定为第二可执行文件,以执行第二任务。
本申请实施例中,一个任务可以对应一组进程,该组进程可以由一个或多个进程所组成。对于运行中的进程,继续以第一进程来说,其在确定自身所占用的系统资源接近或达到阈值后,需要停止运行,同时触发第二进程。此时,可能有如下几种情况:
1)第一进程所在的一组进程中有多个进程,并且除第一进程以外的其他进程能够被触发,即不存在触发条件、或者存在该触发条件、但其他进程满足该触发条件。此时,第一进程可以从同组的其他能够被触发的进程中选择一个作为第二进程,当然,在选择时可以进一步设置条件筛选,比如选择占用系统资源最小的,本申请实施例对此不做限定。
2)第一进程所在的一组进程中仅有一个进程,即仅有第一进程、除第一进程外不存在其他进程。或者,第一进程所在的一组进程中有多个进程,但除第一进程以外的其他进程都无法被触发,即其他进程都不满足该触发条件。
在该场景下,第一进程停止运行后,就不存在能够执行其任务的进程,此时第一进程可以自身新建一个与自身相同的进程作为第二进程,其停止运行后,由第二进程继续执行其任务。
另外,第一进程还可以触发其他任务的进程,具体可以根据任务被标注的标识信息或者任务所对应的一组进程中进程被标注的标识信息来选择第二进程,该标识信息可以能够指示任务/进程的被其他任务下进程所触发的优先级,优先级可以考虑任务量、任务紧急程度或者任务类型来确定,比如任务量越大的优先级越高。当然,对于被标注标识信息的任务,可以从该任务下一组进程中随机、或者按照一定条件来选择第二进程,本申请实施例对此不做限定。
需要说明的是,上述触发条件可以以任务为维度来设置,即同一任务下所有进程的触发条件相同,还可以以进程为维度来设置,本申请实施例对此并不限定。举例来说,触发条件可以被设置为:距离上次执行任务的间隔要超过一定时长。
作为至少根据属性信息从待运行的可执行文件中确定第二可执行文件的一种实现方式,本申请实施例五提供再一种控制方法,该过程可以包括如下步骤:
将待运行的可执行文件中与第一可执行文件的属性信息的相似度满足对应的第三阈值的可执行文件确定为第二可执行文件;或,
获得第一可执行文件执行的第一任务信息,根据第一任务信息将待运行的可执行文件中与第一可执行文件的属性信息的相似度满足对应的第四阈值的可执行文件确定为第二可执行文件。
为方便理解,继续以可执行文件为进程为例,对本申请实施例进行说明:
对于运行中的进程,继续以第一进程来说,其在确定自身所占用的系统资源接近或达到阈值后,考虑两个进程间属性的相似度,可以选择一个标识高度相似的进程作为第二进程、或者选择一个功能高度相似的进程作为第二进程、或者选择一个功能相似度很低,即功能背离的进程作为第二进程。
进一步,第一进程根据属性选择第二进程的基础上,还可以进一步考虑进程所对应的任务的信息,比如任务量、任务紧急程度或者任务类型。以任务类型为例,可以初步筛选出任务类型或相似的进程,进而从筛选出的进程中选择属性相似度符合条件的进程作为第二进程。
在此基础上,还可以进一步考虑进程自身所执行的任务,具体的,上述至少根据第二任务信息从可执行文件中确定第二可执行文件,可以采用如下步骤:
至少根据第二任务信息确定可执行文件的第一运行序列,按照第一运行序列从可执行文件中确定第二可执行文件;或,
获得电子设备的运行参数,根据运行参数和第二任务信息确定可执行文件的第二运行序列,按照第二运行序列从可执行文件中确定第二可执行文件,其中,第二运行序列能够随运行参数动态调整。
本申请实施例中,各进程均具有其对应的任务,可以按照任务的处理优先级对任务进行排序,相应的就获得以任务为维度的各组进程的运行序列,在该运行序列中位置越靠前的一组进程,其处理优先级越高、执行时间也就越早。因此,第一进程可以按照该运行序列依次触发各任务下的一个进程,以执行相应的任务。
以定时任务为例,第一进程在选择第二进程时,通过比较当前时间与运行序列中位置最靠前的一个任务被定时的时间是否相同,如果相同,则从该任务对应的一组进程中选择一个作为第二进程,当然,第一进程也会将已执行任务所对应的一组进程从该运行序列中删除。
再者,第一进程还可以结合PC的运行参数和各任务处理优先级对任务进程排序,所获得的以任务为维度的各组进程的运行序列中,位置越靠前的一组进程,其处理优先级越高、执行时间也就越早。而对于同一处理优先级的多个任务,则可以根据PC的运行参数对相应的多组进程的位置再次排序,以CPU占用率为例,如果当前CPU占用率大于对应的阈值,则按照CPU占用率由高到低的次序排序,反之,当前CPU占用率小于对应的阈值在,则按照CPU占用率由低到高的次序排序。由此,就可以结合PC的运行参数实时调整进程的运行序列,保证大部分任务的进程能够在最优的运行环境下运行。
作为至少根据运行参数从待运行的可执行文件中确定第二可执行文件的一种实现方式,本申请实施例六提供再一种控制方法,该过程可以包括如下步骤:
获得电子设备的电量参数和目标用户的日程信息,根据电量参数、或电量参数和日程信息从待运行的可执行文件中确定第二可执行文件;或,
获得电子设备的散热参数和/或目标部件的使用参数,根据散热参数和/或使用参数从待运行的可执行文件中确定第二可执行文件。
为方便理解,继续以可执行文件为进程为例,对本申请实施例进行说明:
对于运行中的进程,继续以第一进程来说,其在确定自身所占用的系统资源接近或达到阈值后,考虑PC的电量参数,比如剩余电量,如果剩余电量小于对应的阈值,则可以从低功耗的进程中选择一个作为第二进程。而如果剩余电量大于对应的阈值,则可以随机选择进程、或者考虑其它信息,以任务紧急程度,从任务属于最高任务紧急程度的一组进程中选择一个进程作为第二进程。
进一步,考虑目标用户的日程信息,比如会议类型、会议时间等。继续以剩余电量为例,如果剩余电量小于对应的阈值,则可以根据会议类型确定目标用户待使用的应用,由此确定目标用户在后续的会议时间下需要运行的进程,根据进程的功耗来确定当前所触发的进程的最高功耗,以保证目标用户后续开展会议启动相关进程时具有足够的电量支持。
另外,第一进程还可以考虑PC的散热参数,比如内部散热器的数量、风量等,以此来确定PC的散热性能。如果散热性能差,则第一进程需要从低功耗的进程中选择一个作为第二进程,以降低PC硬件的负载,减少散热。再者,对于具有高运算性能的硬件,比如CPU、GPU、内存或者IO等,可以根据其占用率来进一步从低功耗的进程中选择一个低占用率的进程作为第二进程。
作为至少根据画像信息从待运行的可执行文件中确定第二可执行文件的一种实现方式,本申请实施例七提供再一种控制方法,该过程可以包括如下步骤:
根据画像信息确定待运行的可执行文件的第三运行序列,根据第三运行序列从待运行的可执行文件中确定第二可执行文件;或,
获得目标用户的终端设备的使用参数,根据使用参数和画像信息确定待运行的可执行文件的第四运行序列,按照第四运行序列从待运行的可执行文件中确定第二可执行文件。
为方便理解,继续以可执行文件为进程为例,对本申请实施例进行说明:
对于目标用户的画像信息,可以根据目标用户在进程所在的PC中的日志信息来确定,由此获得目标用户的使用习惯。对于运行中的进程,继续以第一进程来说,其在确定自身所占用的系统资源接近或达到阈值后,可以根据在目标用户的使用习惯来确定不同时间下需要执行的功能,从而根据进程各自所能够执行的功能来确定进程的运行序列,在该运行序列中位置越靠前的进程,其执行的时间也就越早。由此,可以按照该运行序列依次触发进程,正在运行的第一进程将最靠近其的一个进程进行作为第二进程。
进一步,第一进程在基于上述运行排序确定第二进程时,还可以进一步考虑目标用户的终端设备的使用参数,该终端设备可以与进程所在的PC不是同一设备,比如进程所在的PC为家庭式电脑,而该终端设备则可以为工作用电脑。通过硬件连接或者云端传输能够将目标用户在工作用电脑中的使用参数同步至PC,从而获得目标用户在工作环境下的使用习惯,结合目标用户在PC的使用习惯,可以确定目标用户在各类型日期,比如工作日和非工作日下的使用习惯。
由此,第一进程可以根据当前日期的使用习惯来确定不同时间下需要执行的功能,从而根据进程各自所能够执行的功能来确定进程的运行序列,进而按照该运行序列依次触发进程,将最靠近第一进程的一个进程作为第二进程。
基于以上实施例三至实施例七所公开的内容,本申请实施例还可以进一步对于待运行的可执行文件执行更新操作。为方便理解,继续以可执行文件为进程为例,为防止待运行的进程已经被操作系统挂起再将其触发,对于运行中的进程,继续以第一进程来说,其可以检测待运行的进程的状态,以识别其中被操作系统挂起的进程,从而将被挂起的进程从待运行的进程中删除。
另外,第一进程在运行过程中,还可以检测待运行的进程的数量是否小于对应的阈值,如果是,则可以通过其或者确定的第二进程新建至少一个进程。当然,若由第二进程新建进程,则第一进程在电子设备运行第二进程时需要将相关指令输出给第二进程。具体的,还可以按照任务维度,触发目标任务下的一个或多个进程新建进程,由此可以增加目标任务下进程的数量。当然,该目标任务可以是所有任务,还可以是符合一定条件的任务,比如任务量大、或者任务紧急程度高的任务,本申请实施例对此不做限定。以第一进程所执行的任务为例,一旦第一进程确定该任务下的进程数量小于对应的阈值,则可以确定有部分进程被操作系统挂起,则第一进程新建一个或多个进程。
与上述控制方法对应的,本申请还公开了一种控制装置,如图4所示,该控制装置包括:
资源确定模块101,用于如果电子设备进入预设工作模式,确定当前运行的第一可执行文件所占用的系统资源,其中,电子设备在预设工作模式下的功耗小于其进入预设工作模式之前的功耗;
切换模块102,用于如果第一可执行文件所占用的系统资源满足对应的切换条件,停止运行第一可执行文件,并触发电子设备运行确定的第二可执行文件。
在本申请公开的控制装置的另一个实施例中,切换模块102,具体用于:
如果第一可执行文件的运行时长满足对应的第一阈值,确定其所占用的系统资源满足对应的切换条件,停止运行第一可执行文件,并确定第二可执行文件,以触发电子设备运行第二可执行文件;或,
如果第一可执行文件的输入/输出满足对应的第二阈值,确定其所占用的系统资源满足对应的切换条件,停止运行第一可执行文件,并确定第二可执行文件,以触发电子设备运行第二可执行文件;或,
如果第一可执行文件对目标部件的占用率满足对应的第二阈值,确定其所占用的系统资源满足对应的切换条件,停止运行第一可执行文件,并确定第二可执行文件,以触发电子设备运行第二可执行文件。
在本申请公开的控制装置的另一个实施例中,切换模块102确定第二可执行文件的过程,包括:
确定第一可执行文件执行的第一任务信息,至少根据第一任务信息确定第二可执行文件或从待运行的可执行文件中确定第二可执行文件;或,
获得第一可执行文件的属性信息,至少根据属性信息从待运行的可执行文件中确定第二可执行文件;或,
获得电子设备的运行参数,至少根据运行参数从待运行的可执行文件中确定第二可执行文件;或,
获得目标用户的画像信息,至少根据画像信息从待运行的可执行文件中确定第二可执行文件;或,
获得待运行的可执行文件的第二任务信息,至少根据第二任务信息从待运行的可执行文件中确定第二可执行文件。
在本申请公开的控制装置的另一个实施例中,切换模块102至少根据第一任务信息确定第二可执行文件或从待运行的可执行文件中确定第二可执行文件的过程,包括:
如果根据第一任务信息确定待运行的可执行文件中存在能够执行第一任务的可执行文件,将其确定为第二可执行文件,以继续执行第一任务;或,
如果根据第一任务信息确定待运行的可执行文件中不存在能够执行第一任务的可执行文件,至少触发第一可执行文件新建一可执行文件,将新建的可执行文件确定为第二可执行文件,或,将其中具有标识信息的可执行文件确定为第二可执行文件,以执行第二任务。
在本申请公开的控制装置的另一个实施例中,切换模块102至少根据属性信息从待运行的可执行文件中确定第二可执行文件的过程,包括:
将待运行的可执行文件中与第一可执行文件的属性信息的相似度满足对应的第三阈值的可执行文件确定为第二可执行文件;或,
获得第一可执行文件执行的第一任务信息,根据第一任务信息将待运行的可执行文件中与第一可执行文件的属性信息的相似度满足对应的第四阈值的可执行文件确定为第二可执行文件;
且/或,
至少根据第二任务信息从可执行文件中确定第二可执行文件,包括:
至少根据第二任务信息确定可执行文件的第一运行序列,按照第一运行序列从可执行文件中确定第二可执行文件;或,
获得电子设备的运行参数,根据运行参数和第二任务信息确定可执行文件的第二运行序列,按照第二运行序列从可执行文件中确定第二可执行文件,其中,第二运行序列能够随运行参数动态调整。
在本申请公开的控制装置的另一个实施例中,切换模块102至少根据运行参数从待运行的可执行文件中确定第二可执行文件的过程,包括:
获得电子设备的电量参数和目标用户的日程信息,根据电量参数、或电量参数和日程信息从待运行的可执行文件中确定第二可执行文件;或,
获得电子设备的散热参数和/或目标部件的使用参数,根据散热参数和/或使用参数从待运行的可执行文件中确定第二可执行文件。
在本申请公开的控制装置的另一个实施例中,切换模块102至少根据画像信息从待运行的可执行文件中确定第二可执行文件的过程,包括:
根据画像信息确定待运行的可执行文件的第三运行序列,根据第三运行序列从待运行的可执行文件中确定第二可执行文件;或,
获得目标用户的终端设备的使用参数,根据使用参数和画像信息确定待运行的可执行文件的第四运行序列,按照第四运行序列从待运行的可执行文件中确定第二可执行文件。
在本申请公开的控制装置的另一个实施例中,切换模块102还用于:
对待运行的可执行文件执行更新操作。
在本申请公开的控制装置的另一个实施例中,切换模块102对待运行的可执行文件执行更新操作的过程,包括:
删除待运行的可执行文件中被挂起的可执行文件;或,
如果待运行的可执行文件的数量满足对应的新建条件,通过所述第一可执行文件或所述确定的第二可执行文件新建至少一个可执行文件。
与上述控制方法对应的,本申请还公开了一种存储介质,该存储介质中存储有计算机可执行指令,该计算机可执行指令用于执行上述任意一项实施例的控制方法。
以上对本申请所提供的一种控制方法及装置进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备所固有的要素,或者是还包括为这些过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
- 用户装置、用户装置的通信控制方法、核心网装置、核心网的通信控制方法、SMF、SMF的通信控制方法、UPF以及UPF的通信控制方法
- 内容或应用程序提供系统、内容或应用程序提供系统的控制方法、终端装置、终端装置的控制方法、认证装置、认证装置的控制方法