CN112131029B - 广播处理方法、装置、计算机设备及存储介质 - Google Patents

广播处理方法、装置、计算机设备及存储介质 Download PDF

Info

Publication number
CN112131029B
CN112131029B CN202011340911.0A CN202011340911A CN112131029B CN 112131029 B CN112131029 B CN 112131029B CN 202011340911 A CN202011340911 A CN 202011340911A CN 112131029 B CN112131029 B CN 112131029B
Authority
CN
China
Prior art keywords
broadcast
application program
target
application
cloud server
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202011340911.0A
Other languages
English (en)
Other versions
CN112131029A (zh
Inventor
曹琛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202011340911.0A priority Critical patent/CN112131029B/zh
Publication of CN112131029A publication Critical patent/CN112131029A/zh
Application granted granted Critical
Publication of CN112131029B publication Critical patent/CN112131029B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Stored Programmes (AREA)

Abstract

本发明实施例公开了一种广播处理方法、装置、计算机设备及存储介质;本发明实施例通过运行目标应用程序,目标应用程序运行在服务器中运行的操作系统上;当检测到操作系统中存在待发送的广播时,检测与广播关联的应用程序,应用程序注册了用于接收广播的广播接收者;获取操作系统的系统应用程序,根据系统应用程序和目标应用程序生成应用程序集合;当应用程序不属于应用程序集合时,禁止向应用程序发送广播。本方法对操作系统中广播发送过程进行监控,阻止第三方应用程序接收到广播,进而避免了第三方应用程序自行启动,提高了操作系统的运行效率。

Description

广播处理方法、装置、计算机设备及存储介质
技术领域
本发明涉及操作系统技术领域,具体涉及一种广播处理方法、装置、计算机设备及存储介质。
背景技术
安卓(Android)系统是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑等。安卓系统由谷歌(Google)公司和开放手机联盟领导及开发。
近年来,安卓系统发展迅猛,已然成为全球范围内具有广泛影响力的操作系统之一。安卓系统不仅被广泛地应用于电视、数码相机、游戏机以及智能手表等终端中,也逐渐被使用到云应用场景中。在云应用场景中,安卓系统在云端服务器上运行,在安卓系统中运行的应用程序将运行结果返回至终端进行显示。云游戏便是一类典型的云应用,云游戏由于其能够使图形处理与数据运算能力相对有限的轻端设备能运行高品质游戏的优势,正逐渐受到广大游戏爱好者的青睐。
然而,随着运行云游戏的安卓系统中安装的应用程序增多,会导致操作系统运行时出现卡顿现象。其主要原因是服务器中运行的安卓系统中安装的应用程序能够在系统运行过程中或者在系统开机时实现自行启动,从而导致占用了过多的系统资源,进而导致系统运行效率下降。
发明内容
本发明实施例提供一种广播处理方法、装置、计算机设备和存储介质。可以阻止操作系统中应用程序的自行启动,进而避免应用程序占用过多的系统资源,提高操作系统的运行效率。
本申请实施例第一方面提供一种广播处理方法,包括:
运行目标应用程序,所述目标应用程序运行在服务器中运行的操作系统上;
当检测到所述操作系统中存在待发送的广播时,确定与所述广播关联的关联应用程序,所述关联应用程序注册了用于接收所述广播的广播接收者;
获取所述操作系统中的系统应用程序,根据所述系统应用程序和所述目标应用程序生成应用程序集合;
当所述关联应用程序不属于所述应用程序集合时,禁止向所述关联应用程序发送所述广播。
相应的,本申请实施例第二方面提供一种广播处理装置,包括:
运行单元,用于运行目标应用程序;
确定单元,用于当检测到操作系统中存在待发送的广播时,检测与所述广播关联的关联应用程序,所述关联应用程序注册了用于接收所述广播的广播接收者;
获取单元,用于获取系统应用程序,根据所述系统应用程序和所述目标应用程序生成应用程序集合;
禁止单元,用于当所述关联应用程序不属于所述应用程序集合时,禁止向所述关联应用程序发送所述广播。
此外,本申请实施例第三方面还提供一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可以在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现本发明实施例提供的广播处理方法。
此外,本申请实施例第四方面还提供一种存储介质,所述存储介质存储有多条指令,所述指令适于处理器进行加载,以执行本发明实施例所提供的任一种广播处理方法中的步骤。
此外,本申请实施例第五方面还提供一种计算机程序产品或计算机程序,所述计算机程序产品或计算机程序包括计算机指令,所述计算机指令存储在存储介质中。计算机设备的处理器从存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本发明实施例所提供的任一种广播处理方法中的步骤。
根据上述描述可知,本申请提供的广播处理方法,通过运行目标应用程序,目标应用程序运行在服务器中运行的操作系统上;当检测到操作系统中存在待发送的广播时,检测与广播关联的关联应用程序,关联应用程序注册了用于接收广播的广播接收者;获取操作系统中的系统应用程序,根据系统应用程序和目标应用程序生成应用程序集合;当关联应用程序不属于应用程序集合时,禁止向关联应用程序发送广播。以此,在系统中的广播发送阶段对广播的发送过程进行控制,阻止广播触发不需要启动的应用程序启动,从而降低了应用程序自行启动导致对服务器中运行的操作系统资源的占用,提高了服务器中运行的操作系统的运行效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是为操作系统中系统资源占用情况分布的扇形图;
图2是本发明实施例提供的广播处理方法的流程示意图;
图3是本发明实施例提供的广播处理方法的另一流程示意图;
图4是本发明实施例提供的广播处理方法的又一流程示意图;
图5是本发明实施例提供的广播处理装置的结构示意图;
图6是本发明实施例提供的广播处理装置的另一结构示意图;
图7是本发明实施例提供的广播处理装置的又一结构示意图;
图8是本发明实施例提供的广播处理装置的又一结构示意图;
图9是本发明实施例提供的广播处理装置的又一结构示意图;
图10是本发明实施例提供的广播处理装置的又一结构示意图;
图11是本发明实施例提供的广播处理装置的又一结构示意图;
图12是本发明实施例提供的计算机设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在终端中,操作系统(Operating System,OS)是管理终端硬件与软件资源的计算机程序,是最基本也是最为重要的基础性系统软件。目前常见的操作系统有Windows操作系统、mac操作系统、Linux操作系统、iOS操作系统以及安卓操作系统。其中Windows操作系统、mac操作系统以及Linux操作系统通常被用在个人电脑/台式机这类计算机设备中,iOS操作系统及安卓操作系统通常被用于移动终端中,移动终端可以是智能手机、数码相机、游戏机、智能音箱、智能手表等实体移动终端。
另外,常用于移动终端的操作系统也可以运行在计算机设备上的虚拟设备中,例如安卓模拟器。安卓模拟器是能在个人电脑运行并模拟安卓手机系统的模拟器,其能够安装、使用、卸载安卓应用的软件,利用安卓模拟器,用户即使没有手机硬件设备,也能在模拟器中使用移动应用程序。安卓模拟器能在电脑上模拟出安卓手机运行环境,让用户在电脑上也能体验安卓游戏和应用。
在虚拟设备中运行操作系统的实例不仅包括上述安卓模拟器之类的各类在个人电脑上运行模拟器,还可以是在服务器中运行的虚拟设备中运行操作系统。服务器可以是物理机(或称为实体服务器),也可以是虚拟机(Virtual Machine),虚拟机也可以称为虚拟化的云主机或云服务器。一般情况下,物理机是提供给虚拟机的硬件环境,也称为“宿主”或者“寄主”。通过对实体服务器进行虚拟化,可以虚拟化出多个云服务器。每个虚拟云服务器拥有各自独立的公网互联网协议(Internet Protocol Address,IP)地址、操作系统、硬盘空间、内存空间、处理器(Central Processing Unit,CPU)资源等,还可以进行安装程序、重启服务器等操作,与运行一台独立服务器完全相同。也就是说通过软件层面,对一台服务器进行虚拟划分,虚拟出来多台服务器,这样就能让只需要一点点计算能力用户享用到大型服务器的计算资源。
在云服务器中运行操作系统的一个典型应用为云游戏。云游戏(Cloud gaming)又可称为游戏点播(gaming on demand),是一种以云计算技术为基础的在线游戏技术。云游戏技术使图形处理与数据运算能力相对有限的轻端设备(thin client)能运行高品质游戏。在云游戏场景下,游戏并不在玩家游戏终端,而是在云端服务器中运行,并由云端服务器将游戏场景渲染为视频音频流,通过网络传输给玩家游戏终端。玩家游戏终端无需拥有强大的图形运算与数据处理能力,仅需拥有基本的流媒体播放能力与获取玩家输入指令并发送给云端服务器的能力即可。在云游戏中,操作系统运行在云端服务器中的虚拟设备中,而云游戏应用程序则运行在云端服务器中运行的操作系统中。云端服务器中可以具有一个或多个虚拟设备,即可以在云端服务器中同时运行多个操作系统,每个操作系统可以对应一个玩家游戏终端。
无论是实体终端中装载的操作系统,还是在模拟器或者云端服务器中装载的操作系统,在使用一段时间之后,都会出现操作系统运行效率降低的问题。本申请的发明人在对上述问题进行研究的过程中发现,造成操作系统运行效率降低的主要原因是在使用一段时间后操作系统的系统资源的占用比例升高,可用于处理应用程序运行任务或指令的系统资源量降低。进而导致操作系统运行效率降低,使用起来有卡顿感。此处操作系统的系统资源包括中央处理器(Central Processing Unit,CPU)资源、内存资源以及输入/输出(Input/Output,I/O)资源。发明人在对操作系统的系统资源使用情况进行进一步研究发现,操作系统中对系统资源占用最多的是操作系统中安装的第三方应用程序。此处第三方应用程序为操作系统中安装的除系统应用程序以外的应用程序。系统应用一般包括如相机、图库以及电池管理应用等操作系统安装时就已经自带的应用程序。那么第三方应用程序就是操作系统安装完成后用户自行安装的应用程序,如即时通讯应用程序、视频播放应用程序以及线上支付应用程序等。如图1所示,图中10为操作系统中系统资源占用情况分布的扇形图,其中对系统资源占用最多的是第三方应用程序,第三方应用程序占用资源11与第三方应用程序共享资源12已经占了系统资源的绝大部分,而系统预留资源13以及系统应用占用资源14都只占系统资源的很少部分。从图中可以看出,第三方应用程序对系统资源占用是影响操作系统系统资源占用的主要因素。
然而,本申请的发明人在研究中发现,在多数情况下,用户只启动很少的第三方应用程序(例如只启动一个或两个)时,操作系统在使用时仍然有卡顿现象。此时对后台系统资源占用情况进行监控发现,第三方应用程序仍然占用了大部分的系统资源。发明人对此时占用系统资源的第三方应用程序的明细进行分析时发现,除了用户启动的第三方应用程序占用系统资源外,还存在许多用户并未启动的第三方应用程序同时在占用系统资源,原因是这些用户并未启动的第三方应用程序在后台自行启动了。
本申请的发明人进一步对操作系统中应用程序后台自行启动的原理进行分析,发现应用程序自行启动最普遍的方法是通过广播进行自行启动。其中,广播是一种广泛运用在应用程序之间进行传输信息的机制。具体地,以操作系统为安卓系统为例进行详细分析,此处广播的机制并不仅限于安卓系统,在其他操作系统中也同样存在广播机制,安卓系统中的广播机制更像我们生活中接触到的广播。在安卓系统中,广播包括三要素,即发送广播的广播发送者,接收广播的广播接收者以及用于传递信息的广播内容。在安卓系统中,未启动的应用程序对某一广播注册了广播接收者,这些广播接收者可以接收该广播。当该广播被启动中的其他第三方应用或者系统应用触发时,向所有注册了该广播的广播接收者发送广播,此时注册了该广播对应的广播接收者的应用程序便会被唤醒并运行,从而实现了这些应用程序的自行启动。
基于上述研究,为解决上述第三方应用程序后台自行启动导致系统资源被第三方应用程序占用过多,进而导致操作系统运行效率降低的问题,本申请提供了一种广播处理方法,以期通过对操作系统中广播的控制实现对第三方应用程序自行启动的控制。本实施例从广播处理装置的角度进行描述,该广播处理装置可以集成在移动终端中,也可以集成在服务器中。移动终端可以是智能手机、数码相机、游戏机、智能音箱、智能手表等终端。服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、网络加速服务(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。
如图2所示,为本申请实施例提供的广播处理方法的流程示意图,该方法包括如下步骤:
步骤101,运行目标应用程序;
其中,在操作系统中,可以接收用户指令并根据用户指令运行需要运行的目标应用程序。该目标应用程序可以是系统应用程序,例如相机应用程序、日历应用程序;也可以是第三方应用程序,例如即时通信应用程序或游戏应用程序。用户可以通过点击目标应用程序显示在操作系统显示界面上的图标输入运行目标应用程序的指令,也可以通过操作系统中装载的智能助手输入语音控制指令以运行目标应用程序。在目标应用程序运行的过程中,目标应用程序可以作为一个广播发送者向外发送广播,目标应用程序也可以注册特定广播的广播接收者,如此当系统中存在其他应用程序发出的该特定广播时,目标应用程序即可以接收到该特定广播并根据该特定广播的广播内容作出相应的处理。例如,目标应用程序为视频播放应用程序,该视频播放应用程序注册了接收电池电量提醒的广播接收者,如此当系统应用中的电池电量管理应用向外发出广播内容为电池电量低的广播时,该视频播放应用程序接收到该广播,并适应性调低显示屏幕的亮度以节约电量。
注册广播接收者的方法可以是动态注册,也可以是静态注册。动态注册是在应用程序运行期通过调用registerReceiver(注册接收者)函数进行注册,静态注册是在安卓系统的系统文件(AndroidManifest.xml)中进行申明注册。
步骤102,当检测到操作系统中存在待发送的广播时,确定与广播关联的关联应用程序,关联应用程序注册了用于接收广播的广播接收者。
其中,已经运行的目标应用程序,无论是系统应用程序还是第三方应用程序,都可以向外发送广播。在操作系统中,应用程序向外发送广播并非像生活中将广播直接播放到广播的传播介质中,而是由广播发送者将广播内容发送给相应的管理组件中,由该管理组件确定接收该广播的应用程序,其中接收该广播的应用程序是在代码中注册了接收该广播对应的广播接收者的关联应用程序,然后再由该组件将广播内容进行封装处理后定向发送给各关联应用程序的广播接收者。因此,检测操作系统中是否存在待发送的广播,可以通过对该管理组件内的广播内容数据进行检测,当管理组件内存在由广播发送者发送的广播时,则可以确定操作系统中存在待发送的广播。此时再对与待发送的广播关联的关联应用程序进行确定,即确定需要接收该广播的关联应用程序。可以理解的是,由于需要接收该广播的关联应用程序都注册了该广播对应的广播接收者,因此可以根据该广播对应的广播接收者信息确定与该广播关联的关联应用程序信息。而系统中管理广播的管理组件负责将广播发送给每个广播对应的广播接收者,如此在管理组件中会存储有每个广播对应的广播接收者列表,即每个广播的广播接收者信息可以从管理组件中获取到。举例说明如下:广播A对应的广播接收者有广播接收者1、广播接收者2以及广播接收者3;广播接收者1为应用程序1注册的接收广播A的广播接收者,广播接收者2为应用程序2注册的接收广播A的广播接收者,广播接收者3为应用程序3注册的接收广播A的广播接收者。广播接收者1、广播接收者2以及广播接收者3组成广播A对应的广播接收者列表存储于管理广播的管理组件中,如此通过从管理组件中获取广播接收者列表便可以确定广播A关联的应用程序1、应用程序2以及应用程序3。
在安卓系统中,上述管理组件可以是活动控制服务(Activity Manager Service,AMS)组件。AMS是安卓系统中最核心的服务,主要负责安卓系统中四大组件的启动、切换、调度及应用进程的管理和调度等工作。在广播发送过程中,AMS接收广播发送者发送的广播,对广播的广播内容进行提取及封装处理,根据广播内容确定广播对应的广播接收者,再将广播发送给各广播接收者。
步骤103,获取系统应用程序,根据系统应用程序和目标应用程序生成应用程序集合。
其中,如前所述,系统应用程序为操作系统安装时就已经自带的应用程序。分辨哪些应用程序是系统应用程序,哪些应用程序是第三方应用程序,可以根据应用程序安装包的来源进行区分。例如,如果应用程序的安装包为从网络下载或者从应用商城等提供第三方应用程序的应用中心下载,并存储在下载文件存储区的,可以确定该应用程序为第三方应用程序。如果应用程序的安装包存储在系统文件区的,可以确定该应用程序为系统应用程序。
对系统应用程序的运行进行限制会对操作系统运行的稳定性造成影响,而且系统应用程序运行对系统资源的占用率相对第三方应用程序对系统资源的占用率而言较低,因此本申请提供的方案中不对系统应用程序进行控制。而步骤102中确定的与广播关联的关联应用程序,既可能是第三方应用程序,也可能是系统应用程序。如果笼统地阻止广播发送给所有关联应用程序可能会导致系统应用程序也无法收到广播,进而对操作系统稳定性造成影响。因此需要避免对系统应用程序接收广播过程进行限制。进一步地,为了不影响正在运行的目标应用程序(目标应用程序为第三方应用程序时)的正常运行,还需要避免对目标应用程序及支持目标应用程序运行的相关第三方应用程序接收广播过程进行限制。对前述支持目标应用程序运行的相关第三方应用程序进行举例说明,例如目标应用程序为短视频应用程序,该短视频应用程序需要注册登录后方可使用,该短视频应用程序也支持第三方账号登录,例如使用即时通讯应用程序的账号进行登录,即短视频应用程序在登录时需要调用即时通讯应用程序,那么此时即时通讯应用程序便为支持短视频应用程序运行的相关第三方应用程序。
如此,可以确定一个应用程序集合,该应用程序集合包含系统应用程序、目标应用程序以及与目标应用程序运行相关的第三方应用程序。进而通过仅允许向应用程序集合中的应用程序发送广播,便可以阻止其他第三方应用程序自行启动。
在一些实施例中,根据系统应用程序和目标应用程序生成应用程序集合,包括:
1、获取目标应用程序对第三方应用程序的调用记录。
2、在调用记录中选取调用频率大于预设阈值的目标第三方应用程序。
3、将系统应用程序、目标应用程序以及目标第三方应用程序组成的集合确定为应用程序集合。
其中,对与目标应用程序相关的第三方应用程序的确定,可以根据目标应用程序对所有第三方应用的调用情况进行确定。具体地,可以对预设时间段内目标应用程序对操作系统中装载的所有第三方应用的调用数据进行采集,得到目标应用程序对第三方应用程序的调用记录。根据调用记录计算目标应用程序对每个第三方应用程序的调用频率,调用频率的时间单位可以是天也可以是周,例如每天a次,每周b次等。当目标应用程序对某一第三方应用程序的调用频率高于预设阈值时,可以确定该第三方应用程序为与目标应用程序运行相关度较高的应用程序,此时将调用频率高于预设阈值的第三方应用程序确定为目标第三方应用程序。那么应用程序集合即可以包含系统应用程序、目标应用程序以及目标第三方应用程序。
在本申请实施例中,允许与正在运行的目标应用程序相关的目标第三方应用程序接收相应的广播,并在接收到广播后在后台完成应用程序的自行启动。如此当运行中的目标应用程序调用到目标第三方应用程序时,无需再等待该目标第三方应用程序重新启动,提高了运行中的目标应用程序对目标第三方应用程序的调用效率。
在一些实施例中,在调用记录中选取调用频率大于预设阈值的目标第三方应用程序,包括:
a、将调用记录中的第三方应用程序按照调用频率由高至低顺序进行排序;
b、按照调用频率由高至低的顺序选取预设数量的第三方应用程序确定为目标第三方应用程序。
其中,在确定了目标应用程序对每个第三方应用程序的调用频率后,可以根据调用频率的高低将这些第三方应用程序进行排序,具体地可以按照调用频率由高至低的顺序对第三方应用程序进行排序。再将排序靠前的预设数量的第三方应用程序确定为目标第三方应用程序。即在本实施例中,不再根据预设调用频率阈值确定目标第三方应用程序,而是按照调用频率的高低确定调用频率较高的一定数量的第三方应用程序为目标第三方应用程序。如此,可以无需确定合适的预设调用频率阈值,可以加快确定目标第三方应用程序的效率。
在一些实施例中,上述方法还可以包括:检测目标第三方应用程序在后台启动后预设时间段内是否接收到目标应用程序的调用指令,若在预设时间段内未接收到目标应用程序的调用指令,则停止目标第三方应用程序的运行。
其中,允许与目标应用程序相关度较高的目标第三方应用程序接收广播并在接收广播后于后台自行启动,可以提高目标应用程序后续对目标第三方应用程序的调用效率。但如果目标第三方应用程序在后台长时间运行而得不到目标应用程序的调用,则会占用操作系统的系统资源,影响运行中的目标应用程序的处理效率。因此在检测到目标第三方应用程序自行启动后预设时间内未接收到目标应用程序的调用指令的情况下,直接终止该目标第三方应用程序在后台的运行,释放其占用的系统资源,提高操作系统对当前运行的目标应用程序的处理效率。
步骤104,当关联应用程序不属于应用程序集合时,禁止向关联应用程序发送广播。
其中,根据步骤103确定的应用程序集合中,包含的应用程序包括:系统应用程序、目标应用程序以及与目标应用程序相关的第三方应用程序。为了保证系统的正常运行,以及为了不影响目前正在前台运行的目标应用程序的正常使用,需要保证应用程序集合中包含的应用程序可以正常接收广播。而为了避免运行过多的第三方应用程序导致对操作系统的系统资源过度占用,进而导致操作系统处理效率降低的问题,需要阻止不属于应用程序集合中的其他第三方应用程序的自行启动,即需要让不属于应用程序集合中的其他第三方应用程序接收不到广播。
由此,在本申请实施例中,检测步骤102中确定的待发送的广播关联的关联应用程序是否属于步骤103中生成的应用程序集合,当关联应用程序属于应用程序集合时,则允许向该关联应用程序发送待发送的广播;当关联应用程序不属于应用程序集合时,禁止向该关联应用程序发送待发送的广播。如此,不属于应用程序集合中的关联应用程序无法接收到能触发其自动启动的广播,也就阻止了不属于应用程序集合中的关联应用程序的后台自行启动,节约了操作系统的系统资源,提高了操作系统的运行效率。
在一些实施例中,在运行目标应用程序之前,还包括:
1、启动操作系统,操作系统中安装有多个应用程序。
2、发送目标广播,目标广播用于通知预设应用程序操作系统启动完毕,预设应用程序为注册了目标广播对应的广播接收者的应用程序。
3、当目标广播被对应的广播接收者接收时,触发预设应用程序运行相应的进程;
4、获取操作系统中运行的进程对应的进程信息;
5、根据进程信息确定操作系统中运行的非法进程,并终止非法进程,非法进程是不属于预设应用程序集合中的应用程序对应的进程。
其中,本申请的发明人在研究中还发现,部分用户在发现操作系统使用出现卡顿情况时,会对操作系统进行重启以期关闭操作系统中运行的应用程序,释放操作系统的系统资源,进而提升操作系统的运行效率。然而,实际上用户即使重启了操作系统后,操作系统卡顿现象的缓解并不明显。本申请的发明人研究后发现,操作系统在重启完成后,会给操作系统中所有应用程序发送系统广播。一些应用注册了该系统广播的广播接收者,便可以接收到该系统广播并被唤起及运行。即部分应用程序由于注册了操作系统启动完成的系统广播的广播接收者,因此在操作系统启动完成后这些应用程序响应系统广播实现了开机自启并一直在后台运行,占用操作系统的系统资源。针对上述情形,本申请发明人提供了一种广播处理方法,在操作系统启动完成后,注册了接收系统广播的应用程序响应于操作系统发送的广播运行相应的进程之后,对操作系统中运行的进程信息进行获取。获取到操作系统中的进程信息后,分别确定每一进程信息对应的应用程序信息。在确定了每一进程信息对应的应用程序信息后,再根据进程信息对应的应用程序信息判断进程是否为非法进程,当进程为非法进程时,直接调用终止函数将该非法进程终止。其中,非法进程为不应当被启动的应用程序对应的进程。具体地,可以设置一个预设的应用程序集合,例如该预设的应用程序集合包含了操作系统中所有系统应用程序,判断进程对应的应用程序是否属于预设的应用程序集合,当进程对应的应用程序属于预设的应用程序集合时,可以确定该进程为合法进程,当进程对应的应用程序不属于预设的应用程序集合时,确定该进程为非法进程。如此,可以在操作系统启动(开机)时阻止不属于预设应用程序集合中的应用程序自行启动,避免了这些应用程序对系统资源的占用,提高了操作系统的运行效率。
在一些实施例中,根据进程信息确定操作系统中运行的非法进程,并终止非法进程,包括:
a、获取操作系统中应用程序运行历史数据。
b、根据运行历史数据确定常用应用程序。
c、确定系统应用程序与常用应用程序构成的应用程序集合为预设应用程序集合。
d、根据进程信息确定每个进程对应的应用程序。
e、确定不属于预设应用程序集合的应用程序对应的进程为非法进程并终止非法进程。
其中,在本实施例中,预设的应用程序集合中不仅包括系统应用程序,还包括一些常用应用程序,此处常用应用程序为常用的第三方应用程序。可以通过获取操作系统中应用程序运行的历史数据并根据应用程序运行的历史数据确定常用应用程序。具体地,可以获取第三方应用程序运行的历史数据,并根据历史数据确定用户使用频率高于预设阈值的第三方应用程序为常用的第三方应用程序。确定了常用应用程序后,将常用应用程序与系统应用程序构成的应用程序集合确定为预设应用程序集合。再根据预设应用程序集合确定操作系统中运行的进程中哪些为非法进程,并进一步终止这些非法进程。在本申请实施例中,允许一些常用应用程序开机自启,如此当用户需要使用到这些常用应用程序时,可以提高这些常用应用程序的启动效率。
在一些实施例中,上述广播处理方法还可以包括:
当操作系统启动完毕预设时间段内,检测到常用应用程序未接收到启动指令,终止常用应用程序对应的进程。
其中,上述常用应用程序被允许在操作系统启动时进行开机自启并持续在后台运行,但用户并不一定会使用到这些常用应用程序,如果这些常用应用程序持续在后台运行,会导致对操作系统的系统资源的占用。因此可以设置在操作系统启动完毕后开始计时,当达到预设时间段时,检测自启的常用应用程序是否接收到用户输入的启动指令,若未收到,则将该常用应用程序对应的进程终止,释放被该常用应用程序占用的系统资源,进而提升操作系统的运行效率。
通过上述描述可知,本申请提供的广播处理方法,通过运行目标应用程序;当检测到操作系统中存在待发送的广播时,检测与广播关联的关联应用程序,关联应用程序注册了用于接收广播的广播接收者;获取系统应用程序,根据系统应用程序和目标应用程序生成应用程序集合;当关联应用程序不属于应用程序集合时,禁止向关联应用程序发送广播。以此,在系统的广播发送阶段对广播的发送过程进行控制,阻止广播触发不需要启动的应用程序自行启动,从而降低了应用程序自行启动导致对操作系统资源的占用,提高了操作系统的运行效率。
相应地,本申请实施例将从计算机设备的角度进一步对本申请提供的广播处理方法进行详细的描述。本实施例中的计算机设备可以为移动终端,也可以为服务器。移动终端可以是智能手机、数码相机、游戏机、智能音箱、智能手表等终端。服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、网络加速服务(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。
如图3所示,为本申请实施例提供的广播处理方法的另一流程示意图,本申请实施例将以安卓系统为例对本申请提供的广播处理方法进行详细介绍,方法包括如下步骤:
步骤201,当检测到安卓系统启动完成时,计算机设备向安卓系统中的应用程序发送系统广播。
其中,安卓系统可以安装在实体移动终端中,也可以安装在虚拟的模拟器或者云服务器中,当安卓系统安装在实体移动终端中时,启动安卓系统可以理解为实体移动终端的开机;当安卓系统安装在虚拟的模拟器或者云服务器中时,启动安卓系统可以为运行模拟器或者开始运行云服务器中的一个系统软件。一般情况下,实体移动终端中仅安装有一个安卓系统,模拟器由于可以在个人电脑中运行,可以运行多个模拟器以同时运行多个安卓系统;同样地,在云服务器中,也可以同时运行多个安卓系统软件。以下仅以其中一个安卓系统的运行情况进行说明。无论是安装在实体移动终端中,还是安装在虚拟的模拟器或者云服务器中,当安卓系统启动完成后,计算机设备向该安卓系统中的所有应用程序发送系统广播。该系统广播用于提醒安卓系统中的应用程序系统已经启动完成。具体地,该广播的名称可以为android.intent.action.BOOT_COMPLETED。安卓系统中的一些应用程序注册了该系统广播的广播接收者(BroadcastReceiver),注册了该系统广播的广播接收者的应用程序可以接收这条系统广播。当这条系统广播被应用程序接收后,会触发对应的应用程序自动启动并运行相应的进程。
步骤202,计算机设备获取安卓系统中运行的进程信息。
其中,当系统广播被应用程序接收后,应用程序运行相应的进程。此时计算机设备对系统中运行的进行信息进行获取。具体地,操作系统会对正在运行的进程信息进行统计并生成进程列表,计算机可以从进程列表中获取运行的进程信息。
步骤203,计算机设备根据进程信息确定非法进程并终止该非法进程。
其中,在获取到安卓系统中运行的进程信息之后,对每个进程信息对应的应用程序信息进行获取。具体地,可以根据每个进程的数据包的包名确定该进程对应的应用程序信息。这些应用程序信息对应的应用程序可以是系统应用程序,也可以是第三方应用程序。而这些第三方应用程序也可以根据应用程序的使用频率分为常用应用程序和不常用应用程序。此处常用应用程序和不常用应用程序的区分,可以根据使用该操作系统的用户的历史使用数据所确定的使用频率进行区分,也可以根据网络上用户对不同应用程序的使用频率打分进行区分。在确定了每个进程对应的应用程序之后,可以当该进程对应的应用程序为第三方应用程序时,确定该进程为非法进程并终止该非法进程;也可以当该进程对应的应用程序为不常用应用程序时,确定该进程为非法进程并终止该非法进程。如此,则可以在安卓系统启动阶段阻止不期望被启动的应用程序被系统广播触发自启,节约了安卓系统的系统资源,提升了安卓系统的运行效率。
安卓系统启动完成后,会在计算机设备的显示界面上显示安卓系统的系统桌面(launcher),而显示launcher的过程一般需要调用onCreate(创造)、onStart(开始)以及onResume(恢复)三个函数。具体地,上述确定进程中非法进程并终止非法进程的步骤可以在onCreate函数的代码中进行实现,通过对onCreate函数的代码进行改造,使得该函数在执行过程中添加如下功能:获取安卓系统中运行的进程信息,根据进程信息确定每个进程是否为非法进程,当进程为非法进程时,调用forceStop函数(终止函数)终止该非法进程。然后,在根据改造后的onCreate函数绘制的图像呈现系统桌面。用户此时可以在系统桌面上点击应用程序的图标以启动应用程序。
步骤204,响应于对目标应用程序的运行指令,计算机设备在安卓系统中运行目标应用程序。
其中,安卓系统启动完成并显示了系统桌面后,用户可以在安卓系统的系统桌面中点击需要运行的目标应用程序的图标以运行目标应用程序。此时对目标应用程序的图标的点击指令便为用户输入的运行目标应用程序的运行指令。响应于该运行指令,启动该目标应用程序,即在安卓系统中运行该目标应用程序。其中,响应于,用于表示所执行的操作所依赖的条件或者状态,当满足所依赖的条件或状态时,所执行的一个或多个操作可以是实时的,也可以具有设定的延迟;在没有特别说明的情况下,所执行的多个操作不存在执行先后顺序的限制。例如,该目标应用程序为游戏应用程序,当该安卓系统运行在云服务器中时,该游戏应用程序的显示画面可以通过网络传输到与该服务器连接的其他移动终端中并在移动终端的显示界面上予以显示,而移动终端的使用者可以在移动终端的显示界面上输入操作指令,这些操作指令通过网络传输到云服务器中装载的安卓系统中对应的游戏应用程序中。这种游戏体验便是前面所述的云游戏。在云游戏场景下,游戏应用程序并不在玩家游戏终端,而是在云端服务器中运行,并由云端服务器将游戏场景渲染为视频音频流,通过网络传输给玩家移动终端。玩家移动终端无需拥有强大的图形运算与数据处理能力,仅需拥有基本的流媒体播放能力与获取玩家输入指令并发送给云端服务器的能力即可。
步骤205,当检测到安卓系统的AMS中接收到广播时,计算机设备获取与广播对应的广播接收者列表。
其中,当用户在安卓系统中启动了一个目标应用程序后,安卓系统中实际运行的应用程序往往不止目标应用程序这一个应用程序。为支持安卓系统的运行,伴随安卓系统开机就会运行一些系统应用程序,而为支持目标应用程序的运行,又会触发一些其他系统应用程序的运行。而这些应用程序(包括系统应用程序和目标应用程序)在运行过程中又会作为广播发送者向外发送广播,这些广播如果不加控制,可以被注册这些广播对应的广播接收者的应用程序接收,并触发对应的应用程序自行启动并运行,进而会导致对安卓系统的系统资源的占用,降低安卓系统的运行效率。
在安卓系统中,当运行中的应用程序作为广播发送者发送广播时,会调用到Broadcast(广播)函数,广播机制的主要工作时为了实现一处发生事情,多处得到通知的效果,因此这种通知工作常常要牵涉跨进程通讯,所以需要由安卓系统的AMS进行集中管理。即广播发送者会先将广播发送至安卓系统的AMS。因此,本申请实施例在安卓系统的AMS中对广播进行检测,当检测到安卓系统的AMS中接收到广播时,对AMS中接收到的广播进行分析以及发送控制。具体地,当AMS接收到广播发送者发送的广播时,对广播的广播内容(intent)进行处理,并根据广播内容获取与广播对应的广播接收者列表。广播接收者列表中每个广播接收者对应一个可以接收该广播的应用程序。
在一些实施例中,获取与广播对应的广播接收者列表,包括:
1、获取广播中包含的广播内容;
2、获取广播内容与广播接收者的映射关系表;
3、根据映射关系表确定与广播内容对应的广播接收者。
其中,当安卓系统的AMS接收到广播发送者发送的广播时,先对广播中包含的广播内容进行提取,在应用程序包文件(LoadedApk)中获取广播内容与广播接收者之间的映射关系表;再根据映射关系表确定与该广播对应的所有广播接收者,提取出这些与该广播对应的广播接收者信息,得到广播接收者列表。
步骤206,计算机设备根据广播接收者列表确定目标广播接收者。
其中,广播接收者列表中每个广播接收者都对应了一个可以接收该广播的应用程序,应用程序包括系统应用程序和第三方应用程序。由于系统应用程序的运行对安卓系统的稳定性有较大影响,阻止系统应用程序接收广播可能会导致安卓系统运行异常,因此确定广播接收者列表中系统应用程序对应的广播接收者为可以接收广播的广播接收者。另外,由于目标应用程序处于前台运行中,若阻止目标应用程序接收广播也会造成对目标应用程序运行的影响,因此确定广播接收者列表中目标应用程序对应的广播接收者为可以接收广播的目标广播接收者。
步骤207,计算机设备将广播发送至目标广播接收者,并禁止向广播接收者列表中其他广播接收者发送广播。
其中,当确定了可以接收广播的目标广播接收者后,将广播发送至目标广播接收者。而广播接收者列表中的其他广播接收者,为除目标应用程序之外的其他第三方应用程序对应的广播接收者,这些广播接收者若接收到广播会触发其对应的第三方应用程序启动并运行,占用安卓系统的系统资源,降低安卓系统的运行效率。因此禁止向广播接收者列表中除目标广播接收者之外的其他广播接收者发送广播,进而阻止这些广播对应的第三方应用程序启动。
在一些实施例中,将广播发送给目标广播接收者,包括:
1、获取广播对应的发送方式;
2、当广播发送方式为无序发送时,将广播对应的广播内容发送至目标广播接收者;
3、当广播发送方式为有序发送时,获取广播发送顺序;
4、根据广播发送顺序将广播对应的广播内容发送至目标广播接收者。
其中,广播按照发送方式可以分为有序广播和无序广播。具体地,可以根据广播发送者发送广播时调用的广播发送函数进行区分,广播发送者发送有序广播时调用的函数为sendOrderedBroadcast(发送有序广播)函数,而广播发送者发送无序广播时调用的函数为sendBroadcast(发送广播)函数。当广播发送方式为无序发送时,直接将广播发送至各目标广播接收者,不同的目标广播接收者接收广播的顺序不确定,广播接收效率高。当广播发送方式时有序发送时,先确定将广播发送至不同广播接收者的发送顺序,再根据发送顺序进行发送。发送有序广播是串行处理,即按照发送顺序依次执行广播发送。
在一些实施例中,获取广播发送顺序,包括:
a、获取每一目标广播接收者对应的优先属性值;
b、根据优先属性值确定每一目标广播接收者接收广播的接收顺序;
c、根据接收顺序确定广播发送顺序。
其中,每一目标广播接收者在安卓系统文件中都记载着一个接收广播的优先属性(android:priority)值,该优先属性值的取值范围为-1000到1000,属性值越高代表接收广播的优先级越高。如此,则可以根据每个目标广播接收者的优先属性值高低确定每一目标广播接收者接收广播的接收顺序,接收顺序就是向广播接收者发送广播的发送顺序。
根据上述描述可知,本申请实施例提供的广播处理方法,通过运行目标应用程序;当检测到操作系统中存在待发送的广播时,检测与广播关联的关联应用程序,关联应用程序注册了用于接收广播的广播接收者;获取系统应用程序,根据系统应用程序和目标应用程序生成应用程序集合;当关联应用程序不属于应用程序集合时,禁止向关联应用程序发送广播。以此,在系统中的广播发送阶段对广播的发送过程进行控制,阻止广播触发不需要启动的应用程序启动,从而降低了应用程序自行启动导致对操作系统资源的占用,提高了操作系统的运行效率。
目前相关技术中只有解决实体终端中运行的安卓系统应用程序自行启动的方法,对于运行于服务器中的安卓系统中应用程序自行启动问题目前缺乏有效的解决方法。而本申请实施例提供的广播处理方法可以用于解决运行于云服务器中的安卓系统中应用程序自行启动的问题,本申请实施例将从云服务器的角度进一步对本申请提供的广播处理方法进行详细的描述。本实施例中的云服务器可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、网络加速服务(ContentDelivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。
如图4所示,为本申请实施例提供的广播处理方法的又一流程示意图,本申请实施例将以云游戏场景为例对本申请提供的广播处理方法进行详细介绍,方法包括如下步骤:
步骤301,响应于游戏终端发送的启动云游戏应用程序的操作指令,云服务器在与游戏终端对应的安卓系统中运行云游戏应用程序。
其中,在云游戏场景下,当用户在游戏终端中点击目标云游戏应用程序(如剑灵)的桌面图标时,游戏终端向云服务器发送操作指令,该操作指令用于触发云服务器控制云服务器中的安卓系统运行目标云游戏应用程序。其中,该安卓系统为与游戏终端中登录客户端的账号对应的安卓系统,此处可以称为目标安卓系统。可以理解的是,云服务器中可以同时运行多个安卓系统,每个安卓系统可以与一个用户账号对应,也可以与多个用户账号对应。当服务器接收到用户终端发送的操作指令时,可以先确定与登录该用户终端的用户账号对应的目标安卓系统是否处于运行状态,若目标安卓系统未处于运行状态,则先启动目标安卓系统,再在目标安卓系统中运行目标云游戏应用程序。若目标安卓系统处于运行状态,则直接在目标安卓系统中运行目标云游戏应用程序。
步骤302,当检测到目标安卓系统的AMS中接收到广播时,云服务器获取与该广播对应的广播接收者列表。
其中,当目标云游戏应用程序在云服务器中的目标安卓系统运行过程中,目标云游戏应用程序或者其他正在运行中的系统应用程序会作为广播发送者发出一些广播,当目标安卓系统中注册这些广播对应的广播接收者的其他应用程序(例如浏览器应用程序、视频播放应用程序等)接收到这些广播时,会触发这些应用程序自行启动并运行,而这些应用程序的运行会占用目标安卓系统的系统资源,导致目标安卓系统的运行效率下降,严重时用户甚至会在玩游戏的过程中感觉到卡顿的情况。由于目标安卓系统的AMS是对目标安卓系统中的广播进行统一调度及发送的管理组件,目标安卓系统中每个应用发出的广播都需经目标安卓系统的AMS进行处理后再发送。以此,在本申请实施例提供的广播处理方法中,云服务器对目标安卓系统的AMS中是否接收到广播发送者发送的广播进行实时监控。当云服务器检测到目标安卓系统的AMS中接收到广播发送者发送的广播时,从AMS中调取出与该广播包含的广播内容对应的广播接收者列表。
步骤303,云服务器根据广播接收者列表确定目标广播接收者。
其中广播接收者列表中的每个广播接收者都对应了注册了该广播接收者的应用程序信息。为了避免除目标云游戏应用程序之外的其他第三方应用程序被广播触发自行启动,需要阻止其他第三方应用程序接收到广播。因此,云服务器将广播接收者列表中的广播接收者按照其对应的应用程序信息进行区分。当广播接收者对应的应用程序为系统应用程序或者目标云游戏应用程序时,确定这些广播接收者为可以接收广播的目标广播接收者。当广播接收者对应的应用程序为除目标云游戏应用程序以外的其他第三方应用程序时,确定这些广播接收者为不可接收广播的其他广播接收者。
步骤304,云服务器将广播发送至目标广播接收者,并禁止向其他广播接收者发送广播。
其中,当云服务器对广播对应的广播接收者列表中的广播接收者进行区分,分别确定了可以接收该广播的目标广播接收者后以及不可以接收该广播的其他广播接收者后,将该广播发送给目标广播接收者,并禁止向其他广播接收者发送广播。如此,只有目标云游戏应用程序和系统应用程序可以接收到广播,其他第三方应用程序无法接收到广播,如此则可以阻止其他第三方应用程序被广播触发自行启动,提升了目标安卓系统的运行效率。
在一些实施例中,当将广播接收者列表中的广播接收者按照其对应的应用程序划分为目标广播接收者和其他广播接收者后,可以将广播接收者列表中的其他广播接收者删除,得到新的广播接收者列表。云服务器再控制将广播按照新的广播接收者列表进行发送,以将广播发送给新的广播接收者列表中的广播接收者。如此,避免了其他第三方应用程序对目标安卓系统资源的占用,提高了云游戏运行的流畅性。
根据上述描述可知,本申请实施例提供的广播处理方法,通过运行目标应用程序,目标应用程序运行在服务器中运行的操作系统上;当检测到操作系统中存在待发送的广播时,检测与广播关联的关联应用程序,关联应用程序注册了用于接收广播的广播接收者;获取操作系统的系统应用程序,根据系统应用程序和目标应用程序生成应用程序集合;当关联应用程序不属于应用程序集合时,禁止向关联应用程序发送广播。以此,在云服务器中运行的操作系统中的广播发送阶段对广播的发送过程进行控制,阻止广播触发不需要启动的应用程序启动,从而降低了其他第三方应用程序自行启动导致对操作系统资源的占用,提高了操作系统的运行效率,进而提高了云游戏运行的流畅性。
为了更好地实施以上方法,本发明实施例还提供一种广播处理装置,该广播处理装置可以集成在终端或服务器中,可以是智能手机、智能电视、数码相机、游戏机、智能音箱、智能手表等终端。服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、网络加速服务(Content DeliveryNetwork,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。
例如,如图5所示,为本申请实施例提供的广播处理装置的结构示意图,该广播处理装置可以包括运行单元401、确定单元402、第一获取单元403以及禁止单元404,如下:
运行单元401,用于运行目标应用程序;
确定单元402,用于当检测到操作系统中存在待发送的广播时,确定与广播关联的关联应用程序,关联应用程序注册了用于接收广播的广播接收者;
第一获取单元403,用于获取系统应用程序,根据系统应用程序和目标应用程序生成应用程序集合;
禁止单元404,用于当关联应用程序不属于应用程序集合时,禁止向该关联应用程序发送广播。
在一些实施例中,如图6所示,为本申请实施例提供的广播处理装置的另一结构示意图,第一获取单元403,包括:
获取子单元4031,用于获取系统应用程序并获取目标应用程序对第三方应用程序的调用记录,第三方应用程序为操作系统中装载的除系统应用程序以外的应用程序;
选取子单元4032,用于在调用记录中选取调用频率大于预设阈值的目标第三方应用程序;
确定子单元4033,用于将系统应用程序、目标应用程序以及目标第三方应用程序组成的集合确定为应用程序集合。
在一些实施例中,选取子单元4032还可以用于:
将调用记录中的第三方应用程序按照调用频率由高至低的顺序进行排序;
按照调用频率由高至低的顺序选取预设数量的第三方应用程序确定为目标第三方应用程序。
在一些实施例中,如图7所示,为本申请实施例提供的广播处理装置的又一结构示意图,广播处理装置还可以包括:
启动单元405,用于启动操作系统,操作系统中安装有多个应用程序。
发送单元406,用于发送目标广播,目标广播用于通知预设应用程序操作系统启动完毕,预设应用程序为注册了目标广播对应的广播接收者的应用程序;
触发单元407,用于当目标广播被对应的广播接收者接收时,触发预设应用程序运行相应的进程;
第二获取单元408,用于获取操作系统中运行的进程对应的进程信息;
第一终止单元409,用于根据进程信息确定操作系统中运行的非法进程,并终止非法进程,非法进程为不属于预设应用程序集合中的应用程序对应的进程。
在一些实施例中,如图8所示,为本申请实施例提供的广播处理装置的又一结构示意图,第一终止单元409,包括:
获取子单元4091,用于获取操作系统中应用程序运行历史数据;
第一确定子单元4092,用于根据运行历史数据确定常用应用程序;
第二确定子单元4093,用于确定系统应用程序与常用应用程序构成的应用程序集合为预设应用程序集合;
第三确定子单元4094,用于根据进程信息确定每个进程对应的应用程序;
终止子单元4095,用于确定不属于预设应用程序集合的应用程序对应的进程为非法进程,并终止非法进程。
在一些实施例中,如图9所示,为本申请实施例提供的广播处理装置的又一结构示意图,广播处理装置还包括:
第二终止单元410,用于当操作系统启动完毕后预设时间段内,检测到常用应用程序未接收到启动指令,终止常用应用程序对应的进程。
在一些实施例中,如图10所示,为本申请实施例提供的广播处理装置的又一结构示意图,确定单元402,包括:
获取子单元4021,用于当检测到操作系统的AMS中接收到广播发送者发送的广播时,获取与广播对应的广播接收者列表;
确定子单元4022,用于确定广播接收者列表中每一广播接收者对应的应用程序为广播关联的关联应用程序。
在一些实施例中,获取子单元4021,还用于:
获取广播中包含的广播内容;
获取广播内容与广播接收者的映射关系表;
根据映射关系表确定与广播内容对应的广播接收者列表。
在一些实施例中,如图11所示,为本申请实施例提供的广播处理装置的又一结构示意图,禁止单元404,包括:
确定子单元4041,用于确定属于应用程序集合的应用程序对应的广播接收者为目标广播接收者;
发送子单元4042,用于将广播发送给目标广播接收者并禁止将广播发送给广播接收者列表中除目标广播接收者之外的其他广播接收者。
在一些实施例中,发送子单元4042还可以用于:
获取广播对应的发送方式。
当广播的发送方式为无序发送时,将广播对应的广播内容发送至目标广播接收者。
当广播的发送方式为有序发送时,获取每一目标广播接收者对应的优先属性值。
根据优先属性值确定每一目标广播接收者接收广播的接收顺序。
根据接收顺序确定广播发送顺序。
根据广播发送顺序将广播对应的广播内容发送至目标广播接收者。
具体实施时,以上各个单元可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单元的具体实施可参见前面的方法实施例,在此不再赘述。
由以上可知,本实施例通过运行单元401运行目标应用程序,目标应用程序为运行在服务器中运行的操作系统中的应用程序;当检测到操作系统中存在待发送的广播时,确定单元402确定与广播关联的关联应用程序,关联应用程序注册了用于接收广播的广播接收者;获取单元403获取系统应用程序,根据系统应用程序和目标应用程序生成应用程序集合;当关联应用程序不属于应用程序集合时,禁止单元404禁止向关联应用程序发送广播。以此,在系统中的广播发送阶段对广播的发送过程进行控制,阻止广播触发不需要启动的应用程序启动,从而降低了应用程序自行启动导致对操作系统资源的占用,提高了操作系统的运行效率。
本发明实施例还提供一种计算机设备,如图12所示,其示出了本发明实施例所涉及的计算机设备的结构示意图,具体来讲:
该计算机设备可以包括一个或者一个以上处理核心的处理器501、一个或一个以上计算机可读存储介质的存储器502、电源503和输入单元504等部件。本领域技术人员可以理解,图12中示出的计算机设备结构并不构成对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
处理器501是该计算机设备的控制中心,利用各种接口和线路连接整个计算机设备的各个部分,通过运行或执行存储在存储器502内的软件程序和/或模块,以及调用存储在存储器502内的数据,执行计算机设备的各种功能和处理数据,从而对计算机设备进行整体监控。可选的,处理器501可包括一个或多个处理核心;优选的,处理器501可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器501中。
存储器502可用于存储软件程序以及模块,处理器501通过运行存储在存储器502的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器502可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据计算机设备的使用所创建的数据等。此外,存储器502可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器502还可以包括存储器控制器,以提供处理器501对存储器502的访问。
计算机设备还包括给各个部件供电的电源503,优选的,电源503可以通过电源管理系统与处理器501逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源503还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
该计算机设备还可包括输入单元504,该输入单元504可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
尽管未示出,计算机设备还可以包括显示单元等,在此不再赘述。具体在本实施例中,计算机设备中的处理器501会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器502中,并由处理器501来运行存储在存储器502中的应用程序,从而实现各种功能,如下:
运行目标应用程序;当检测到操作系统中存在待发送的广播时,检测与广播关联的关联应用程序,关联应用程序注册了用于接收广播的广播接收者;获取系统应用程序,根据系统应用程序和目标应用程序生成应用程序集合;当关联应用程序不属于应用程序集合时,禁止向关联应用程序发送广播。
以上各个操作的具体实施可参见前面的实施例,在此不作赘述。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于存储介质中,并由处理器进行加载和执行。
为此,本发明实施例提供一种存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本发明实施例所提供的任一种广播处理方法中的步骤。例如,该指令可以执行如下步骤:
运行目标应用程序;当检测到操作系统中存在待发送的广播时,检测与广播关联的关联应用程序,关联应用程序注册了用于接收广播的广播接收者;获取系统应用程序,根据系统应用程序和目标应用程序生成应用程序集合;当关联应用程序不属于应用程序集合时,禁止向关联应用程序发送广播。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
其中,该存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
由于该存储介质中所存储的指令,可以执行本发明实施例所提供的任一种医学图像分割方法中的步骤,因此,可以实现本发明实施例所提供的任一种广播处理方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
其中,根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在存储介质中。计算机设备的处理器从存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述图2或图3提供的各种可选实现方式中提供的方法。
以上对本发明实施例所提供的一种广播处理方法、装置和存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (11)

1.一种广播处理方法,其特征在于,应用于云服务器,包括:
当检测到操作系统启动完成时,云服务器向所述操作系统中的应用程序发送系统广播,所述系统广播触发运行注册了系统广播的应用程序对应的进程;所述操作系统包括安卓系统,所述云服务器中运行有多个安卓系统,所述安卓系统与游戏终端中登录客户端的用户账号相对应;
云服务器获取所述操作系统中运行的进程信息;
云服务器确定所述进程信息中的非法进程并终止所述非法进程;
云服务器运行目标应用程序,所述目标应用程序为运行在云服务器中运行的操作系统上的应用程序,其中,所述云服务器响应于游戏终端发送的启动目标云游戏应用程序的操作指令,在与所述游戏终端对应的目标安卓系统中运行所述目标云游戏应用程序,所述操作指令是在云游戏场景下,当用户在所述游戏终端中点击所述目标云游戏应用程序的桌面图标时,通过所述游戏终端向所述云服务器发送的,并用于触发所述云服务器控制所述云服务器中的所述目标安卓系统运行所述目标云游戏应用程序;
当检测到所述操作系统中存在待发送的广播时,云服务器确定与所述广播关联的关联应用程序,所述关联应用程序注册了用于接收所述广播的广播接收者,所述广播为运行在所述云服务器中的操作系统中的应用程序发出的广播,其中,所述云服务器对所述目标安卓系统的活动控制服务AMS组件中是否接收到广播发送者发送的广播进行实时监控,当所述云服务器检测到所述目标安卓系统的AMS组件中接收到广播发送者发送的广播时,从AMS组件中调取出与所述广播包含的广播内容对应的广播接收者列表;确定所述广播接收者列表中每一广播接收者对应的应用程序为所述广播关联的关联应用程序;所述目标安卓系统的AMS组件是对所述目标安卓系统中的广播进行统一调度及发送的管理组件,所述目标安卓系统中每个应用程序发出的广播都需经所述目标安卓系统的AMS组件进行处理后再发送;
当将所述广播接收者列表中的广播接收者按照对应的应用程序划分为目标广播接收者和其他广播接收者后,将所述广播接收者列表中的其他广播接收者删除,得到新的广播接收者列表;云服务器控制将所述广播按照所述新的广播接收者列表进行发送,以将所述广播发送给所述新的广播接收者列表中的广播接收者;
云服务器获取所述操作系统中的系统应用程序,以及获取所述目标应用程序在预设时间段内对第三方应用程序的调用记录,并根据所述调用记录计算所述目标应用程序对每个第三方应用程序的调用频率,所述调用频率的时间单位为天或周,所述第三方应用程序为所述操作系统中装载的除所述系统应用程序以外的应用程序;
云服务器在所述调用记录中选取调用频率大于预设阈值的目标第三方应用程序;
云服务器将所述系统应用程序、所述目标应用程序以及所述目标第三方应用程序组成的集合确定为应用程序集合;
当所述关联应用程序不属于所述应用程序集合时,云服务器禁止向所述关联应用程序发送所述广播;若在预设时间段内,所述目标第三方应用程序未接收到所述目标应用程序的调用指令,云服务器终止所述目标第三方应用程序的运行。
2.根据权利要求1所述的处理方法,其特征在于,所述云服务器在所述调用记录中选取调用频率大于预设阈值的目标第三方应用程序,包括:
将所述调用记录中的第三方应用程序按照调用频率由高至低的顺序进行排序;
按照调用频率由高至低的顺序选取预设数量的第三方应用程序确定为目标第三方应用程序。
3.根据权利要求1所述的处理方法,其特征在于,所述云服务器确定所述进程信息中的非法进程并终止所述非法进程,包括:
获取所述操作系统中应用程序运行历史数据;
根据所述运行历史数据确定常用应用程序;
确定系统应用程序与所述常用应用程序构成的应用程序集合为预设应用程序集合;
根据所述进程信息确定每个进程对应的应用程序;
确定不属于所述预设应用程序集合的应用程序对应的进程为非法进程,并终止所述非法进程。
4.根据权利要求3所述的处理方法,其特征在于,所述方法还包括:
当所述操作系统启动完毕后预设时间段内,检测到所述常用应用程序未接收到启动指令,终止所述常用应用程序对应的进程。
5.根据权利要求1所述的处理方法,其特征在于,所述当所述关联应用程序不属于所述应用程序集合时,云服务器禁止向所述关联应用程序发送所述广播,包括:
确定属于所述应用程序集合的关联应用程序为目标关联应用程序,并确定所述目标关联应用程序对应的广播接收者为目标广播接收者;
将所述广播发送给所述目标广播接收者,并禁止将所述广播发送给所述广播接收者列表中除所述目标广播接收者之外的其他广播接收者。
6.根据权利要求5所述的处理方法,其特征在于,所述将所述广播发送给所述目标广播接收者,包括:
获取所述广播的发送方式;
当所述广播的发送方式为无序发送时,将所述广播发送至所述目标广播接收者;
当所述广播的发送方式为有序发送时,获取广播发送顺序;
根据所述广播发送顺序将所述广播发送至所述目标广播接收者。
7.根据权利要求6所述的处理方法,其特征在于,所述获取广播发送顺序,包括:
获取每一目标广播接收者对应的优先属性值;
根据所述优先属性值确定每一目标广播接收者接收所述广播的接收顺序;
根据所述接收顺序确定所述广播发送顺序。
8.根据权利要求5所述的处理方法,其特征在于,获取与所述广播对应的广播接收者列表,包括:
获取所述广播中包含的广播内容;
获取广播内容与广播接收者的映射关系表;
根据所述映射关系表确定与所述广播内容对应的广播接收者列表。
9.一种广播处理装置,其特征在于,应用于云服务器,包括:
发送单元,用于当检测到操作系统启动完成时,云服务器向所述操作系统中的应用程序发送系统广播,所述系统广播触发运行注册了系统广播的应用程序对应的进程;所述操作系统包括安卓系统,所述云服务器中运行有多个安卓系统,所述安卓系统与游戏终端中登录客户端的用户账号相对应;
第一获取单元,用于获取所述操作系统中运行的进程信息;
确定单元,用于确定所述进程信息中的非法进程并终止所述非法进程;
运行单元,用于运行目标应用程序,所述目标应用程序为 运行在云服务器中运行的操作系统上的应用程序,其中,响应于游戏终端发送的启动目标云游戏应用程序的操作指令,所述云服务器在与所述游戏终端对应的目标安卓系统中运行所述目标云游戏应用程序,所述操作指令是在云游戏场景下,当用户在所述游戏终端中点击所述目标云游戏应用程序的桌面图标时,通过所述游戏终端向所述云服务器发送的,并用于触发所述云服务器控制所述云服务器中的所述目标安卓系统运行所述目标云游戏应用程序;
确定单元,用于当检测到所述操作系统中存在待发送的广播时,确定与所述广播关联的关联应用程序,所述关联应用程序注册了用于接收所述广播的广播接收者,所述广播为运行在所述云服务器中的操作系统中的应用程序发出的广播,其中,所述云服务器对所述目标安卓系统的活动控制服务AMS组件中是否接收到广播发送者发送的广播进行实时监控,当所述云服务器检测到所述目标安卓系统的AMS组件中接收到广播发送者发送的广播时,从AMS组件中调取出与所述广播包含的广播内容对应的广播接收者列表;确定所述广播接收者列表中每一广播接收者对应的应用程序为所述广播关联的关联应用程序;所述目标安卓系统的AMS组件是对所述目标安卓系统中的广播进行统一调度及发送的管理组件,所述目标安卓系统中每个应用程序发出的广播都需经所述目标安卓系统的AMS组件进行处理后再发送;
所述装置还用于,当将所述广播接收者列表中的广播接收者按照对应的应用程序划分为目标广播接收者和其他广播接收者后,将所述广播接收者列表中的其他广播接收者删除,得到新的广播接收者列表;云服务器控制将所述广播按照所述新的广播接收者列表进行发送,以将所述广播发送给所述新的广播接收者列表中的广播接收者;
获取单元,用于获取所述操作系统中的系统应用程序,以及获取所述目标应用程序在预设时间段内对第三方应用程序的调用记录,并根据所述调用记录计算所述目标应用程序对每个第三方应用程序的调用频率,所述调用频率的时间单位为天或周,所述第三方应用程序为所述操作系统中装载的除所述系统应用程序以外的应用程序;在所述调用记录中选取调用频率大于预设阈值的目标第三方应用程序;将所述系统应用程序、所述目标应用程序以及所述目标第三方应用程序组成的集合确定为应用程序集合;
禁止单元,用于当所述关联应用程序不属于所述应用程序集合时,禁止向所述关联应用程序发送所述广播;
终止单元,用于若在预设时间段内,所述目标第三方应用程序未接收到所述目标应用程序的调用指令,终止所述目标第三方应用程序的运行。
10.一种计算机设备,其特征在于,包括存储器、处理器以及存储在所述存储器中并可以在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现权利要求1至8中任一项所述的广播处理方法中的步骤。
11.一种存储介质,其特征在于,所述存储介质存储有多条指令,所述指令适于处理器进行加载,以执行权利要求1至8任一项所述的广播处理方法中的步骤。
CN202011340911.0A 2020-11-25 2020-11-25 广播处理方法、装置、计算机设备及存储介质 Active CN112131029B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011340911.0A CN112131029B (zh) 2020-11-25 2020-11-25 广播处理方法、装置、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011340911.0A CN112131029B (zh) 2020-11-25 2020-11-25 广播处理方法、装置、计算机设备及存储介质

Publications (2)

Publication Number Publication Date
CN112131029A CN112131029A (zh) 2020-12-25
CN112131029B true CN112131029B (zh) 2022-03-01

Family

ID=73852310

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011340911.0A Active CN112131029B (zh) 2020-11-25 2020-11-25 广播处理方法、装置、计算机设备及存储介质

Country Status (1)

Country Link
CN (1) CN112131029B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112616179A (zh) * 2020-12-31 2021-04-06 努比亚技术有限公司 一种广播拦截方法、终端及计算机可读存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107957913A (zh) * 2017-11-21 2018-04-24 广东欧珀移动通信有限公司 关联启动的管控方法、装置、存储介质及移动终端

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5952638B2 (ja) * 2011-05-19 2016-07-13 日本放送協会 放送通信連携受信装置及び放送通信連携システム
CN105893839B (zh) * 2016-06-20 2019-02-12 北京奇虎科技有限公司 一种安卓应用的广播的代理处理方法和装置
CN106201740A (zh) * 2016-06-29 2016-12-07 北京金山安全软件有限公司 一种广播消息管理方法、装置及设备
CN109167882A (zh) * 2018-09-27 2019-01-08 努比亚技术有限公司 一种应用关联启动控制方法、终端及计算机可读存储介质

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107957913A (zh) * 2017-11-21 2018-04-24 广东欧珀移动通信有限公司 关联启动的管控方法、装置、存储介质及移动终端

Also Published As

Publication number Publication date
CN112131029A (zh) 2020-12-25

Similar Documents

Publication Publication Date Title
US10467025B2 (en) Managing delivery of code and dependent data using application containers
CN109408223B (zh) 资源配置方法、装置、终端及存储介质
CN108363593B (zh) 应用程序预加载方法、装置、存储介质及终端
WO2020108085A1 (zh) 资源配置方法、装置、终端及存储介质
US10310581B2 (en) Enhanced security and resource utilization in a multi-operating system environment
CN107402790B (zh) 应用程序的启动方法、装置、存储介质和终端
CN109542614B (zh) 资源配置方法、装置、终端及存储介质
KR101702698B1 (ko) 적응형 프로세스 중요도
WO2014197260A1 (en) Idle worker-process page-out
EP3486770A1 (en) Processing method, device and storage medium for implementing automatic startup
CN106937258B (zh) 一种广播的控制方法、装置及移动终端
WO2019201340A1 (zh) 处理器核心调度方法、装置、终端及存储介质
EP3486823B1 (en) System notification service control method, apparatus, terminal device, and storage medium
CN107682389B (zh) 一种执行网络请求的方法、终端及计算机可读存储介质
CN107832127B (zh) 应用控制方法及相关产品
CN112131029B (zh) 广播处理方法、装置、计算机设备及存储介质
CN106844070B (zh) 一种广播的控制方法、装置及移动终端
WO2019076254A1 (zh) 游戏应用控制方法及设备
KR20210002979A (ko) 알림 프리셋을 이용한 알림 처리 방법 및 장치
CN110248237B (zh) 一种视频播放方法、装置、设备及存储介质
US20220350614A1 (en) Preloading of applications transparently to user
CN114217969A (zh) 一种执行函数执行方法及相关设备
CN117971250A (zh) 应用安装方法、装置、电子设备和可读存储介质
CN116320518A (zh) 一种直播消息限流方法、装置、设备及存储介质
CN117979018A (zh) 视频解码调度方法、装置及设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40035472

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant