供进程管理内部线程的方法、装置、电子设备及存储介质与流程

专利2022-05-09  93


本申请涉及智能终端领域,具体涉及一种供进程管理内部线程的方法、装置、电子设备及存储介质。



背景技术:

如今具有丰富人机交互方式、拥有接入互联网能力、通常搭载各种操作系统、具有较强处理能力的智能终端中,其芯片一般具有多个处理器核。当前主流的芯片会搭载至少一个高频率的处理器大核以及至少一个低频率的处理器小核。相较于处理器小核,处理器大核的性能更强,但同时也会带来更高的功耗。现有技术中,对于进程所进行的管理合理性不高,从而导致处理进程内部线程的处理器核在整体上无法达到性能与功耗的平衡。



技术实现要素:

本申请的一个目的在于提出一种供进程管理内部线程的方法、装置、电子设备及存储介质,能够提高线程管理的合理性。

根据本申请实施例的一方面,公开了一种供进程管理内部线程的方法,所述方法包括:

监测进程当前所处的运行场景;

获取所述运行场景下各内部线程对于进程的图像帧渲染耗时;

基于所述运行场景下各内部线程对于进程的图像帧渲染耗时,确定所述各内部线程与终端的处理器核的匹配优先级,其中,所述处理器核包括至少一个高频率的处理器大核以及至少一个低频率的处理器小核;

基于所述匹配优先级与所述终端进行交互,供所述终端以所述匹配优先级为参考对处理所述各内部线程的所述处理器大核以及所述处理器小核进行调度。

根据本申请实施例的一方面,公开了一种供进程管理内部线程的装置,所述装置包括:

监测模块,配置为监测进程当前所处的运行场景;

获取模块,配置为获取所述运行场景下各内部线程对于进程的图像帧渲染耗时;

确定模块,配置为基于所述运行场景下各内部线程对于进程的图像帧渲染耗时,确定所述各内部线程与终端的处理器核的匹配优先级,其中,所述处理器核包括至少一个高频率的处理器大核以及至少一个低频率的处理器小核;

交互模块,配置为基于所述匹配优先级与所述终端进行交互,供所述终端以所述匹配优先级为参考对处理所述各内部线程的所述处理器大核以及所述处理器小核进行调度。

在本申请的一示例性实施例中,所述装置配置为:

于虚拟机内部部署所述终端的运行环境,并于所述终端的运行环境运行进程;

通过于所述虚拟机内部对所述终端的运行环境进行监测,获取所述运行场景下各内部线程对于进程的图像帧渲染耗时。

在本申请的一示例性实施例中,所述装置配置为:

按照所述运行场景下各内部线程对于进程的图像帧渲染耗时从高到低的顺序,将所述各内部线程划分为第一优先级、第二优先级以及第三优先级,其中,所述第一优先级的内部线程优先与所述处理器大核相匹配,所述第三优先级的内部线程优先与所述处理器小核相匹配,所述第二优先级的内部线程在所述第一优先级的内部线程均与所述处理器大核相匹配后优先与所述处理器大核相匹配。

在本申请的一示例性实施例中,所述装置配置为:

与所述终端建立实时通信,基于所述匹配优先级向所述终端发送调度请求,供所述终端以所述匹配优先级为参考对处理所述各内部线程的处理器大核以及所述处理器小核进行调度。

在本申请的一示例性实施例中,所述装置配置为:

基于所匹配处理器核的类别对各所述内部线程的线程名称进行标记,供所述终端以所述匹配优先级为参考对处理所述各内部线程的处理器大核以及所述处理器小核进行调度。

在本申请的一示例性实施例中,所述装置配置为:

获取所述终端返回的调度状态信息,其中,所述调度状态信息用于描述所述处理器大核以及所述处理器小核分别所处理的内部线程;

基于所述调度状态信息调整所述匹配优先级。

在本申请的一示例性实施例中,所述装置配置为:

将所述调度状态信息上传至进程管理端,以使所述进程管理端响应于所述调度状态信息更新所述匹配优先级;

将所述匹配优先级与所述进程管理端反馈的更新后匹配优先级进行同步。

