一种上行资源分配方法、用户设备和具有存储功能的装置与流程

文档序号:16774696发布日期:2019-02-01 18:38阅读:174来源:国知局
一种上行资源分配方法、用户设备和具有存储功能的装置与流程

本申请涉及通信领域,特别是涉及一种上行资源分配方法、用户设备和具有存储功能的装置。



背景技术:

随着科技的发展,用户设备可以应用的程序越来越多,若用户没有及时关闭已经打开的程序,则这些程序将会转为后台运行,而后台运行的程序将会占用有限的上行资源。

当用户前台使用对上行资源占用量的要求较高的程序时,若后台运行的程序占用的上行资源过多将会严重影响前台程序的数据传输,例如,前台程序为游戏时,将会出现游戏高时延、掉帧的情况,严重影响用户的正常使用。

申请内容

本申请主要解决的技术问题如何降低前台程序出现卡顿的可能。

为解决上述技术问题,本申请采用的一个技术方案是:提供一种上行资源分配方法,包括:判断当前可用上行资源是否满足前台程序的上行资源需求量;若不满足,则限制至少一个后台程序对上行资源的占用。

其中,所述限制至少一个后台程序对上行资源的占用,包括:按照所述至少一个后台程序的优先级从低到高的顺序逐步选择后台程序,并限制所述选择的后台程序对上行资源的占用;或选择所述至少一个后台程序中优先级低于预设优先级阈值的后台程序,并限制所述选择的后台程序对上行资源的占用。

其中,所述限制至少一个后台程序对上行资源的占用,包括:按照所述至少一个后台程序的上行资源占用量从高到低的顺序逐步选择后台程序,并限制所述选择的后台程序对上行资源的占用;或选择所述至少一个后台程序中上行资源占用量高于预设占用量阈值的后台程序,并限制所述选择的后台程序对上行资源的占用。

其中,所述限制至少一个后台程序对上行资源的占用,包括:禁用所述选择的后台程序的数据传输功能。

其中,所述限制至少一个后台程序对上行资源的占用,包括:将所述选择的后台程序占用的上行资源降低至预设最低使用值。

其中,所述限制至少一个后台程序对上行资源的占用,包括:若所述至少一个后台程序包括通信程序,则限制所述通信程序仅接收文字信息和/或仅接收指定联系人的信息。

其中,所述限制至少一个后台程序对上行资源的占用之后,还包括:若判断当前可用上行资源满足前台程序的上行资源需求量,则解除所述至少一个后台程序对上行资源的占用的限制。

其中,所述判断当前可用上行资源是否满足前台程序的所需占用量,包括:判断所述前台程序的上行数据包连续发送失败的个数是否超过预设阈值,若超过则确定当前可用上行资源不满足前台程序的上行资源需求量。

为解决上述技术问题,本申请采用的另一个技术方案是:提供一种用户设备,包括:处理器、存储器和通信电路,所述处理器耦接所述存储器和所述通信电路;其中,所述存储器用于存储程序指令;所述处理器和所述通信电路用于执行所述存储器存储的程序指令以实现如上所述的上行资源分配方法。

为解决上述技术问题,本申请采用的另一个技术方案是:提供一种具有存储功能的装置,存储有程序指令,所述程序指令能够被执行以实现如上所述的上行资源分配方法。

本申请的有益效果是:区别于现有技术的情况,本申请可以在上行资源不足以供前台和后台全部程序使用时,通过选择至少一个后台程序限制其占用的上行资源,给前台程序提供更多的上行资源,降低前台程序出现卡顿的可能。

附图说明

图1是本申请提供的上行资源分配方法的第一实施例的流程示意图;

图2是本申请提供的上行资源限制方法的第二实施例的流程示意图;

图3是本申请提供的用户设备的一实施例的结构示意图;

图4是本申请提供的具有存储功能的装置的一实施例的结构示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,均属于本申请保护的范围。

请参阅图1,图1是本申请提供的上行资源分配方法的第一实施例的流程示意图。

s101:判断当前可用上行资源是否满足前台程序的上行资源需求量。若不满足,则执行步骤s102,若满足,则可以结束流程或者在预定时间后重复执行s101。

在一个具体的实施场景中,用户设备可以同时运行多个程序,其中一个最近使用的程序为前台程序,其余的程序在后台运行。这些前台和后台运行的程序均会占用部分上行资源。若对各个程序所可以占用的上行资源没有规划,将有可能出现后台运行的程序占用了过多的上行资源,从而导致前台程序所占用的上行资源过少,导致前台程序不能顺利运行,出现卡顿的情况,影响了用户的使用。

因此,在本实施例中,对可用上行资源是否满足前台程序的上行资源需求量进行判定。可用上行资源是指当前用户设备的全部上行资源中除去被后台程序占用的上行资源后,剩余的可供前台程序使用的上行资源。在本实施场景中,可以通过判断当前前台程序的上行数据包连续发送失败的个数是否超过预设阈值,若超过,则可确定当前可用上行资源不满足前台程序的上行资源需求量。例如,预设阈值为2,则当检测到若前台程序的发送上行数据包时有连续两个上行数据包发送失败,则可以确定当前可用上行资源不满足前台程序的上行资源需求量。

在其他实施场景中,还可以通过其他方法判断当前可用上行资源是否满足前台程序的所需占用量。例如,可以在日常使用时记录各个程序在所需的上行资源需求量,还可以周期性记录各个程序所需的不同的上行资源需求量并取平均值,以该平均值作为该程序所需的上行资源需求量。然后获取当前运行的后台程序,获取各个后台程序所占用的上行资源,计算所有后台程序占用的上行资源总量。获取当前用户设备全部的上行资源,减去所有后台程序占用的上行资源总量,得到当前可用上行资源,将当前可用上行资源与记录的前台程序的上行资源需求量进行对比,可以判断当前可用上行资源是否满足前台程序的上行资源需求量。

在其他实施场景中,在本步骤前,对用户设备当前运行的程序数量进行检测,在检测到有两个或更多个程序运行时,再判断当前可用上行资源是否满足前台程序的上行资源需求量。因为仅在有后台程序处于运行状态时,才有执行本方法的必要。否则,仅一个前台程序处于运行状态,那么几乎所有的上行资源都将分配给该前台资源使用。

s102:限制至少一个后台程序对上行资源的占用。

在一个具体的实施场景中,确定当前可用上行资源不满足前台程序的上行资源需求量,则限制至少一个后台程序对上行资源的占用。例如,可以按照一定的规则从当前运行的后台程序中选择至少一个后台程序,并限制其对上行资源的占用。

在本实施场景中,可以是按照当前所运行的后台程序的优先级,设置一规则,选择合适的后台程序限制其对上行资源的占用。用户设备中所有程序的优先级可以是出厂时预设,也可以是由用户设置。设置时可以设置各类别程序的优先级,例如通信类的程序优先级为2,游戏类的程序优先级为1。或者可以单独对各个程序设置不同的优先级,例如,微信的优先级为2,王者荣耀的优先级为1。再或者,用户设备可以学习并记录用户的使用习惯,用户在预设的使用周期(例如1周、1个月、3个月等)中最常用的程序的优先级最高,最不常用的程序的优先级最低。

用户设备可以获取所有处于运行状态的后台程序的优先级。在本实施场景中,可以预设一优先级阈值,后台运行的程序的优先级若低于该优先级阈值,则限制其对上行资源的占用。而后台程序中优先级高于或等于预设优先级阈值的程序,可以不限制其对上行资源的占用。若限制了优先级低于预设优先级阈值的后台程序后,当前可用上行资源依旧无法满足前台程序的上行资源需求量,则限制上一次未限制的其他后台程序对上行资源的占用。

可以按照后台程序的优先级从低到高的顺序逐步选择后台程序,并限制所选择的后台程序对上行资源的占用。例如,用户可以先限制所有后台程序中优先级最低的程序,然后检测当前可用上行资源是否满足前台程序对上行资源的占用。若当前可用上行资源能够满足前台程序的上行资源需求量,则结束限制后台程序对上行资源的占用。若当前可用上行资源不能满足前台程序的上行资源需求量,则继续从未被限制对上行资源的占用的后台程序中,选择当前优先级最低的后台程序,限制其对上行资源的占用,并继续检测当前可用上行资源能否满足前台程序的上行资源需求量,若不满足,则继续重复从当前未被限制对上行资源的占用的后台程序中,选择当前优先级最低的后台程序,限制其对上行资源的占用的步骤,直至检测到当前可用上行资源能够满足前台程序的上行资源需求量为止。

在其他实施场景中,为了有效提高效率,在限制后台程序中优先级最低的程序时,可以在一次操作中限制所有后台程序中优先级最低的多个(例如,2个、3个)等程序。

在又一个实施场景中,还可以根据后台程序的运行时间选择合适的至少一个后台程序并限制其对上行资源的占用。例如,可以预设一个时间阈值,后台运行的程序的运行时间长度若高于该时间阈值,则限制其对上行资源的占用。而后台程序中运行时间低于或等于预设时间阈值的程序,可以不限制其对上行资源的占用。若限制了运行时间高于预设时间阈值的后台程序后,当前可用上行资源依旧无法满足前台程序的上行资源需求量,则限制上一次未限制的其他后台程序对上行资源的占用。

在另一个具体的实施场景中,可以按照后台程序的运行时间从长到短的顺序逐步选择后台程序,并限制所选择的后台程序对上行资源的占用。例如,用户可以先限制所有后台程序中运行时间最长的程序,然后检测当前可用上行资源是否满足前台程序对上行资源的占用。若当前可用上行资源能够满足前台程序的上行资源需求量,则结束限制后台程序对上行资源的占用。若当前可用上行资源不能满足前台程序的上行资源需求量,则继续从未被限制对上行资源的占用的后台程序中,选择当前运行时间最长的后台程序,限制其对上行资源的占用,并继续检测当前可用上行资源能否满足前台程序的上行资源需求量,若不满足,则继续重复从当前未被限制对上行资源的占用的后台程序中,选择当前运行时间最长的后台程序,限制其对上行资源的占用的步骤,直至检测到当前可用上行资源能够满足前台程序的上行资源需求量为止。

在其他实施场景中,为了有效提高效率,在限制后台程序中运行时间最长的程序时,可以在一次操作中限制所有后台程序中运行时间最低的多个(例如,2个、3个)等程序。

在又一个实施场景中,还可以根据后台程序的上行资源占用量选择合适的至少一个后台程序并限制其对上行资源的占用。例如,可以预设一个占用量阈值,后台运行的程序的上行资源占用量长度若高于该占用量阈值,则限制其对上行资源的占用。而后台程序中上行资源占用量低于或等于预设时间阈值的程序,可以不限制其对上行资源的占用。若限制了上行资源占用量高于预设时间阈值的后台程序后,当前可用上行资源依旧无法满足前台程序的上行资源需求量,则限制上一次未限制的其他后台程序对上行资源的占用。

在另一个具体的实施场景中,可以按照后台程序的上行资源占用量从长到短的顺序逐步选择后台程序,并限制所选择的后台程序对上行资源的占用。例如,用户可以先限制所有后台程序中上行资源占用量最高的程序,然后检测当前可用上行资源是否满足前台程序对上行资源的占用。若当前可用上行资源能够满足前台程序的上行资源需求量,则结束限制后台程序对上行资源的占用。若当前可用上行资源不能满足前台程序的上行资源需求量,则继续从未被限制对上行资源的占用的后台程序中,选择当前上行资源占用量最高的后台程序,限制其对上行资源的占用,并继续检测当前可用上行资源能否满足前台程序的上行资源需求量,若不满足,则继续重复从当前未被限制对上行资源的占用的后台程序中,选择当前上行资源占用量最高的后台程序,限制其对上行资源的占用的步骤,直至检测到当前可用上行资源能够满足前台程序的上行资源需求量为止。

在其他实施场景中,为了有效提高效率,在限制后台程序中上行资源占用量最高的程序时,可以在一次操作中限制所有后台程序中上行资源占用量最低的多个(例如,2个、3个)等程序。