根据本申请实施例的一方面,公开了一种电子设备,包括:存储器,存储有计算机可读指令;处理器,读取存储器存储的计算机可读指令,以执行以上权利要求中的任一个所述的方法。

根据本申请实施例的一方面,公开了一种计算机程序介质,其上存储有计算机可读指令,当所述计算机可读指令被计算机的处理器执行时,使计算机执行以上权利要求中的任一个所述的方法。

根据本申请实施例的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各种可选实现方式中提供的方法。

本申请实施例中,进程对内部线程所作管理,与进程当前所处的运行场景相关联。具体的,进程通过这种方法,使得终端为处理各内部线程所调度的处理器核与运行场景下各内部线程对于进程的图像帧渲染耗时相关联,从而使得对内部线程所作管理,在图像帧渲染耗时方面能够满足实时的场景需求,提高了线程管理的合理性。

本申请的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本申请的实践而习得。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本申请。

附图说明

通过参考附图详细描述其示例实施例,本申请的上述和其它目标、特征及优点将变得更加显而易见。

图1示出了根据本申请一个实施例的供进程管理内部线程的系统架构图。

图2示出了根据本申请一个实施例的进程客户端与终端之间的交互流程。

图3示出了根据本申请一实施例所提供的供进程管理内部线程的方法的流程图。

图4示出了根据本申请一实施例的调度请求生成流程图。

图5示出了根据本申请一实施例的供进程管理内部线程的装置的框图。

图6示出了根据本申请一实施例的电子设备的硬件图。

具体实施方式

现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些示例实施方式使得本申请的描述将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。附图仅为本申请的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。

此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多示例实施方式中。在下面的描述中,提供许多具体细节从而给出对本申请的示例实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本申请的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、步骤等。在其它情况下,不详细示出或描述公知结构、方法、实现或者操作以避免喧宾夺主而使得本申请的各方面变得模糊。

附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。

本申请提供了一种供进程管理内部线程的方法,该方法的执行主体为进程。本申请实施例中的进程采用该方法与该进程所在终端进行交互,在所进行交互的基础上使得终端调度相应的处理器核处理该进程的内部线程,从而实现对内部线程的管理。

图1示出了本申请一实施例的供进程管理内部线程的系统架构图。

参考图1所示,该实施例中,进程管理其内部线程的过程中主要涉及到进程客户端、终端10以及进程管理端20。

进程客户端为安装于终端10中为用户提供相应服务的应用程序,进程位于进程客户端中。进程管理端20一般为对进程客户端中的进程进行控制管理的服务器。服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn、以及大数据和人工智能平台等基础云计算服务的云服务器。终端10可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端10以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。

进程客户端中的进程主要包括以下功能模块:线程监测模块、数据上报模块、线程匹配模块、交互控制模块。

线程监测模块主要用于监测进程内部线程的创建与销毁,维护当前运行线程列表。

线程匹配模块主要用于根据匹配优先级,对当前运行线程列表中的内部线程进行处理器核匹配逻辑判断,并给出内部线程与处理器核之间的匹配结果。

进程客户端中的交互控制模块主要用于和终端建立通信,进程运行过程中根据线程匹配模块给出的匹配结果,向终端10发起大核匹配请求和小核匹配请求,并得到终端10反馈的用于描述处理器核实际调度情况的调度状态信息。

数据上报模块主要用于将交互控制模块给出的调度状态信息上报至进程管理端20,以及接收进程管理端20下发的调整后匹配优先级。

终端10主要包括以下功能模块:调度模块、交互控制模块。

终端10的交互控制模块主要用于接收进程客户端发送的大核匹配请求和小核匹配请求,并将接收到的请求转发至调度模块。

调度模块主要用于根据接收到的请求对处理器核进行调度。

在一实施例中,线程匹配模块给出的匹配结果的字段字义如下表1所示。

表1.匹配结果的字段字义

需要说明的是,该实施例只是示例性的说明,不应对本申请的功能和使用范围造成限制。

图2示出了本申请一实施例的进程客户端与终端之间的交互流程。

参考图2所示,该实施例中,进程客户端向终端发起查询请求,以查询终端是否支持针对处理器核的大小核调度策略。

终端向进程客户端返回支持结果。若不支持大小核调度策略,则该流程结束。若支持大小核调度策略,则终端向进程客户端返回处理器大核数量以及处理器小核数量。

进程客户端基于当前所处的运行场景下各内部线程对于进程的图像帧渲染耗时,确定该处理器大核数量以及处理器小核数量的情况下,各内部线程与终端的处理器核的匹配优先级。

针对优先与处理器大核相匹配的内部线程,进程客户端向终端发送大核调度请求,以请求终端优先调度处理器大核处理该内部线程。终端接收到大核调度请求后,返回针对处理器大核的调度状态信息给进程客户端,以使进程客户端确定终端实际针对哪些内部线程调度了处理器大核。

针对优先与处理器小核相匹配的内部线程,进程客户端向终端发送小核调度请求,以请求终端优先调度处理器小核处理该内部线程。终端接收到小核调度请求后,返回针对处理器小核的调度状态信息给进程客户端,以使进程客户端确定终端实际针对哪些内部线程调度了处理器小核。

图3示出了本申请一实施例所提供的供进程管理内部线程的方法的流程图,该方法包括:

步骤s310、监测进程当前所处的运行场景;

步骤s320、获取运行场景下各内部线程对于进程的图像帧渲染耗时;

步骤s330、基于运行场景下各内部线程对于进程的图像帧渲染耗时,确定各内部线程与终端的处理器核的匹配优先级,其中,处理器核包括至少一个高频率的处理器大核以及至少一个低频率的处理器小核;

步骤s340、基于匹配优先级与终端进行交互,供终端以匹配优先级为参考对处理各内部线程的处理器大核以及处理器小核进行调度。

本申请实施例中,高频率的处理器大核指的是相较之下工作频率更高处理能力更强的处理器核,低频率的处理器小核指的是相较之下工作频率更低处理能力更弱的处理器核。

本申请实施例中,进程在运行的过程中,实时监测其所处的运行场景。进程所处的运行场景,主要以该进程的运行状态进行划分。例如:在游戏进程的运行过程中,将处于游戏界面加载的状态划分为第一场景,将处于与其他n名以下游戏角色处于同一游戏界面的状态划分为第二场景,将处于与其他n名或n名以上游戏角色处于同一游戏界面的状态划分为第三场景。其中,n为预设的正数。

本申请实施例中,进程在运行的过程中,获取当前所处的运行场景下各内部线程对于进程的图像帧渲染耗时,进而在此基础上确定其各内部线程与终端的处理器核的匹配优先级。进而基于该匹配优先级与终端进行交互,通过交互使得终端得到该匹配优先级的信息,进而使得终端以该匹配优先级为参考对处理各内部线程的处理器大核以及处理器小核进行调度。

由此可见,本申请实施例中,进程对内部线程所作管理,与进程当前所处的运行场景相关联。具体的,进程通过这种方法,使得终端为处理各内部线程所调度的处理器核与运行场景下各内部线程对于进程的图像帧渲染耗时相关联,从而使得对内部线程所作管理,在图像帧渲染耗时方面能够满足实时的场景需求,提高了线程管理的合理性。

在一实施例中,执行本申请所提供方法的为游戏进程。该游戏进程在运行过程中,监测当前所处的游戏场景,进而获取当前所处的游戏场景下各内部线程对于游戏进程的图像帧渲染耗时,进而在此基础上确定各内部线程与终端的处理器核的匹配优先级。进而基于该匹配优先级与终端进行交互,以使终端以该匹配优先级为参考对处理各内部线程的处理器大核以及处理器小核进行调度。

在一实施例中,执行本申请所提供方法的为制图进程。该制图进程在运行过程中,监测当前所处的制图场景,进而获取当前所述的制图场景下各内部线程对于制图进程的图像帧渲染耗时,进而在此基础上确定各内部线程与终端的处理器核的匹配优先级。进而基于该匹配优先级与终端进行交互,以使终端以该匹配优先级为参考对处理各内部线程的处理器大核以及处理器小核进行调度。

在一实施例中,于虚拟机内部部署终端的运行环境,并于终端的运行环境运行进程。通过这种方式,对进程在终端中运行时的表现进行模拟。其中,模拟所得的进程在终端中运行时的表现包括:进程中各内部线程在终端中运行时,对于进程的图像帧渲染耗时。