在另一个具体的实施场景中,可以不进行选择,直接将所有的后台程序的占用的上行资源进行限制。还可以根据当前可用上行资源与前台程序的上行资源需求量之间的差距,判断是否将一的后台程序的占用的上行资源进行限制,还是选择合适的至少一个后台程序的占用的上行资源进行限制。当前可用上行资源与前台程序的上行资源需求量之间的差距大,则直接将所有的后台程序的占用的上行资源进行限制,若可用上行资源与前台程序的上行资源需求量之间的差距小,则选择合适的至少一个后台程序的占用的上行资源进行限制。

可用上行资源与前台程序的上行资源需求量之间的差距可用根据前台程序的上行数据包连续发送失败的个数来进行判断,例如,预设一个严重阈值,若前台程序的上行数据包连续发送失败的个数超过该严重阈值,可用上行资源与前台程序的上行资源需求量之间的差距大,而若前台程序的上行数据包连续发送失败的个数未超过该严重阈值而仅超过遇预设阈值,则可用上行资源与前台程序的上行资源需求量之间的差距小。还可以通过计算得出可用上行资源与前台程序的上行资源需求量之间的差距。

在本实施场景中限制所选择的至少一个后台程序占用的上行资源的操作可以通过禁用该至少一个后台程序的数据传输功能实现。若某一后台程序的数据传输功能被禁用,则该后台程序的上行资源占用量被减少至0。这样做可以迅速有效的减少后台程序所占用的上行资源。

还可以通过将选择的后台长须占用的上行资源降低至预设最低使用值。该预设最低使用值,是维持后台程序正常运行所需占用的最少的上行资源。最低使用值可以是对用户设备的所有程序统一设置一个最低使用值,或者针对不同的程序设置不同的最低使用值。该最低使用值可以是用户设置或者出厂前设置,也可以是用户设备学习并记录用户设备中各个程序运行时所占上行资源的最低值,或者在预设时间周期内记录各个程序运行时所占上行资源的最低值的平均值。将选择的后台程序占用的上行资源降低至最低使用值,可以维持后台程序的正常使用,使得用户不会因为限制后台程序占用的上行资源而使得后台程序接收不到消息。

还可以将上述不同的限制后台程序的方法和选择需要被限制的后台程序的方法向结合。例如,优先级不同的后台程序所采用的限制后台程序的方法不同。将优先级较高的后台程序占用的上行资源降低至预设最低使用值,而禁用优先级低的后台程序的数据传输功能。再例如,运行时间不同的后台程序所采用的限制后台程序的方法不同。将运行时间较长的后台程序占用的上行资源降低至预设最低使用值,而禁用运行时间短的后台程序的数据传输功能。上行资源占用量不同的后台程序所采用的限制后台程序的方法不同。将上行资源占用量较高的后台程序占用的上行资源降低至预设最低使用值,而禁用上行资源占用量低的后台程序的数据传输功能。这样可以有效降低后台程序占用的上行资源,并将由于限制后台程序占用的上行资源造成的影响尽量降低。

在又一个具体的实施场景中,当前运行的至少一个后台程序包括通信程序,例如微信、qq等通信程序。这些通信程序在发送或接收文字信息时,所需占用的上行资源量较少,而在接收语音、图片、视频等信息时,所需占用的上行资源较多。因此,为了有效限制后台程序占用的上行资源,可以仅接收文字信息,而不接收其他类型的信息,这样可以实现接收或发送至少部分信息,保持后台程序的最基础的通信功能,又可以降低了通信程序所占用的上行资源。

还可以针对不同的联系人选择是否接收该联系人发送的消息和/或向该联系人发送消息。若该联系人是指定联系人,则接收该联系人发送的消息或者向该联系人发送消息。若该联系人不是指定联系人,则不接受该联系人发送的消息或者向该联系人发送消息。

又可以结合上述两种不同的限制通行程序占用上行资源的方法,例如,若该联系人是指定联系人,则接收该联系人发送的消息或者向该联系人发送消息。若该联系人不是指定联系人,则仅接收或发送文字信息,不接收其他类型的信息。

通过上述描述可知,本实施例中,在上行资源不足以供前台和后台运行的全部程序使用时,通过选择至少一个后台程序限制其占用的上行资源,给前台程序提供更多的上行资源,降低前台程序出现卡顿的可能。