进而通过于虚拟机内部对终端的运行环境进行监测,获取运行场景下各内部线程对于进程的图像帧渲染耗时。

该实施例的优点在于,通过于虚拟机内部对进程在终端中运行时的表现进行模拟,使得所确定的各内部线程对于进程的图像帧渲染耗时与终端相关联,提高了图像帧渲染耗时的精准度。

在一实施例中,按照运行场景下各内部线程对于进程的图像帧渲染耗时从高到低的顺序,将各内部线程划分为第一优先级、第二优先级以及第三优先级,其中,第一优先级的内部线程优先与处理器大核相匹配,第三优先级的内部线程优先与处理器小核相匹配,第二优先级的内部线程在第一优先级的内部线程均与处理器大核相匹配后优先与处理器大核相匹配。

第一优先级的内部线程优先与处理器大核相匹配,即要求在终端处理器大核资源允许的情况下,终端尽量调度处理器大核处理该第一优先级的内部线程。第三优先级的内部线程优先与处理器小核相匹配,即要求在终端处理器小核资源允许的情况下,终端尽量调度处理器小核处理该第三优先级的内部线程。第二优先级的内部线程在第一优先级的内部线程均与处理器大核相匹配后优先与处理器大核相匹配,即要求在终端为所有第一优先级的内部线程分配完毕处理器核后,若还存在空闲的处理器大核,则尽量调度空闲的处理器大核处理该第二优先级的内部线程。

在一实施例中,主线程与渲染线程被固定地划分至第一优先级,即无论进程处于何种运行场景,主线程与渲染线程均优先与处理器大核相匹配。数据采集线程与数据上报线程被固定地划分至第三优先级,即无论进程处于何种运行场景,数据采集线程与数据上报线程均优先与处理器小核相匹配。

该实施例的优点在于,通过这种方法,使得终端始终优先调度处理器大核处理主线程、渲染线程这类在与用户体验密切相关的线程,避免了进程运行过程中用户体验受损;使得终端始终优先调度处理器小核处理数据采集线程、数据上报线程这类与用户体验关联较小的线程,避免了这类线程对处理器大核的资源占用,进一步避免了进程运行过程中用户体验受损。

在一实施例中,进程通过与终端建立实时通信的方式与终端进行交互。

具体的,该实施例中,进程与终端建立实时通信,基于所确定的匹配优先级向该终端发送调度请求。从而使得该终端接收到该调度请求后,以该匹配优先级为参考对处理各内部线程的处理器大核以及处理器小核进行调度。

该实施例的优点在于,通过建立实时通信的方式进行交互,保证了线程管理与运行场景的同步性。

图4示出了本申请一实施例的调度请求生成流程图。

参考图4所示,该实施例中,进程对新线程进行监测,确定从上一个周期到当前时间新创建的进程。针对与运行场景动态关联的新线程,确定当前所处的运行场景,进而确定该运行场景下这些新线程的图像帧渲染耗时,进而确定这些新线程的匹配优先级,进而确定当前时间这些新线程是优先与处理器大核相匹配还是优先与处理器小核相匹配。

进程还对已确定与匹配优先级的老线程进行遍历,并确定当前所处的运行场景,进而重新确定当前时间这些老线程是优先与处理器大核相匹配还是优先与处理器小核相匹配。

根据对新线程的监测以及对老线程的遍历,进程更新调度列表,生成新调度列表,进而根据新调度列表向终端发送相应的调度请求。

在一实施例中,进程通过对线程名称进行标记的方式与终端进行交互。

具体的,该实施例中,进程确定匹配优先级后,基于所匹配处理器核的类别对各内部线程的线程名称进行标记。终端在需要调度处理器核处理内部线程时,通过读取线程名称即可以确定内部线程优先所匹配的处理器核,进而优先调度相应的处理器核分别处理相匹配的内部线程。

该实施例的优点在于,通过对线程名称进行标记的方式进行交互,降低了通信成本。