请参阅图2,图2是本申请提供的上行资源限制方法的第二实施例的流程示意图。

s201:判断当前可用上行资源是否满足前台程序的上行资源需求量。若不满足,则执行步骤s202,若满足,则可以结束流程或者在预定时间后重复执行s201。

s202:限制至少一个后台程序对上行资源的占用。

在本实施场景中,步骤s201-s202与本申请提供的上行资源限制方法的第一实施例中的步骤s101-s102基本类似,此处不再进行赘述。

s203:若判断当前可用上行资源满足前台程序的上行资源需求量,则解除所述至少一个后台程序对上行资源的占用的限制。

在一个具体的实施场景中,限制至少一个后台程序对上行资源的占用之后,继续检测当前可用上行资源否能满足前台程序的上行资源需求量。在本实施场景中,可以通过检测前台资源上行数据包连续发送成功的个数是否超过预设阈值(例如,2个),来判断当前可用上行资源能否满足前台程序的上行资源需求量。若前台资源的上行数据包连续发送成功的个数超过预设阈值,则当前可用上行资源能满足前台程序的上行资源需求量,若前台资源的上行数据包连续发送成功的个数没有超过预设阈值,则当前可用上行资源不能满足前台程序的上行资源需求量。

当确定前台可用上行资源满足前台程序的上行资源需求量,则解除至少一个后台程序对上行资源的占用的限制。在本实施场景中,可以直接解除之前对至少一个后台程序的上行资源的占用的限制。在其他实施场景中,可以逐步解除之前对至少一个后台程序的上行资源的占用的限制,以防止解除所有的至少一个后台程序的上行资源的占用的限制会造成当前可用上行资源不能满足前台程序的上行资源需求量。

在本实施场景中,可以是按照当前所运行的后台程序的优先级由高至低逐步解除对至少一个后台程序的占用的上行资源的限制。用户可以先选择之前限制过所占用的上行资源的至少一个后台程序中优先级最高的后台程序,解除对该后台程序的占用的上行资源的限制。然后检测当前可用上行资源是否满足前台程序对上行资源的占用。若当前可用上行资源不能满足前台程序的上行资源需求量,则结束解除对后台程序的占用的上行资源的限制,并可以进一步限制该后台程序的占用的上行资源。若当前可用上行资源能够满足前台程序的上行资源需求量,则继续选择之前限制过所占用的上行资源的至少一个后台程序中尚未解除限制的后台程序中优先级最高的后台程序,解除对该后台程序的占用的上行资源的限制,并继续检测当前可用上行资源能否满足前台程序的上行资源需求量,若满足,则继续重复选择之前限制过所占用的上行资源的至少一个后台程序中优先级最高的后台程序,解除对该后台程序的占用的上行资源的限制的步骤,直至检测到当前可用上行资源不够满足前台程序的上行资源需求量为止,并进一步将上一解除限制的后台程序重新限制。

在其他实施场景中,为了有效提高效率,在解除对至少一个后台程序中优先级最高的程序的占用的上行资源时,可以在一次操作中限制所有后台程序中优先级最高的多个(例如,2个、3个)等程序。

还可以是按照当前所运行的后台程序的运行时间由长至短逐步解除对至少一个后台程序的占用的上行资源的限制。用户可以先选择之前限制过所占用的上行资源的至少一个后台程序中运行时间最长的后台程序,解除对该后台程序占用的上行资源的限制。然后检测当前可用上行资源是否满足前台程序对上行资源的占用。若当前可用上行资源不能满足前台程序的上行资源需求量,则结束解除对后台程序的占用的上行资源的限制的步骤,并可以进一步限制该后台程序所占用的上行资源。若当前可用上行资源能够满足前台程序的上行资源需求量,则继续选择之前限制过所占用的上行资源的至少一个后台程序中尚未解除限制的后台程序中运行时间最长的后台程序,解除对该后台程序的占用的上行资源的限制,并继续检测当前可用上行资源能否满足前台程序的上行资源需求量,若满足,则继续重复选择之前限制过所占用的上行资源的至少一个后台程序中运行时间最高的后台程序,解除对该后台程序的占用的上行资源的限制的步骤,直至检测到当前可用上行资源不够满足前台程序的上行资源需求量为止,并进一步将上一解除限制的后台程序重新限制。