在一实施例中,对于优先与处理器大核相匹配的内部线程,进程在其线程名称标记前缀字段“big”;对于优先与处理器小核相匹配的内部线程,进程在其线程名称标记前缀字段“small”。终端在需要调度处理器核处理内部线程时,通过读取线程名称确定其前缀字段,进而根据前缀字段确定内部线程是优先与处理器大核相匹配还是优先与处理器小核相匹配,进而优先调度相应的处理器核分别处理相匹配的内部线程。

在一实施例中,进程基于匹配优先级与终端进行交互,以使终端以该匹配优先级为参考对处理各内部线程的处理器大核以及处理器小核进行调度。但由于终端资源的限制(例如:处理器大核的数量有限;终端中其他进程也会占用处理器大核),或是由于终端调度策略的限制(例如:终端所设置调度策略的优先级高于该匹配优先级的优先级),终端对处理器核实际所进行的调度可能会与该匹配优先级所指示的调度存在出入。

终端根据实际所进行的调度中处理器核分别所处理的内部线程的情况,生成调度状态信息,并将该调度状态信息返回至进程。

进程获取到该调度状态信息后,基于该调度状态信息调整该匹配优先级。进而再基于调整后匹配优先级与终端进行交互,以使终端以调整后匹配优先级为参考对处理各内部线程的处理器大核以及处理器小核进行调度。

在一实施例中,当前运行场景下未调整的匹配优先级所描述的内容为:“线程1以及线程2以及线程3均优先与处理器大核相匹配,线程4以及线程5均优先与处理器小核相匹配”。

进程基于该未调整的匹配优先级与终端进行交互后,根据终端返回的调度状态信息,确定终端实际调度了处理器大核处理线程2以及线程3,实际调度处理器小核处理线程1以及线程4以及线程5。

由于线程1以及线程2对于用户体验的影响均比线程3对于用户体验的影响更大,故进程将当前运行场景下的匹配优先级进行调整,使得调整后的匹配优先级所描述的内容为:“线程1以及线程2均优先与处理器大核相匹配,线程3以及线程4以及线程5均优先与处理器小核相匹配”。进程基于该调整后匹配优先级与终端进行交互,以使终端优先将处理器大核的资源分配给线程1以及线程2,并优先将处理器小核的资源分配给线程3以及线程4以及线程5。

需要说明的是,该实施例只是示例性的说明,不应对本申请的功能和使用范围造成限制。

在一实施例中,匹配优先级是由对进程进行控制管理的进程管理端所调整下发的。

进程得到终端返回的调度状态信息后,将该调度状态信息上传至进程管理端,以使进程管理端响应于该调度状态信息更新匹配优先级。进程管理端更新匹配优先级后,将更新后匹配优先级反馈至进程,进而进程将匹配优先级与该更新后匹配优先级进行同步。

该实施例的优点在于,通过与进程管理端同步匹配优先级,提高了线程管理的灵活性。

图5示出了根据本申请一实施例的供进程管理内部线程的装置,所述装置包括:

监测模块410,配置为监测进程当前所处的运行场景;

获取模块420,配置为获取所述运行场景下各内部线程对于进程的图像帧渲染耗时;

确定模块430,配置为基于所述运行场景下各内部线程对于进程的图像帧渲染耗时,确定所述各内部线程与终端的处理器核的匹配优先级,其中,所述处理器核包括至少一个高频率的处理器大核以及至少一个低频率的处理器小核;

交互模块440,配置为基于所述匹配优先级与所述终端进行交互,供所述终端以所述匹配优先级为参考对处理所述各内部线程的所述处理器大核以及所述处理器小核进行调度。

在本申请的一示例性实施例中,所述装置配置为:

于虚拟机内部部署所述终端的运行环境,并于所述终端的运行环境运行进程;

通过于所述虚拟机内部对所述终端的运行环境进行监测,获取所述运行场景下各内部线程对于进程的图像帧渲染耗时。

在本申请的一示例性实施例中,所述装置配置为:

按照所述运行场景下各内部线程对于进程的图像帧渲染耗时从高到低的顺序,将所述各内部线程划分为第一优先级、第二优先级以及第三优先级,其中,所述第一优先级的内部线程优先与所述处理器大核相匹配,所述第三优先级的内部线程优先与所述处理器小核相匹配,所述第二优先级的内部线程在所述第一优先级的内部线程均与所述处理器大核相匹配后优先与所述处理器大核相匹配。

在本申请的一示例性实施例中,所述装置配置为:

与所述终端建立实时通信,基于所述匹配优先级向所述终端发送调度请求,供所述终端以所述匹配优先级为参考对处理所述各内部线程的处理器大核以及所述处理器小核进行调度。

在本申请的一示例性实施例中,所述装置配置为:

基于所匹配处理器核的类别对各所述内部线程的线程名称进行标记,供所述终端以所述匹配优先级为参考对处理所述各内部线程的处理器大核以及所述处理器小核进行调度。

在本申请的一示例性实施例中,所述装置配置为:

获取所述终端返回的调度状态信息,其中,所述调度状态信息用于描述所述处理器大核以及所述处理器小核分别所处理的内部线程;

基于所述调度状态信息调整所述匹配优先级。

在本申请的一示例性实施例中,所述装置配置为:

将所述调度状态信息上传至进程管理端,以使所述进程管理端响应于所述调度状态信息更新所述匹配优先级;

将所述匹配优先级与所述进程管理端反馈的更新后匹配优先级进行同步。

下面参考图6来描述根据本申请实施例的电子设备50。图6显示的电子设备50仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。

如图6所示,电子设备50以通用计算设备的形式表现。电子设备50的组件可以包括但不限于:上述至少一个处理单元510、上述至少一个存储单元520、连接不同系统组件(包括存储单元520和处理单元510)的总线530。

其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元510执行,使得所述处理单元510执行本说明书上述示例性方法的描述部分中描述的根据本发明各种示例性实施方式的步骤。例如,所述处理单元510可以执行如图3中所示的各个步骤。

存储单元520可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(ram)5201和/或高速缓存存储单元5202,还可以进一步包括只读存储单元(rom)5203。

存储单元520还可以包括具有一组(至少一个)程序模块5205的程序/实用工具5204,这样的程序模块5205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。

总线530可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。

电子设备50也可以与一个或多个外部设备600(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备50交互的设备通信,和/或与使得该电子设备50能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口550进行。输入/输出(i/o)接口550与显示单元540相连。并且,电子设备50还可以通过网络适配器560与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图所示,网络适配器560通过总线530与电子设备50的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备50使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。

通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本申请实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本申请实施方式的方法。

在本申请的示例性实施例中,还提供了一种计算机可读存储介质,其上存储有计算机可读指令,当所述计算机可读指令被计算机的处理器执行时,使计算机执行上述方法实施例部分描述的方法。

根据本申请的一个实施例,还提供了一种用于实现上述方法实施例中的方法的程序产品,其可以采用便携式紧凑盘只读存储器(cd-rom)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。

所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。

计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。

可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、rf等等,或者上述的任意合适的组合。

可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、c 等,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(lan)或广域网(wan),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。

应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。

此外,尽管在附图中以特定顺序描述了本申请中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。

通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本申请实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者网络设备等)执行根据本申请实施方式的方法。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由所附的权利要求指出。


技术特征:

1.一种供进程管理内部线程的方法,其特征在于,所述方法包括:

监测进程当前所处的运行场景;

获取所述运行场景下各内部线程对于进程的图像帧渲染耗时;

基于所述运行场景下各内部线程对于进程的图像帧渲染耗时,确定所述各内部线程与终端的处理器核的匹配优先级,其中,所述处理器核包括至少一个高频率的处理器大核以及至少一个低频率的处理器小核;

基于所述匹配优先级与所述终端进行交互,供所述终端以所述匹配优先级为参考对处理所述各内部线程的所述处理器大核以及所述处理器小核进行调度。

2.根据权利要求1所述的方法,其特征在于,获取所述运行场景下各内部线程对于进程的图像帧渲染耗时,包括:

于虚拟机内部部署所述终端的运行环境,并于所述终端的运行环境运行进程;

通过于所述虚拟机内部对所述终端的运行环境进行监测,获取所述运行场景下各内部线程对于进程的图像帧渲染耗时。