在其他实施场景中,为了有效提高效率,在解除对至少一个后台程序中优先级最高的程序的占用的上行资源时,可以在一次操作中限制所有后台程序中运行时间最长的多个(例如,2个、3个)等程序。

通过上述描述可知,本实施例中在检测到当前可用上行资源能够满足前台程序的上行资源需求量时,及时解除对至少一个后台程序对上行资源的占用的限制,可以有效利用资源,避免出现上行资源过剩,造成资源浪费。

请参阅图3,图3是本申请提供的用户设备的一实施例的结构示意图。用户设备10包括处理器11、存储器12和通信电路13,处理器11耦接存储器12和通信电路13。存储器12用于存储程序指令,处理器11结合通信电路13用于运行存储器12中的程序指令以进行通信并执行如下方法:

处理器11通过通信电路13获取当前可用上行资源以及获取当前的前台程序,处理器11判断当前可用上行资源是否满足前台程序的资源需求量,若处理器11确定当前可用上行资源不能够满足前台程序的上行资源需求量,则处理器11限制至少一个后台程序对上行资源的占用。若处理器11确定当前可用上行资源能够满足前台程序的上行资源需求量,则不对后台程序占用的上行资源进行限制。

处理器11可以按照至少一个后台程序的优先级从低到高的顺序逐步选择后台程序,并限制所选择的后台程序对上行资源的占用,也可以选择至少一个后台程序中优先级低于预设优先级阈值的后台程序,并限制所选择的后台程序对上行资源的占用,还可以按照至少一个后台程序的上行资源占用量的从高到低的顺序逐步选择后台程序,并限制所选择的后台程序对上行资源的占用,也可以选择至少一个后台程序中上行资源占用量高于预设占用量阈值的后台程序,并限制所选择的后台程序对上行资源的占用。

处理器11可以通过禁用所选择的后台程序的数据传输功能的方法限制该后台程序对上行资源的占用,也可以通过将所选择的后台程序占用的上行资源降低至最低预设值来限制该后台程序对上行资源的占用。

若至少一个后台程序包括通信程序,处理器11可以限制改通信程序仅接收文字信息和/或仅接收指定联系人的信息。

处理器11在限制至少一个后台程序对上行资源的占用之后,监测当前可用上行资源是否满足前台程序的上行资源需求量,若确定当前可用上行资源满足前台程序的上行资源需求量,则解除所述至少一个后台程序对上行资源的占用的限制。

通过上述描述可知,本实施例中的用户设备可以在当前可用上行资源不能满足前台程序的上行资源需求量时限制至少一个后台程序对上行资源的占用,增加当前可用上行资源的资源量,使得前台程序可以顺利运行,降低前台程序出现卡顿的可能,并在当前可用上行资源能够满足前台程序的上行资源需求时解除对后台程序占用的上行资源的限制,可以有效利用上行资源,避免资源浪费。

请参阅图4,图4是本申请提供的具有存储功能的装置的一实施例的结构示意图。具有存储功能的装置20中存储有至少一个程序指令21,程序指令21用于执行如图1-图2所示的方法。在一个实施例中,具有存储功能的装置可以是设备中的存储芯片、硬盘或者是移动硬盘或者优盘、光盘等其他可读写存储的工具,还可以是服务器等等。

通过上述描述可知,本实施例中的具有存储功能的装置中存储的程序指令可以用于在当前可用上行资源不能满足前台程序的上行资源需求量时限制至少一个后台程序对上行资源的占用,增加当前可用上行资源的资源量,使得前台程序可以顺利运行,降低前台程序出现卡顿的可能。

区别于现有技术,本申请通过在当前可用上行资源不能满足前台程序的上行资源需求量时限制至少一个后台程序对上行资源的占用,减少后台程序占用的上行资源,使得前台程序可以占用更多的资源,满足其上行资源需求,以降低前台程序出现卡顿的可能。

以上所述仅为本申请的实施方式,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

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