3.根据权利要求1所述的方法,其特征在于,基于所述运行场景下各内部线程对于进程的图像帧渲染耗时,确定所述各内部线程与终端的处理器核的匹配优先级,包括:

按照所述运行场景下各内部线程对于进程的图像帧渲染耗时从高到低的顺序,将所述各内部线程划分为第一优先级、第二优先级以及第三优先级,其中,所述第一优先级的内部线程优先与所述处理器大核相匹配,所述第三优先级的内部线程优先与所述处理器小核相匹配,所述第二优先级的内部线程在所述第一优先级的内部线程均与所述处理器大核相匹配后优先与所述处理器大核相匹配。

4.根据权利要求1所述的方法,其特征在于,基于所述匹配优先级与所述终端进行交互,供所述终端以所述匹配优先级为参考对处理所述各内部线程的处理器大核以及所述处理器小核进行调度,包括:

与所述终端建立实时通信,基于所述匹配优先级向所述终端发送调度请求,供所述终端以所述匹配优先级为参考对处理所述各内部线程的处理器大核以及所述处理器小核进行调度。

5.根据权利要求1所述的方法,其特征在于,基于所述匹配优先级与所述终端进行交互,供所述终端以所述匹配优先级为参考对处理所述各内部线程的所述处理器大核以及所述处理器小核进行调度,包括:

基于所匹配处理器核的类别对各所述内部线程的线程名称进行标记,供所述终端以所述匹配优先级为参考对处理所述各内部线程的处理器大核以及所述处理器小核进行调度。

6.根据权利要求1所述的方法,其特征在于,所述方法还包括:

获取所述终端返回的调度状态信息,其中,所述调度状态信息用于描述所述处理器大核以及所述处理器小核分别所处理的内部线程;

基于所述调度状态信息调整所述匹配优先级。

7.根据权利要求6所述的方法,其特征在于,所述方法还包括:

将所述调度状态信息上传至进程管理端,以使所述进程管理端响应于所述调度状态信息更新所述匹配优先级;

将所述匹配优先级与所述进程管理端反馈的更新后匹配优先级进行同步。

8.一种供进程管理内部线程的装置,其特征在于,所述装置包括:

监测模块,配置为监测进程当前所处的运行场景;

获取模块,配置为获取所述运行场景下各内部线程对于进程的图像帧渲染耗时;

确定模块,配置为基于所述运行场景下各内部线程对于进程的图像帧渲染耗时,确定所述各内部线程与终端的处理器核的匹配优先级,其中,所述处理器核包括至少一个高频率的处理器大核以及至少一个低频率的处理器小核;

交互模块,配置为基于所述匹配优先级与所述终端进行交互,供所述终端以所述匹配优先级为参考对处理所述各内部线程的所述处理器大核以及所述处理器小核进行调度。

9.一种电子设备,其特征在于,包括:

存储器,存储有计算机可读指令;

处理器,读取存储器存储的计算机可读指令,以执行权利要求1-7中的任一个所述的方法。

10.一种计算机可读存储介质,其特征在于,其上存储有计算机可读指令,当所述计算机可读指令被计算机的处理器执行时,使计算机执行权利要求1-7中的任一个所述的方法。

技术总结
本申请提供了一种供进程管理内部线程的方法、装置、电子设备及存储介质,所述方法包括:监测进程当前所处的运行场景;获取所述运行场景下各内部线程对于进程的图像帧渲染耗时;基于所述运行场景下各内部线程对于进程的图像帧渲染耗时,确定所述各内部线程与终端的处理器核的匹配优先级,其中,所述处理器核包括至少一个高频率的处理器大核以及至少一个低频率的处理器小核;基于所述匹配优先级与所述终端进行交互,供所述终端以所述匹配优先级为参考对处理所述各内部线程的所述处理器大核以及所述处理器小核进行调度。本申请实施例能够提高线程管理的合理性。

技术研发人员:徐士立;陈晶晶;刘专;张其田;洪楷
受保护的技术使用者:深圳市腾讯网络信息技术有限公司
技术研发日:2021.04.21
技术公布日:2021.08.03

转载请注明原文地址:https://doc.8miu.com/read-9574.html

最新回复(0)