CN116701008A - 广播方法和设备 - Google Patents
广播方法和设备 Download PDFInfo
- Publication number
- CN116701008A CN116701008A CN202211168258.3A CN202211168258A CN116701008A CN 116701008 A CN116701008 A CN 116701008A CN 202211168258 A CN202211168258 A CN 202211168258A CN 116701008 A CN116701008 A CN 116701008A
- Authority
- CN
- China
- Prior art keywords
- broadcast
- queue
- proxy
- message
- electronic device
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 144
- 230000008569 process Effects 0.000 claims abstract description 48
- 238000012544 monitoring process Methods 0.000 claims description 67
- 230000003111 delayed effect Effects 0.000 claims description 32
- 230000009471 action Effects 0.000 claims description 16
- 230000007246 mechanism Effects 0.000 claims description 16
- 238000001514 detection method Methods 0.000 claims description 12
- 238000012545 processing Methods 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 6
- 230000001960 triggered effect Effects 0.000 claims description 6
- 230000003068 static effect Effects 0.000 description 17
- 238000004364 calculation method Methods 0.000 description 13
- 238000004891 communication Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 7
- 238000007726 management method Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 230000009191 jumping Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 210000000988 bone and bone Anatomy 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
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)
- Computer Security & Cryptography (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本申请涉及电子设备技术领域,特别涉及一种广播方法和设备。所述广播方法包括:电子设备获取到开机广播时,判断所述电子设备的第一系统负载是否大于等于第一设定值;若所述第一系统负载大于等于所述第一设定值,则将所述开机广播添加至代理广播队列;当所述开机广播在所述代理广播队列中停留第一时长后,将所述开机广播发送给第一应用,以启动所述第一应用的进程。本申请的广播方法和设备,可在电子设备开机后且系统负载较高时对开机广播进行延时广播,由此以尽量降低电子设备负载,使电子设备在开机场景稳定运行。
Description
技术领域
本申请涉及电子设备技术领域,特别涉及一种广播方法和设备。
背景技术
电子设备在完成系统升级或者检测到用户触发的重启操作后,电子设备会进行开机重启。在电子设备开机完成后的短时间内,如开机后的5分钟内,电子设备容易出现卡顿掉帧现象,严重时还会导致系统界面无响应。因此,在开机场景如何使电子设备稳定运行成为需要解决的问题。
发明内容
本申请提供了一种广播方法和设备,可在电子设备开机后且系统负载较高时对开机广播进行延时广播,由此以尽量降低电子设备负载,使电子设备在开机场景稳定运行。
第一方面,本发明实施例提供了一种广播方法。该方法包括:当电子设备获取到开机广播时,判断所述电子设备的第一系统负载是否大于等于第一设定值。若所述第一系统负载大于等于所述第一设定值,则将所述开机广播添加至代理广播队列;当所述开机广播在所述代理广播队列中停留第一时长后,将所述开机广播发送给第一应用,以启动所述第一应用的进程。
电子设备开机后会向应用层的应用发送开机广播,如向第一应用发送开机广播。第一应用是需要监听开机广播的应用。此处描述的第一应用在实际场景可以对应一个或者多个应用。第一应用接收到开机后,启动第一应用的进程。第一应用的进程在电子设备运行。如果运行第一应用的进程时,电子设备本身的系统负载已经比较高,再运行第一应用的进程会进一步推高系统负载,造成电子设备的运行卡顿。
在本发明实施例方法中,当电子设备获取到开机广播后,首先判断电子设备的第一系统负载是否大于等于第一设定值。如果电子设备的第一系统负载大于等于第一设定值,表示电子设备当前的系统负载比较高,此时可以对开机广播延时。即暂不将开机广播发送给第一应用。当开机广播延时一段时间(即第一时长)后,再将开机广播发送给第一应用并启动第一应用的进程。由此可以避免在电子设备高负载时通过开机广播拉起应用进程的运行,避免进一步推高电子设备的系统负载,以确保电子设备的稳定运行。
上述第一系统负载表示电子设备获取到开机广播时的当前系统负载。在其中一种可能的实现方式中,电子设备设置有负载监控模块。所述负载监控模块用于按照第一时间步长周期性地检测电子设备的系统负载;所述当电子设备获取到开机广播时,所述方法还包括:从所述负载监控模块获取距离当前时间最近的检测周期的系统负载作为所述第一系统负载。在其中一种可能的实现方式中,当电子设备获取到开机广播时,电子设备启动负载监控模块按照第一时间步长周期性地检测电子设备的系统负载。
在其中一种可能的实现方式中,负载监控模块按照第一时间步长周期地获取的系统负载包括处理器运行负载。处理器运行负载可以根据处理器的运行时间确定。例如,可以获取处理器在一个检测周期的运行态时间和运行总时间。可选的,处理器在一个检测周期的运行态时间可以包括处理器在该检测周期的用户态时间user、用户态时间nice和内核态时间system。可选的,处理器在一个检测周期的运行总时间包括处理器在该检测周期的用户态时间user、用户态时间nice、内核态时间system和空闲时间idle。可选的,可以将运行态时间和运行总时间的比值作为处理器运行负载。
在其中一种可能的实现方式中,电子设备获取到开机广播后获取第一系统负载,所述第一系统负载包括第一处理器运行负载。第一处理器运行负载表示距离当前时间最近的处理器运行负载。相应的,所述第一系统负载大于等于所述第一设定值,包括:所述第一处理器运行负载大于等于所述第一设定值。在此实施例方式中,当第一处理器运行负载大于等于第一设定值时,说明电子设备的系统负载较高,需要对开机广播进行延时。当第一处理器运行负载小于第一设定值时,则不对开机广播延时,并将开机广播发送给第一应用。
在其中一种可能的实现方式中,上述第一系统负载除了包括第一处理器运行负载之外,还包括电子设备的屏幕状态。电子设备的屏幕状态包括亮屏状态或者灭屏状态。其中,当电子设备为亮屏状态时,电子设备有亮屏显示界面的开销。而且,当电子设备处于亮屏状态时,还可能会检测到作用于电子设备屏幕的操作动作。当检测到该操作动作时,电子设备需要响应该操作动作并更新显示界面。可见,在电子设备的亮屏场景系统开销较高,而且对界面显示的流畅性也较高。因此,当电子设备亮屏且第一处理器运行负载大于等于第一设定值时,说明在亮屏场景电子设备的系统负载已经较高了,此时再通过开机广播启动应用进程很可能会造成界面卡顿。因此,当电子设备处于亮屏状态且电子设备的第一处理器运行负载大于等于第一设定值时,对开机广播延时。如果电子设备处于亮屏状态但电子设备的第一处理器运行负载小于第一设定值,说明电子设备当前的系统负载仍可以支持亮屏开销和开机广播拉起应用进程,此时无需对开机广播延时,可以直接将开机广播发送给第一应用。
在其中一种可能的实现方式中,当获取到开机广播时,电子设备处于灭屏状态,说明电子设备没有显示界面和更新界面的需求,此时可以无需对开机广播延时,可以直接将开机广播发送给第一应用。
在其中一种可能的实现方式中,在决策是否对开机广播进行延时的场景中,除了考虑系统负载的因素之外,还需要考虑开机广播本身的广播参数。本发明实施例对开机广播设置第一条件。当开机广播的广播参数满足第一条件且所述第一系统负载大于等于所述第一设定值时,将所述开机广播添加至代理广播队列。
可选的,开机广播满足第一条件,说明开机广播是电子设备开机非必要的广播、或者开机广播拉起的应用是电子设备开机非必要的应用。通过设置的第一条件,可以避免对开机必要广播、必要应用执行延时,确保电子设备的正常开机运行。可选的,在对开机广播进行延时决策时,还可以考虑开机广播在当前开机后是否已经设置过延时。如果开机广播在电子设备开机后的预设时间内已经设置过延时,则不对开机广播再次执行延时。由此可以避免对开机广播进行多次延时,避免该开机广播的正常广播。基于上述考虑,开机广播的广播参数满足第一条件可以包括满足以下中的一项或多项的组合:广播消息类型为预设类型、广播消息的广播接收者包含于预设白名单或者在当前开机完成后广播消息未进行过延时。
在其中一种可能的实现方式中,上述广播方法应用于电子设备开机后的预设时间内。所述预设时间可以根据实际需要设置,如开机完成后的5分钟、6分钟、7分钟或者其它可能的时间内。可选的,可以将获取到开机广播的时间作为该预设时间的起点。可选的,电子设备获取到开机广播后,继续检测其它广播消息。如果电子设备在获取到所述开机广播后的预设时间内,若还检测到第一广播消息,则获取电子设备的第二系统负载。可选的,电子设备可以通过上述负载监控模块获取第二系统负载。第二系统负载为负载监控模块检测到的距离当前时间最近的检测周期的系统负载。之后,电子设备判断所述第二系统负载是否大于等于所述第一设定值。若所述第二系统负载大于等于所述第一设定值,则将所述第一广播消息添加至所述代理广播队列的队尾。
可选的,第二系统负载的表示方式与第一系统负载相同。可选的,电子设备判断所述第二系统负载是否大于等于所述第一设定值的方式与第一系统负载的判断方式相同,此处不再赘述。可选的,电子设备在决策是否将第一广播消息添加至代理广播队列时,还可以判断第一广播消息的广播参数是否满足第一条件,其判断方式与开机广播的判断方式相同,此处不再赘述。
在其中一种可能的实现方式中,当确定对开机广播进行延时后,将开机广播添加至代理广播队列。开机广播在代理广播队列的停留时间表示开机广播的延时时长(也称为第一时长)。同理,当确定对上述第一广播消息信息延时后,将第一广播消息添加至代理广播队列的队尾。第一广播消息在代理广播队列的停留时间表示第一广播消息的延时时长。
在其中一种可能的实现方式中,当开机广播在代理广播队列停留的第一时长大于等于延时阈值时,表示开机广播已经延时了较长时间,此时可以将开机广播发送给第一应用。
在其中一种可能的实现方式中,当开机广播在代理广播队列停留第一时长,第一时长小于延时阈值时,可以获取电子设备的第三系统负载。如果第三系统负载小于等于第二设定值,说明经过第一时长后电子设备的系统负载回落到了较低水平,此时可以将开机广播发送给第一应用。
在其中一种可能的实现方式中,若所述第一时长小于所述延时阈值,并且经过所述第一时长后所述电子设备的第三系统负载仍大于所述第二设定值,说明开机广播的延时时长仍在可允许的范围且电子设备的系统负载还未回落到较低水平,此时所述开机广播继续停留在所述代理广播队列。并且,根据开机广播在代理广播队列的停留时间,可以进一步更新所述第一时长以及更新所述第三系统负载。根据更新后的所述第一时长或者更新后的所述第三系统负载,可以再次判断是否将所述开机广播发送给第一应用。
在其中一种可能的实现方式中,第三系统负载可以表示距离当前时间最近的系统负载。此处的当前时间为开机广播延时第一时长后的当前时间。可选的,第三系统负载可以包括第二处理器运行负载、电子设备的屏幕状态或者作用于电子设备屏幕的操作动作。所述第三系统负载小于等于第二设定值,包括:所述第二处理器运行负载小于等于所述第二设定值,此时说明电子设备的系统负载回落到了较低水平,可以将开机广播发送给第一应用。可选的,上述第二处理器运行负载的计算方式可以参见第一处理器运行负载,此处不再赘述。或者,所述电子设备的屏幕状态为灭屏状态,此时电子设备没有界面更新显示需求,也即没有界面卡顿问题,因此可以将开机广播发送给第一应用。或者,所述电子设备的屏幕状态为亮屏状态且所述第二处理器运行负载小于等于所述第二设定值,说明电子设备的系统负载回落到了较低水平,可以支持亮屏开销,因此可以将开机广播发送给第一应用。或者,所述电子设备的屏幕状态为亮屏状态、未检测到作用于所述电子设备屏幕的操作动作且所述第二处理器运行负载小于等于所述第二设定值。说明在电子设备的亮屏状态没有响应操作动作和界面更新的开销,并且系统负载回落到了较低水平,因此可以将开机广播发送给第一应用。在其中一种可能的实现方式中,
在其中一种可能的实现方式中,所述代理广播队列关联有定时机制,所述定时机制用于按照第二时间步长周期性地触发定时消息;所述方法还包括:当接收到所述定时机制触发的定时消息时,计算所述开机广播在所述代理广播队列停留的所述第一时长。
在其中一种可能的实现方式中,每次接收到定时机制触发的定时消息时均计算第一时长。每次计算第一时长后均判断是否将开机广播发送给第一应用。例如,在t1时间接收到定时消息,则将t1时间-开机广播添加至代理广播队列的时间,得到第一时长。如果第一时长大于等于延时阈值或者电子设备在t1时间的第三系统负载小于等于第二设定值,则将开机广播发送给第一应用。如果第一时长小于延时阈值并且电子设备在t1时间的第三系统负载大于第二设定值,则等待下一个定时消息。假设在t2时间接收到下一个定时消息,则重新计算第一时长,并重新获取电子设备在t2时间的第三系统负载。根据更新后的第一时长或者第三系统负载,再次判断是否将开机广播发送给第一应用。
在其中一种可能的实现方式中,将所述开机广播发送给第一应用之后,所述代理广播队列还包括第一广播消息、第二广播消息……第N广播消息,所述方法还包括:将所述第一广播消息、所述第二广播消息……第X广播消息逐个发送给待接收相应广播消息的应用直至接收到所述定时机制的下一个定时消息,X小于N。响应于所述下一个定时消息,根据第X+1广播消息在所述代理广播队列停留的第一时长将所述第X+1广播消息发送给待接收所述第X+1广播消息的应用。在此方式中,将开机广播发送给第一应用后,说明电子设备当前的系统负载或者剩余的广播消息满足延时要求,此时可以对开机广播后续的广播消息逐个广播,直至接收到下一个定时消息。当接收到下一个定时消息时,再次根据延时时长和系统负载判断是否对第X+1广播消息进行广播。
在其中一种可能的实现方式中,将所述开机广播发送给第一应用之后,所述代理广播队列还包括第一广播消息、第二广播消息……第N广播消息,所述方法还包括:根据各个广播消息的延时时长和延时后的系统负载决策是否将广播消息发送给对应的应用。
在其中一种可能的实现方式中,所述将所述开机广播添加至代理广播队列,包括:根据开机广播的广播参数,复制AMS维护的广播队列中的开机广播。将复制的所述开机广播添加至所述代理广播队列并删除AMS维护的广播队列中的开机广播。通过此方式,可以实现对开机广播的延时,并且可以不影响AMS对其维护的广播队列的下一个广播消息的分发。
在其中一种可能的实现方式中,所述将所述开机广播发送给第一应用,包括:根据所述开机广播的广播参数,复制所述代理广播队列的所述开机广播。将复制的所述开机广播添加至AMS维护的广播队列,并将所述代理广播队列的所述开机广播删除,所述AMS用于将所述开机广播发送给第一应用。通过此方式,可以将代理广播队列的开机广播提供给AMS,以通过AMS将开机广播发送给第一应用。
第二方面,本发明实施例提供了一种电子设备,包括:所述电子设备包括用于存储程序指令的存储器和用于执行所述程序指令的处理器,其中,当所述程序指令被所述处理器执行时,触发所述电子设备执行如上述第一方面或者第一方面任一项所述的方法。
第三方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,当其在电子设备上运行时,使得电子设备执行如上述第一方面或者第一方面任一项所述的方法。
应当理解的是,本发明实施例第二至三方面与本申请的第一方面的技术方案一致,各方面及对应的可行实施方式所取得的有益效果相似,不再赘述。
附图说明
图1为电子设备通过广播消息拉起应用进程的示意图;
图2为本发明实施例提供的一种广播方法的示意图;
图3为本发明实施例提供的一种负载监控方法的流程图;
图4为本发明实施例提供的一种电子设备的软件结构框图;
图5为本发明实施例提供的一种广播方法的流程图;
图6为本发明实施例提供的另一种广播方法的流程图;
图7为本发明实施例提供的一种对代理广播队列的开机广播进行解代理的流程图;
图8为本发明实施例提供的又一种广播方法的示意图;
图9为本发明实施例提供的另一种广播方法的流程图;
图10为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
本申请的实施方式部分使用的术语仅用于对本申请的具体实施例进行解释,而非旨在限定本申请。
广播机制是电子设备的一种在系统与应用,或者在应用与应用之间传输信息的机制。如果位于电子设备的应用程序层的应用需要接收系统或者其它应用的广播消息,则该应用在活动管理服务(Activity Manager Service,AMS)注册广播接收器。应用在AMS注册广播接收器的方式包括:静态注册和动态注册。静态注册是在应用的配置文件中注册广播接收器。采用静态方式注册的广播接收器无论应用是否启动均监听广播消息。动态注册是在应用的代码中注册广播接收器。采用动态方式注册的广播接收器通常只在应用运行期间监听广播消息。
AMS管理各应用注册的广播接收器。对于动态注册的广播接收器,AMS采用并行发送方式将广播消息发送给广播接收器,并通过广播接收器将广播消息发送给应用程序层的应用。对于静态注册的广播接收器,AMS采用串行发送方式将广播消息依次发送给广播接收器,并通过广播接收器将广播消息发送给应用程序层的应用。
上述介绍的广播机制可以应用在电子设备的开机场景。在电子设备的开机场景,AMS可以通过广播消息拉起应用进程。例如,AMS可以通过开机广播、应用组件启用广播或者其它可能的广播消息拉起应用进程。下述将以开机广播为例,对通过广播消息拉起应用进程的过程进行说明。
由于静态广播接收器支持在应用未启动时监听广播消息,因此需要监听开机广播的应用事先在AMS注册静态广播接收器。例如,需要监听开机广播的应用包括应用1、应用2、应用3。则应用1、应用2、应用3事先注册静态广播接收器1、2、3。
电子设备开机后,AMS启动。如图1所示,AMS维护原生广播队列。原生广播队列包含开机广播。可选的,原生广播队列还可以包含应用组件启用广播、SIM卡状态改变广播或者其它可能的广播消息。可选的,开机广播可以是原生广播队列的首个广播消息。AMS启动后,AMS对原生广播队列的开机广播进行分发。之后,AMS确定需要监听开机广播的应用列表以及静态广播接收器列表。例如,AMS确定需要监听开机广播的应用包括应用1、应用2、应用3。应用1、应用2、应用3注册有静态广播接收器1、2、3。则,AMS根据上述应用列表和静态广播接收器列表,将开机广播以串行方式发送给应用1、2、3。应用1、2、3接收到开机广播后拉起应用1、2、3的启动进程,之后应用1、2、3的启动进程在电子设备运行。
具体的,所述串行方式是指将开机广播发送给一个应用之后再发送给下一个应用。例如,AMS将开机广播发送给应用1的静态广播接收器1。静态广播接收器1监听到开机广播后,将开机广播发送给应用1。应用1接收到开机广播后拉起应用1的启动进程。AMS确定广播接收器1将开机广播发送给应用1后,AMS向应用2的静态广播接收器2发送开机广播。静态广播接收器2监听到开机广播后,将开机广播发送给应用2。应用2接收到开机广播后拉起应用2的启动进程,以此类推直至AMS将开机广播发送给需要监听开机广播的所有应用。
AMS将开机广播发送给需要监听开机广播的所有应用之后,AMS继续对原生广播队列的下一个广播消息执行分发,并再以串行方式发送给需要监听该广播消息的应用,直至AMS对原生广播队列的广播消息发送完毕。
通过上述流程可以看出,AMS通过开机广播或者其它广播消息可以拉起若干应用的启动进程。被拉起的该若干应用的启动进程在电子设备运行。若开机广播或者其它广播消息拉起的应用进程数量比较多,则该数量较多的应用进程可能会在电子设备同步运行,由此会增加电子设备的系统负载,造成电子设备的卡顿掉帧等。
为了使电子设备在开机后稳定运行,本发明实施例提供了一种广播方法。本发明实施例的所述广播方法可以应用于电子设备开机后的预设时间内,所述预设时间可以根据需要设置。所述预设时间例如可以是电子设备开机完成后的5分钟、6分钟、7分钟或者其它可能的时间内。在本发明实施例方法中,在电子设备开机后的预设时间内可以根据电子设备的系统负载动态调整广播消息的广播时机。如果电子设备当前的系统负载较高,则可以对广播消息进行延时。在广播消息的延时过程中,可以持续获取电子设备的系统负载。当电子设备的系统负载回落到较低值时,再对广播消息进行广播。通过此方式,可以避免广播消息拉起的多个应用进程同步启动运行,避免在电子设备的负载较高时进一步增加电子设备的系统负载。
参见图2,为本发明实施例提供的一种广播方法的示意图。如图2所示,本发明实施例在AMS的基础上设置延时广播服务。该延时广播服务包括负载监控模块和延时决策模块。当电子设备开机后,AMS和延时广播服务启动。步骤11,AMS启动后,AMS对原生广播队列中的广播消息逐个分发。具体包括,AMS启动后对原生广播队列的开机广播进行分发。步骤12,负载监控模块用于按照第一时间步长周期性地检测电子设备的系统负载。可选的,负载监控模块用于向延时决策模块提供电子设备的系统负载。可选的,负载监控模块可以根据延时决策模块的需要,向延时决策模块提供距离当前时间最近的检测周期的系统负载。可选的,负载监控模块可以在AMS分发开机广播时,开始执行负载监控方法。负载监控模块执行负载监控方法的具体流程可以参见图3,此处不再赘述。
步骤13,延时决策模块检测到AMS分发开机广播时,从负载监控模块获取电子设备在当前时间t1的第一系统负载。可选的,延时决策模块可以从负载监控模块获取距离当前时间t1最近的检测周期的系统负载作为第一系统负载。延时决策模块根据第一系统负载,对开机广播进行延时决策。具体的,如果第一系统负载大于等于第一设定值,则执行步骤14,对开机广播延时;如果第一系统负载小于第一设定值,则不对开机广播延时,并执行步骤15。
步骤14,延时决策执行对开机广播的延时。具体的,在开机广播延时的时间内,延时决策模块可以继续从负载监控模块获取电子设备的系统负载。如果在开机广播延时的时间内,电子设备系统负载降低到小于等于第二设定值或者开机广播的延时时间大于等于延时阈值,则执行步骤15。
步骤15,AMS将开机广播广播至需要监听开机广播的应用,以通过开机广播启动应用进程。通过本发明实施例方式,可以使应用的启动进程在低负载环境运行,避免在电子设备系统负载较高时再拉起应用进程进一步增加电子设备的系统负载。
在一些实施例中,负载监控模块用于按照第一时间步长周期性地检测电子设备的系统负载。在一些实施例中,电子设备的系统负载包括处理器运行负载。参见图3,为本发明实施例提供的一种负载监控方法的流程图。如图3所示,负载监控模块执行负载监控方法的具体步骤包括:
步骤201,AMS分发开机广播时,负载监控模块开始执行负载计算,并执行步骤202。可选的,负载监控模块确定开始执行负载计算的方式包括:(1)负载监控模块可以检测AMS的分发动作。当负载监控模块检测到AMS分发开机广播时,负载监控模块开始执行电子设备系统负载的计算。(2)通过AMS触发负载监控模块执行负载计算。具体的,AMS执行对开机广播的分发时,AMS向负载监控模块发送启动指令,负载监控模块根据启动指令开始执行对电子设备系统负载的计算。(3)通过延时决策模块触发负载监控模块执行负载计算。具体的,延时决策模块确定AMS分发开机广播时,延时决策模块向负载监控模块发送启动指令,负载监控模块根据启动指令开始执行对电子设备系统负载的计算。
步骤202,负载监控模块读取当前时间T0的处理器运行时间记录x0,并计时。
在一些实施例中,电子设备的/proc/stat节点可以记载处理器的运行时间信息,包括记录处理器的用户态时间user、用户态时间nice、内核态时间system以及空闲时间idle。可选的,电子设备的/proc/stat节点记录的各时间均为电子设备开机以来记录的总时间,因此可以根据相邻时间节点所记录数据的差值确定一个检测周期的处理器运行负载。
在一些实施例中,处理器在时间T0的用户态时间user、用户态时间nice、内核态时间system以及空闲时间idle分别记录为:t0user、t0nice、t0system和t0idle。
其中,根据处理器在时间T0的用户态时间user、用户态时间nice和内核态时间system,可以计算处理器在时间T0的运行态时间rT0。rT0=t0user+t0nice+t0system。
其中,根据处理器在时间T0的用户态时间user、用户态时间nice、内核态时间system和空闲时间idle,可以计算处理器在时间T0的运行总时间wT0。wT0=t0user+t0nice+t0system+t0idle。
可选的,上述x0可以包括rT0和wT0。
步骤203,计时时长达到第一时间步长时,负载监控模块获取当前时间T1的处理器运行时间记录x1,并继续计时。第一时间步长即对应处理器运行负载的一个检测周期。
在一些实施例中,处理器在时间T1的用户态时间user、用户态时间nice、内核态时间system以及空闲时间idle分别记录为:t1user、t1nice、t1system和t1idle。
其中,根据处理器在时间T1的用户态时间user、用户态时间nice和内核态时间system,可以计算处理器在时间T1的运行态时间rT1。rT1=t1user+t1nice+t1system。
其中,根据处理器在时间T1的用户态时间user、用户态时间nice、内核态时间system和空闲时间idle,可以计算处理器在时间T1的运行总时间wT1。wT1=t1user+t1nice+t1system+t1idle。
可选的,上述x1可以包括rT1和wT1。
步骤204,负载监控模块根据x1和x0,计算T0-T1周期的处理器运行负载。在一些实施例中,T0至T1的时间段内,处理器运行负载X=(rT1-rT0)/wT1-wT0)。
步骤205,负载监控模块确定原生广播队列中的广播消息是否分发完毕。若分发完毕则负载监控模块可以结束执行负载计算;若否,则将T1时间读取的处理器运行时间记录x1赋值给T0时间的x0,并跳转到步骤203。
在一些实施例中,原生广播队列设置有第一标记位。所述第一标记位用于标识原生广播队列的广播消息是否分发完毕。在一些示例中,当第一标记位的取值为0或者false时,表示原生广播队列的广播消息未分发完毕;当第一标记位的取值为1或者true时,表示原生广播队列的广播消息分发完毕。负载监控模块可以根据原生广播队列的第一标记位确定原生广播队列的广播消息是否分发完毕。
在图3所示实施例中,负载监控模块在AMS分发开机广播至原生广播队列中的广播消息分发完毕的时段内执行负载监控方法。
在一些实施例中,负载监控模块可以在电子设备开机的预设时间内执行负载监控方法。具体的,电子设备开机的起始时间可以从AMS分发开机广播起算。则图3中的步骤205可以替换为:负载监控模块确定当前时间与AMS分发开机广播时的时间差值是否大于等于预设时间。若是,负载监控模块可以结束执行负载计算;若否,则将T1时间读取的处理器运行时间记录x1赋值给T0时间的x0,并跳转到步骤203。
在一些实施例中,负载监控模块可以在电子设备开机至代理广播队列中的广播消息发送完毕的时段内执行负载监控方法。可选的,代理广播队列用于存储需要延时的广播消息,后续会对代理广播队列存储延时广播消息的过程进行详细说明。对于负载监控模块而言,电子设备开机的起始时间可以从AMS分发开机广播起算。当负载监控模块执行到步骤205时,步骤205可以替换为:负载监控模块确定代理广播队列是否还存储有需要延时的广播消息。若否,负载监控模块可以结束执行负载计算;若代理广播队列还存储有需要延时的广播消息,则将T1时间读取的处理器运行时间记录x1赋值给T0时间的x0,并跳转到步骤203。
本发明实施例的广播方法主要应用于支持上述广播机制的电子设备。所述电子设备例如可以是移动终端、用户设备(User Equipment,UE)、接入终端、用户单元、用户站、移动站、移动台、远方站、远程终端、移动设备、用户终端、终端、无线通信设备、用户代理或用户装置。所述电子设备可以是WLAN中的站点(STAION,ST),可以是蜂窝电话、无绳电话、会话启动协议(Session Initiation Protocol,SIP)电话、无线本地环路(Wireless LocalLoop,WLL)站、个人数字处理(Personal Digital Assistant,PDA)设备、具有无线通信功能的手持设备、计算设备或连接到无线调制解调器的其它处理设备、车载设备、车联网终端、电脑、膝上型计算机、手持式通信设备、手持式计算设备、卫星无线设备、无线调制解调器卡、电视机顶盒(Set Top Box,STB)、用户驻地设备(Customer Premise Equipment,CPE)和/或用于在无线系统上进行通信的其它设备以及下一代通信系统,例如,5G网络中的移动终端或者未来演进的公共陆地移动网络(Public Land Mobile Network,PLMN)网络中的移动终端等。该所述电子设备还可以是可穿戴设备等。
参见图4,为本发明实施例提供的一种电子设备的软件结构框图。分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在图4所示的本申请实施例中,将Android系统分为四层,从上至下分别为应用程序层、应用程序框架层、安卓运行时(Android runtime)和系统库以及内核层。
应用程序层可以包括若干应用程序(本发明实施例称为应用)。如图4所示,应用程序层可以包括:相机、图库、日历、通话、地图、导航、WLAN、蓝牙、音乐、视频、短信息等应用程序。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架,包括各种组件和服务来支持开发者的安卓开发。应用程序框架层包括一些预先定义的函数。在一些实施例中,应用程序框架层可以包括窗口管理器、内容提供器、资源管理器等。在一些实施例中,应用程序框架层还可以包括本发明实施例上述AMS和延时广播服务。
Android runtime负责安卓系统的调度和管理。系统库可以包括多个功能模块。例如:表面管理器(surface manager)、媒体库(Media Libraries)、三维图形处理库(例如:OpenGL ES)以及2D图形引擎(例如:SGL)等。
内核层是硬件和软件之间的层。内核层可以包含显示驱动、摄像头驱动、音频驱动和传感器驱动等。
基于图4所示的框架结构,电子设备的开机流程从下到上依次包括:内核层初始化、启动安卓运行时、初始化系统库以及初始化应用程序框架层。在初始化应用程序框架层的过程中包括启动系统服务(即system server)进程,系统服务进程创建AMS和延时广播服务,AMS与延时广播服务配合执行本发明实施例的广播方法。
在一些实施例中,应用程序层中的部分应用,例如通话和短信息应用需要监听开机广播,则通话和短信息应用可以采用静态方式事先在AMS注册静态广播接收器。AMS启动后,AMS对原生广播队列中的开机广播执行分发。延时广播服务检测到AMS对开机广播执行分发时,延时广播服务确定电子设备在当前时间t1的第一系统负载。延时广播服务根据当前时间t1的第一系统负载决策是否对开机广播进行延时。如果电子设备当前的第一系统负载较高,则对开机广播延时。在开机广播延时的过程中,延时广播服务确定电子设备的系统负载是否降低至较低值。如果电子设备的系统负载降低至较低值或者开机广播的延时时间大于了延时阈值,则再通过AMS将开机广播发送给通话和短信息应用,开机广播拉起通话和短信息应用的应用进程。通过此方式,可以在电子设备的系统负载较低时,启动通话和短信息应用的应用进程,使通话和短信息应用在低负载环境执行启动流程。由此可以避免在电子设备高负载时进一步推高电子设备的负载,确保电子设备的平稳运行。
参见图5,为本发明实施例提供的一种广播方法的流程图。如图5所示,该方法的执行主体为图2和4所示的延时广播服务,更为具体的为延时广播服务包含的延时决策模块。如图5所示,所述方法包括:
301,延时决策模块检测到AMS分发开机广播时,延时决策模块启动第一定时器。
第一定时器用于从AMS分发开机广播时启动定时。AMS分发开机广播的时间可以认为是电子设备的开机时间。第一定时器的定时时间用于确定从电子设备开机到当前时间是否达到预设时间。所述预设时间可以根据实际需要设置,如电子设备开机完成后的5分钟、6分钟、7分钟或者其它可能的时间内。
302,延时决策模块获取电子设备在当前时间t1的第一系统负载。
可选的,延时决策模块可以通过负载监控模块获取当前时间t1的第一系统负载。可选的,延时决策模块从负载监控模块获取与当前时间t1最邻近的系统负载,并作为上述第一系统负载。如果在时间t1,负载监控模块还未检测到电子设备的系统负载,则延时决策模块可以等待直到负载监控模块上报电子设备的系统负载,并作为上述第一系统负载。
303,延时决策模块确定第一系统负载是否大于等于第一设定值。若是,则执行步骤304;若否,则执行步骤305。
304,延时决策模块将开机广播添加至代理广播队列。
添加至代理广播队列的开机广播暂不广播至应用程序层的应用。开机广播位于代理广播队列的时长可以表示开机广播的延时时长。添加至代理广播队列的开机广播在合适的时机广播至应用程序层的应用。参见图7将具体描述如何将代理广播队列中的开机广播发送至应用程序层的应用。
305,延时决策模块通知AMS将开机广播广播至应用程序层的应用。
如果延时决策模块只需要对开机广播进行延时决策,则延时决策模块在步骤301可以不用启动第一定时器。延时决策模块将开机广播添加至代理广播队列之后,则可以不用执行图5的步骤306-309。如果延时决策模块需要对其它广播消息进行延时决策,则延时决策模块继续执行步骤306-309。
306,延时决策模块判断第一定时器的定时时长是否大于等于预设时间。若是,方法结束。若否,则执行步骤307。
307,延时决策模块确定原生广播队列是否还存在未分发的广播消息;若存在,则执行步骤308;若不存在,则方法结束。可选的,延时决策模块可以根据原生广播队列设置的第一标记位确定原生广播队列是否还在未分发的广播消息。
308,延时决策模块检测AMS对原生广播队列的下一个广播消息的分发操作。
此处将下一个广播消息称为第一广播消息。
309,延时决策模块执行对第一广播消息的延时决策。
具体的,第一广播消息的延时决策过程可以参见开机广播的延时决策过程,如步骤302-305所示。之后跳转到步骤306,直至第一定时器的定时时长大于等于预设时间或者原生广播队列的广播消息分发完毕。
基于图5所示实施例方法,可以在电子设备开机后的预设时间内,根据系统负载对原生广播队列的广播消息逐个进行延时决策。需要进行延时的广播消息添加至代理广播队列,不需要进行延时的广播消息通过AMS广播至应用程序的应用。
在一些实施例中,电子设备的系统负载可以包括处理器运行负载。在图5所示实施例方法中,第一系统负载大于等于第一设定值包括处理器运行负载大于等于第一设定值。
在一些实施例中,在决策是否对广播消息进行延时时,除了考虑处理器运行负载还考虑电子设备的屏幕状态。电子设备的屏幕状态包括亮屏状态或者灭屏状态。在一些实施例中,当电子设备的屏幕为亮屏状态时,电子设备的系统消耗较高,若再通过广播消息拉起应用进程会增加电子设备发生卡顿的概率。因此本发明实施例可以在电子设备的处理器运行负载大于等于第一设定值且电子设备的屏幕为亮屏状态时,确定对广播消息进行延时。即,当处理器运行负载大于等于第一设定值且电子设备的屏幕为亮屏状态时,将广播消息添加至代理广播队列。可选的,当电子设备的处理器运行负载小于第一设定值或者电子设备的屏幕状态为灭屏状态时,不对广播消息进行延时。
在一些实施例中,延时决策模块对广播消息进行延时决策除了考虑系统负载之外,还可以考虑广播消息的广播参数。可选的,所述广播参数可以包含广播类型、广播消息的广播接收者、广播消息是否已经设置过延时广播。在一些实施例中,当广播消息的广播参数满足第一条件且电子设备的系统负载大于等于第一设定值时,再对广播消息延时。本发明实施例中,通过对广播消息的广播类型、广播接收者进行过滤可以避免对开机场景的必要广播、必要应用执行延时,由此保证电子设备的正常开机运行。在一些实施例中,在对广播消息进行延时决策时,还可以考虑广播消息在当前开机后是否已经设置过延时。如果广播消息在电子设备开机后的预设时间内已经设置过延时,则不对该广播消息再次执行延时。由此可以避免对同一广播消息进行多次延时,避免该广播消息的正常广播。基于上述考虑,广播消息的广播参数满足第一条件可以包括满足以下中的一项或多项的组合:广播消息为预设类型的广播消息、广播消息的广播接收者包含于预设白名单或者在当前开机完成后广播消息未进行过延时。
在一些实施例中,所述预设类型的广播消息可以在电子设备出厂时预定义。可选的,所述预设类型的广播消息可以支持用户自定义。在一些实施例中,所述预设类型的广播消息可以根据广播消息拉起的应用进程个数确定。例如,可以设置进程个数阈值,拉起应用进程的个数大于所述进程个数阈值的广播消息可以确定为预设类型的广播消息所述预设类型可以通过广播名称体现。在一个具体示例中,预设类型的广播消息例如为开机广播。
在一些实施例中,第一广播消息的广播接收者为位于应用程序层的应用。广播消息的广播接收者包含于预设白名单包括:待接收广播消息的应用包含于预设白名单。可选的,预设白名单包含的应用可以包含电子设备出厂时集成的应用,也可以包含用户在电子设备下载的第三方应用。可选的,预设白名单包含的应用可以为系统配置,或者也可以支持用户自定义配置。
参见图6,为本发明实施例提供的另一种广播方法的流程图。如图6所示,所述方法包括:
401,延时决策模块检测到AMS分发开机广播时,延时决策模块启动第一定时器。
402,延时决策模块确定开机广播的广播参数是否满足第一条件。若满足,则执行步骤403。若不满足,则执行步骤407。
403,延时决策模块获取电子设备在当前时间t1的第一处理器运行负载。
404,延时决策模块确定第一处理器运行负载是否大于等于第一设定值。若是,则执行步骤405;若否,则执行步骤407。
405,延时决策模块确定电子设备的屏幕状态是否为亮屏状态;若是,则执行步骤406。若否,则执行步骤407。
406,延时决策模块将开机广播添加至代理广播队列。添加至代理广播队列的开机广播暂不广播至应用程序层的应用。开机广播位于代理广播队列的时长可以表示开机广播的延时时长。添加至代理广播队列的开机广播在合适的时机广播至应用程序层的应用。参见图7将具体描述如何将代理广播队列中的开机广播发送至应用程序层的应用。
407,延时决策模块通知AMS将开机广播广播至应用程序层的应用。
408,延时决策模块判断第一定时器的定时时长是否大于等于预设时间。若是,方法结束。若否,则执行步骤409。所述预设时间可以根据实际需要设置,如电子设备开机完成后的5分钟、6分钟、7分钟或者其它可能的时间内。
409,延时决策模块确定原生广播队列是否还存在未分发的广播消息;若存在,则执行步骤410;若不存在,则方法结束。可选的,延时决策模块可以根据原生广播队列设置的第一标记位确定原生广播队列是否还在未分发的广播消息。可选的,原生广播队列中未分发的广播消息是指未进行过首次分发的广播消息。如果一个广播消息如果已经执行过分发,但由于需要延时添加至代理广播队列。当该广播消息从代理广播消息取出并再次添加至原生广播队列执行分发时,该广播消息是已经分发过的广播消息,不是未分发的广播消息。
410,延时决策模块检测AMS对原生广播队列的下一个广播消息的分发操作。此处将下一个广播消息称为第一广播消息。
411,延时决策模块执行对第一广播消息的延时决策。具体的,第一广播消息的延时决策过程可以参见开机广播的延时决策过程,如步骤402-407所示。之后跳转到步骤408,直至第一定时器的定时时长大于等于预设时间或者原生广播队列的广播消息分发完毕。
图6所示实施例方法,在对广播消息进行延时决策时综合考虑了广播消息的广播参数和电子设备的系统负载,由此可以更合理地对广播消息进行延时决策,避免对电子设备开机所必要的广播消息进行延时,影响电子设备的正常开机运行。
在一些实施例中,延时决策模块将需要延时的广播消息添加至代理广播队列。广播消息位于代理广播队列的时间表示该广播消息的延时时间。延时决策模块根据广播消息的延时时间并结合电子设备的负载状态,对代理广播队列中的广播消息进行广播。在一些实施例中,代理广播队列关联有定时机制,该定时机制可以周期性地触发延时决策模块对代理广播队列的广播消息进行尝试解代理。可选的,该定时机制可以案子第二时间步长周期性地向延时决策模块发送定时消息。例如,每隔2s延时决策模块接收到一次定时消息。
在一些实施例中,假设代理广播队列仅包括开机广播。参见图7,为本发明实施例提供的一种对代理广播队列的开机广播进行解代理的流程图。如图7所示,延时决策模块对代理广播队列的开机广播进行尝试解代理包括:
501,延时决策模块接收到与代理广播队列关联的定时消息。
502,延时决策模块获取位于代理广播队列的开机广播的延时时长。可选的,开机广播的延时时长=当前时间t2-开机广播添加至代理广播队列的时间。
503,延时决策模块确定开机广播的延时时长是否大于等于延时阈值;若是,则执行507;若否,则执行步骤504。
504,延时决策模块获取当前时间t2的第二处理器运行负载。
505,延时决策模块判断第二处理器运行负载是否小于等于第二设定值。若是,则执行步骤506。若否,则等待与代理广播队列关联的下一个定时消息并跳转至步骤501。
506,延时决策模块将代理广播队列中的开机广播提供给AMS。AMS将开机广播广播至应用程序层的目标应用。
在一些实施例中,延时决策模块将代理广播队列的开机广播提供给AMS包括:延时决策模块将代理广播队列的开机广播复制到原生广播队列,并删除代理广播队列的开机广播。可选的,复制的开机广播添加至原生广播队列的队尾。AMS对原生广播队列的开机广播再次执行分发并广播至应用程序层的应用。开机广播再次分发时,不再进行延时。
图7所示实施例方法,可以根据开机广播的延时时长和经过延时时长后的系统负载决策是否将开机广播广播至应用程序层的应用。
在一些实施例中,假设代理广播队列从队首至队尾分别包括开机广播、第一广播消息……第N广播消息。N的取值根据实际情况确定。N大于等于1。
则延时决策模块按照图7的步骤501-507将开机广播发送给应用程序层的应用之后,延时决策模块可以继续对第一广播消息……第N广播消息执行尝试解代理。具体包括:
在一些实施例,延时决策模块将开机广播提供给AMS之后,延时决策模块等待与代理广播队列关联的下一个定时消息并跳转至步骤501。延时决策模块按照步骤501-507对第一广播消息进行尝试解代理直至将第一广播消息提供给AMS进行广播。之后延时决策模块再按照此方式将第二广播消息……第N广播消息逐个提供给AMS进行广播,直至代理广播队列为空。
在一些实施例中,延时决策模块将开机广播提供给AMS之后,延时决策模块直接将代理广播队列的第一广播消息、第二广播消息……逐个提供给AMS,直至再次接收到定时消息。假设延时决策模块将第五广播消息提供给AMS后,延时决策模块再次接收到定时消息。AMS再次接收到定时消息时,重新按照步骤501-507将第六广播消息提供给AMS,按照此方式将代理广播队列的广播消息提供给AMS直至代理广播队列为空。
在一些实施例中,延时决策模块根据图7的判断逻辑将开机广播提供给AMS时,距离电子设备开机的时间已经超过预设时间或者电子设备的系统负载已经回落到较低值。此时,延时决策模块不再按照图7的逻辑对代理广播队列的其它广播消息进行判断。延时决策模块可以直接将代理广播队列的第一广播消息、第二广播消息……第N广播消息逐个提供给AMS,直至代理广播队列为空。
图7所示实施例在决策是否将代理广播队列的广播消息广播给应用程序层的应用时,考虑了广播消息的延时时长以及经过延时时长后的系统负载。在一些实施例中,在对代理广播队列的广播消息进行广播决策时,还可以考虑电子设备的屏幕状态是亮屏状态还是灭屏状态。当屏幕状态为亮屏状态时,还可以考虑是否检测到作用于屏幕的操作动作等因素。具体可以参见图8-图9的相关说明。
在一些实施例中,根据延时决策模块实现的功能,将延时决策模块划分为入代理决策模块和解代理模块。参见图8,为本发明实施例提供的又一种广播方法的示意图。如图8所示,延时广播服务包括负载监控模块、入代理决策模块和解代理决策模块。
可选的,负载监控模块用于周期性地检测电子设备的系统负载,具体可以参见图3的相关说明。
可选的,入代理决策模块用于对原生广播队列的广播消息进行延时决策。可选的,对广播消息进行延时决策也可以称为入代理决策。入代理决策的具体策略可以包括:(1)广播消息为预设类型的广播消息。例如广播消息为开机广播。又例如广播消息为开机广播或者应用组件启用广播或者其它预设类型的广播。(2)广播消息的广播接收者包含于预设白名单。(3)电子设备的处理器运行负载大于等于第一设定值。(4)电子设备的屏幕状态为亮屏状态。当电子设备的屏幕状态为亮屏状态时,电子设备具有亮屏开销会增加电子设备的系统负载。而且电子设备处于亮屏状态时,用户可能会对设备屏幕进行操作,会增加电子设备的响应开销,由此会进一步推高电子设备的系统负载。(5)在电子设备开机后至当前时间广播消息未进行过延时。当满足上述(1)-(5)时,确定广播消息满足入代理条件。入代理决策模块将广播消息加入代理广播队列。
在一些实施例中,入代理决策模块将广播消息加入代理广播队列包括:根据需要入代理的广播消息的参数新建一个广播消息,新建的广播消息与原广播消息完全相同。将新建的广播消息加入代理广播队列。可选的,将新建的广播消息加入代理广播队列的队尾。可选的,将新建的广播消息加入代理广播队列后,将原生代理广播队列的相应广播消息删除。
可选的,解代理决策模块用于对代理广播队列中的广播消息进行解代理决策。可选的,所述解代理决策用于决策是否将代理广播队列中的广播消息重新加入到原生广播队列并广播至应用程序层。在一些实施例中,解代理决策的具体策略包括:(1)广播消息的延时时长大于等于延时阈值。在一些实施例中,延时阈值可以根据需要设置,当广播消息的延时时长大于等于延时阈值时说明该广播消息的延时时间已经较长,此时可以对广播消息解代理。(2)电子设备的屏幕状态为灭屏状态。在一些实施例中,广播消息经过了一定延时,延时时间可能还未达到延时阈值,但电子设备的屏幕状态为灭屏状态,说明电子设备没有亮屏开销且在灭屏状态无需响应用户的操作。此时可以对广播消息解代理。(3)广播消息的延时时长小于延时阈值、电子设备的屏幕状态为亮屏状态、处理器运行负载小于第二设定值。在一些实施例中,广播消息的延时时长未达到延时阈值且屏幕为亮屏状态,如果此时处理器运行负载较低,也可以对广播消息进行解代理。在一些实施例中,当电子设备处于亮屏状态时,用户可能会对设备屏幕进行操作。如果用户对设备屏幕有操作,电子设备为了响应用户的操作动作会增加电子设备的系统负载,此时对广播消息执行解代理会推高电子设备的系统负载。因此当电子设备处于亮屏状态且检测到作用于电子设备屏幕的操作动作时,不对代理广播队列的广播消息尝试解代理。此时解代理条件(3)也可以为:广播消息的延时时长小于延时阈值、电子设备的屏幕状态为亮屏状态且未检测到作用于屏幕的操作动作、处理器运行负载小于第二设定值。电子设备满足该(1)-(3)中的任一项时,确定对代理广播队列中的广播消息进行解代理。
如图8所示,负载监控模块、入代理决策模块和解代理决策模块执行本发明实施例的广播方法包括:
31,AMS对原生广播队列中的广播消息逐个分发。例如,AMS当前对开机广播执行分发。32,负载监控模周期性地检测电子设备的系统负载。负载监控模块用于向入代理决策模块和出代理决策模块提供电子设备的系统负载。具体可以参见图3,此处不再赘述。33,入代理决策模块根据入代理决策确定是否对AMS当前分发的广播消息进行延时。例如,AMS当前分发的是开机广播,则入代理决策模块判断是否对开机广播进行延时。34,入代理决策模块确定对开机广播延时,则将开机广播添加至代理广播队列。代理广播队列用于存储需要延时的广播消息。广播消息处于代理广播队列的时间表示该广播消息的延时时间。入代理决策模块对开机广播进行延时决策后,继续监听AMS对下一个广播消息的分发。入代理决策模块对AMS分发的下一个广播消息进行延时决策。35,解代理决策模块根据开机广播的延时时长和经过延时时长后的当前系统负载进行解代理决策。36,解代理决策模块确定对代理广播队列中的开机广播进行解代理,则解代理模块将解代理广播队列中的开机广播加入至原生广播队列。37,AMS将原生广播队列中的开机广播发送给应用程序层的应用,以启动应用进程。如果代理广播队列还包括其它广播消息,则解代理决策模块继续按照此方式对代理广播队列的其它广播消息进行解代理。
参见图9,为本发明实施例提供的另一种广播方法的流程图。如图9所示,该方法的执行主体为延时广播服务,处理步骤包括:
步骤600,AMS对原生广播队列的广播消息进行分发时,判断当前分发的广播消息是否为开机广播。若当前分发的广播消息为开机广播,则执行步骤602;若当前分发的广播消息不是开机广播,则执行步骤601。可选的,AMS对广播消息进行分发包括:AMS创建等候队列。AMS将原生广播队列待分发的广播消息添加至等候队列,并删除原生广播队列的广播消息。AMS对开机广播执行分发包括:AMS将开机广播添加至等候队列,并删除原生广播队列的开机广播。
步骤601,AMS正常将当前广播消息广播至应用程序层。即当前广播消息无需进行延时。
步骤602,判断负载监控模块是否已经开始计算处理器运行负载;若否,则通知负载监控模块启动进行处理器运行负载的计算;若是,则继续执行步骤603。步骤602可以仅在AMS首次分发广播消息时执行。
步骤603,判断电子设备的屏幕状态是否为亮屏状态。若为亮屏状态,执行步骤604;若为灭屏状态,则返回步骤601。
步骤604,判断开机广播的广播接收者是否包含于预设白名单。若包含于预设白名单,则执行步骤605;若未包含于预设白名单,则返回步骤601。
步骤605,判断开机广播是否已经被代理过。若是,则返回步骤601。若否,则执行步骤606。在一些实施例中,开机广播设置有第二标记位。根据第二标记位可以确定开机广播是否被代理过。例如,第二标记位为flag标记位。若开机广播的flag标记位为非0,表示开机广播已被代理过。若开机广播的flag标记位为0,表示开机广播未被代理过。
步骤606,判断电子设备当前时间t1的处理器运行负载是否大于等于第一设定值,如0.8。若是,则执行步骤607;若否,则返回步骤601。可选的,延时广播服务可以通过负载监控模块获取处理器运行负载。
步骤607,将开机广播添加至代理广播队列的队尾。记录开机广播添加至代理广播队列的时间。将开机广播的第二标记位设置为已经被代理过。例如,将开机广播的flag标记位设置为非0。可选的,代理广播队列关联有定时机制。该定时机制可以周期性地向延时决策模块发送定时消息。所述定时消息的发送周期例如可以为2秒。
步骤608,回收开机广播的广播资源。包括:将开机广播在等待队列被删除、释放分配给开机广播的广播资源等。AMS开始分发原生广播队列的下一个广播消息。延时广播服务跳回到步骤600继续对AMS分发的下一个广播消息进行入代理决策。
步骤609,接收到定时消息,判断代理广播队列是否为空。所述定时消息为周期性发送,如每2秒触发一次定时消息。若不为空,则执行步骤610。若为空,则确定代理广播队列的所有广播消息已经全部解代理,取消定时机制关联的定时消息且取消负载监控模块执行负载计算。该方法结束。
步骤610,确定位于代理广播队列队首的广播消息的延时时长。若该延时时长大于等于延时阈值(如30s),则对当前位于代理队列队首的广播消息解代理,并再次执行步骤610。若延时时长小于延时阈值,则执行步骤611。
假设当前位于代理广播队列队首的广播消息为开机广播。则计算开机广播的延时时长=当前时间减去开机广播入代理时间。若该延时时长大于等于延时阈值(如30s),则对开机广播解代理,并再次执行步骤610。可选的,对开机广播解代理包括:将代理广播队列的开机广播添加至原生广播队列的队尾,并将代理广播队列的开机广播删除。其中,位于原生广播队列的开机广播再次进入AMS的分发流程。此处不再赘述。
步骤611,判断电子设备当前是否为灭屏状态。若为灭屏状态,则对位于代理广播队列队首的广播消息解代理,并跳转到步骤610。若电子设备当前为亮屏状态,则执行步骤612。
步骤612,判断是否检测到作用于电子设备屏幕的操作动作。如点击、滑动等动作。点击、滑动等动作会导致电子设备的画面绘制变化,对电子设备的处理性能要求较高。因此若在亮屏状态检测到对电子设备屏幕的点击、滑动等动作则不对队首的广播消息进行解代理,并等待接收下一个定时消息,且接收到下一个定时消息时执行步骤609再次尝试解代理。若未检测到作用于电子设备屏幕的操作动作,则执行步骤613。
步骤613,判断电子设备当前时间t2的处理器运行负载是否大于第二设定值(如0.6)。若大于第二设定值,则不对代理队列队首的广播消息进行解代理,并等待接收下一个定时消息并执行步骤609。若电子设备当前的处理器运行负载小于或者等于第二设定值,则对代理广播队列队首的广播消息执行解代理。并等待接收下一个定时消息,且接收到下一个定时消息时跳转到步骤609。
图9所示实施例方法详细描述了对开机广播的入代理和解代理过程。当将开机广播加入代理广播队列后,代理广播队列可能只包含开机广播该一个广播消息。可选的,代理广播队列也可以包含若干因为其它原因进行延时的广播消息,当确定对开机广播延时后,将开机广播添加至该代理广播队列的队尾。该代理广播队列中各个广播消息的解代理过程可以参见步骤609-613。
图9所示实施例方法仅对开机广播进行延时决策。在一些实施例中,延时广播服务可以支持对多种类型的广播消息进行延时决策,如支持对A、B和C类型的广播消息进行延时决策。相应的,步骤600可以修改为:判断当前分发的广播消息是否为A、B或者C类型的广播消息。之后,延时广播服务可以按照步骤600-608对原生广播队列的各个广播消息逐个进行入代理决策。添加至代理广播队列中的各个广播消息则可以按照步骤609-613逐个进行解代理。
参见图10,为本发明实施例提供的一种电子设备的结构示意图。如图10所示,电子设备100可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,SIM)卡接口195等。其中传感器模块180可以包括压力传感器、陀螺仪传感器、气压传感器、磁传感器、加速度传感器、距离传感器、接近光传感器、指纹传感器、温度传感器、触摸传感器、环境光传感器或者骨传导传感器等。
可以理解的是,本发明实施例示意的结构并不构成对电子设备100的具体限定。在本申请另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
在一些实施例中,外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
在一些实施例中,内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备100使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。处理器110通过运行存储在内部存储器121的指令,和/或存储在设置于处理器中的存储器的指令,执行电子设备100的各种功能应用以及数据处理。在本发明实施例中,处理器110通过运行存储在内部存储器121的指令,和/或存储在设置于处理器中的存储器的指令可以实现本发明实施例的广播方法。
本发明实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当该指令在计算机上运行时,使得计算机执行上述广播方法。
本发明实施例还提供了一种包含指令的计算机程序产品,当该计算机程序产品在计算机或任一至少一种处理器上运行时,使得计算机执行上述广播方法的各个步骤。
本发明实施例还提供一种芯片,包括处理器与数据接口,所述处理器通过所述数据接口读取存储器上存储的指令,以执行上述广播方法的相应操作和/或流程。
可选地,该芯片还包括存储器,该存储器与该处理器通过电路或电线与存储器连接,处理器用于读取并执行该存储器中的计算机程序。进一步可选地,该芯片还包括通信接口,处理器与该通信接口连接。通信接口用于接收需要处理的数据和/或信息,处理器从该通信接口获取该数据和/或信息,并对该数据和/或信息进行处理。该通信接口可以是输入输出接口。
存储器可以是只读存储器(read-only memory,ROM)、可存储静态信息和指令的其它类型的静态存储设备、随机存取存储器(random access memory,RAM)或可存储信息和指令的其它类型的动态存储设备,也可以是电可擦可编程只读存储器(electricallyerasable programmable read-only memory,EEPROM)、只读光盘(compact disc read-only memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其它磁存储设备,或者还可以是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其它介质等。
本申请实施例提供的电子设备、计算机存储介质或计算机程序产品均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
本申请实施例中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示单独存在A、同时存在A和B、单独存在B的情况。其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项”及其类似表达,是指的这些项中的任意组合,包括单项或复数项的任意组合。例如,a,b和c中的至少一项可以表示:a,b,c,a和b,a和c,b和c或a和b和c,其中a,b,c可以是单个,也可以是多个。
本领域普通技术人员可以意识到,本文中公开的实施例中描述的各单元及算法步骤,能够以电子硬件、计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,任一功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。本申请的保护范围应以所述权利要求的保护范围为准。
Claims (15)
1.一种广播方法,其特征在于,包括:
当电子设备获取到开机广播时,判断所述电子设备的第一系统负载是否大于等于第一设定值;
若所述第一系统负载大于等于所述第一设定值,则将所述开机广播添加至代理广播队列;
当所述开机广播在所述代理广播队列中停留第一时长后,将所述开机广播发送给第一应用,以启动所述第一应用的进程。
2.根据权利要求1所述的方法,其特征在于,所述第一系统负载包括第一处理器运行负载或者电子设备的屏幕状态;
所述第一系统负载大于等于所述第一设定值,包括:
所述第一处理器运行负载大于等于所述第一设定值;或者,
所述第一处理器运行负载大于等于所述第一设定值且所述电子设备的屏幕状态为亮屏状态。
3.根据权利要求1或2所述的方法,其特征在于,所述将所述开机广播添加至代理广播队列之前,所述方法还包括:
判断所述开机广播的广播参数是否满足第一条件;
其中,若所述开机广播的广播参数满足所述第一条件,且所述第一系统负载大于等于所述第一设定值,则将所述开机广播添加至代理广播队列。
4.根据权利要求3所述的方法,其特征在于,所述第一条件包括以下中的一项或多项的组合:
广播消息类型为预设类型;
广播消息的广播接收者包含于预设白名单;
广播消息在电子设备当前开机后未进行过延时。
5.根据权利要求1至4任一项所述的方法,其特征在于,所述将所述开机广播添加至代理广播队列之后,所述方法还包括:
在获取到所述开机广播后的预设时间内,若还检测到第一广播消息,则获取电子设备的第二系统负载;
判断所述第二系统负载是否大于等于所述第一设定值;
若所述第二系统负载大于等于所述第一设定值,则将所述第一广播消息添加至所述代理广播队列的队尾。
6.根据权利要求1所述的方法,其特征在于,所述电子设备设置有负载监控模块,所述负载监控模块用于按照第一时间步长周期性地检测电子设备的系统负载;所述当电子设备获取到开机广播时,所述方法还包括:
从所述负载监控模块获取距离当前时间最近的检测周期的系统负载作为所述第一系统负载。
7.根据权利要求1至6任一项所述的方法,其特征在于,所述当所述开机广播在所述代理广播队列中停留第一时长后,将所述开机广播发送给第一应用,包括:
若所述第一时长大于等于延时阈值或者经过所述第一时长后电子设备的第三系统负载小于等于第二设定值,则将所述开机广播发送给第一应用。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
若所述第一时长小于所述延时阈值,并且经过所述第一时长后所述电子设备的第三系统负载大于所述第二设定值,则所述开机广播继续停留在所述代理广播队列;并且,
更新所述第一时长以及更新所述第三系统负载;
根据更新后的所述第一时长或者更新后的所述第三系统负载,判断是否将所述开机广播发送给第一应用。
9.根据权利要求7或8所述的方法,其特征在于,所述第三系统负载包括第二处理器运行负载、电子设备的屏幕状态或者作用于电子设备屏幕的操作动作;
所述第三系统负载小于等于第二设定值,包括:
所述第二处理器运行负载小于等于所述第二设定值;或者,
所述电子设备的屏幕状态为灭屏状态;或者,
所述电子设备的屏幕状态为亮屏状态且所述第二处理器运行负载小于等于所述第二设定值;或者,
所述电子设备的屏幕状态为亮屏状态、未检测到作用于所述电子设备屏幕的操作动作且所述第二处理器运行负载小于等于所述第二设定值。
10.根据权利要求1-9任一项所述的方法,其特征在于,所述代理广播队列关联有定时机制,所述定时机制用于按照第二时间步长周期性地触发定时消息;所述方法还包括:
当接收到所述定时机制触发的定时消息时,计算所述开机广播在所述代理广播队列停留的所述第一时长。
11.根据权利要求10所述的方法,其特征在于,所述将所述开机广播发送给第一应用之后,所述代理广播队列还包括第一广播消息、第二广播消息……第N广播消息,所述方法还包括:
将所述第一广播消息、所述第二广播消息……第X广播消息逐个发送给待接收相应广播消息的应用直至接收到所述定时机制的下一个定时消息,X小于N;
响应于所述下一个定时消息,根据第X+1广播消息在所述代理广播队列停留的第一时长将所述第X+1广播消息发送给待接收所述第X+1广播消息的应用。
12.根据权利要求1至11任一项所述的方法,其特征在于,所述将所述开机广播添加至代理广播队列,包括:
根据开机广播的广播参数,复制AMS维护的广播队列中的开机广播;
将复制的所述开机广播添加至所述代理广播队列并删除AMS维护的广播队列中的开机广播。
13.根据权利要求1至11任一项所述的方法,其特征在于,所述将所述开机广播发送给第一应用,包括:
根据所述开机广播的广播参数,复制所述代理广播队列的所述开机广播;
将复制的所述开机广播添加至AMS维护的广播队列,并将所述代理广播队列的所述开机广播删除,所述AMS用于将所述开机广播发送给第一应用。
14.一种电子设备,其特征在于,包括:所述电子设备包括用于存储程序指令的存储器和用于执行所述程序指令的处理器,其中,当所述程序指令被所述处理器执行时,触发所述电子设备执行如上述权利要求1-13任一项所述的方法。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,当其在电子设备上运行时,使得电子设备执行如上述权利要求1-13任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211168258.3A CN116701008B (zh) | 2022-09-23 | 2022-09-23 | 广播方法和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211168258.3A CN116701008B (zh) | 2022-09-23 | 2022-09-23 | 广播方法和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116701008A true CN116701008A (zh) | 2023-09-05 |
CN116701008B CN116701008B (zh) | 2024-08-13 |
Family
ID=87831744
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211168258.3A Active CN116701008B (zh) | 2022-09-23 | 2022-09-23 | 广播方法和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116701008B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106851015A (zh) * | 2017-03-10 | 2017-06-13 | 广东欧珀移动通信有限公司 | 调整广播消息队列的方法、装置及终端 |
CN106874131A (zh) * | 2017-03-10 | 2017-06-20 | 广东欧珀移动通信有限公司 | 广播队列调整方法、装置和终端设备 |
CN106921947A (zh) * | 2017-03-10 | 2017-07-04 | 广东欧珀移动通信有限公司 | 调整广播消息队列的方法、装置及终端 |
CN108011860A (zh) * | 2016-10-28 | 2018-05-08 | 华为技术有限公司 | 一种处理广播消息的方法及装置 |
WO2018161589A1 (zh) * | 2017-03-10 | 2018-09-13 | 广东欧珀移动通信有限公司 | 控制广播发送的方法、装置、存储介质及电子设备 |
CN109412821A (zh) * | 2017-08-16 | 2019-03-01 | 阿里巴巴集团控股有限公司 | 消息处理方法和装置以及电子设备 |
CN110633161A (zh) * | 2019-09-19 | 2019-12-31 | 北京安云世纪科技有限公司 | 一种广播的处理方法及装置 |
CN111611028A (zh) * | 2020-05-28 | 2020-09-01 | 湖北亿咖通科技有限公司 | 车载信息娱乐系统的应用程序的启动方法及电子设备 |
CN112579317A (zh) * | 2019-09-29 | 2021-03-30 | 北京安云世纪科技有限公司 | 一种系统广播消息的处理方法及系统 |
-
2022
- 2022-09-23 CN CN202211168258.3A patent/CN116701008B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108011860A (zh) * | 2016-10-28 | 2018-05-08 | 华为技术有限公司 | 一种处理广播消息的方法及装置 |
CN106851015A (zh) * | 2017-03-10 | 2017-06-13 | 广东欧珀移动通信有限公司 | 调整广播消息队列的方法、装置及终端 |
CN106874131A (zh) * | 2017-03-10 | 2017-06-20 | 广东欧珀移动通信有限公司 | 广播队列调整方法、装置和终端设备 |
CN106921947A (zh) * | 2017-03-10 | 2017-07-04 | 广东欧珀移动通信有限公司 | 调整广播消息队列的方法、装置及终端 |
WO2018161969A1 (zh) * | 2017-03-10 | 2018-09-13 | 广东欧珀移动通信有限公司 | 广播队列调整方法、装置和终端设备 |
WO2018161589A1 (zh) * | 2017-03-10 | 2018-09-13 | 广东欧珀移动通信有限公司 | 控制广播发送的方法、装置、存储介质及电子设备 |
CN109412821A (zh) * | 2017-08-16 | 2019-03-01 | 阿里巴巴集团控股有限公司 | 消息处理方法和装置以及电子设备 |
CN110633161A (zh) * | 2019-09-19 | 2019-12-31 | 北京安云世纪科技有限公司 | 一种广播的处理方法及装置 |
CN112579317A (zh) * | 2019-09-29 | 2021-03-30 | 北京安云世纪科技有限公司 | 一种系统广播消息的处理方法及系统 |
CN111611028A (zh) * | 2020-05-28 | 2020-09-01 | 湖北亿咖通科技有限公司 | 车载信息娱乐系统的应用程序的启动方法及电子设备 |
Non-Patent Citations (2)
Title |
---|
程春玲;崔国亮;隋宗见;: "基于广播SNMP的网络管理并行轮询算法", 计算机应用研究, no. 12 * |
程春玲;崔国亮;隋宗见;: "基于广播SNMP的网络管理并行轮询算法", 计算机应用研究, no. 12, 15 December 2010 (2010-12-15) * |
Also Published As
Publication number | Publication date |
---|---|
CN116701008B (zh) | 2024-08-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10178200B2 (en) | Dynamic adjustment of mobile device based on peer event data | |
CN107402790B (zh) | 应用程序的启动方法、装置、存储介质和终端 | |
US9462965B2 (en) | Dynamic adjustment of mobile device based on system events | |
US10491535B2 (en) | Adaptive data synchronization | |
US9432839B2 (en) | Dynamic adjustment of mobile device based on thermal conditions | |
CN110083444B (zh) | 一种任务管理方法及设备 | |
US9465679B2 (en) | Dynamic adjustment of mobile device based on adaptive prediction of system events | |
US9813990B2 (en) | Dynamic adjustment of mobile device based on voter feedback | |
KR102219015B1 (ko) | 네트워크 이용을 개선하기 위한 네트워크 지원 프로토콜 사용 | |
CN112740638B (zh) | 分组数据单元(pdu)会话控制方法和设备 | |
CN115562744B (zh) | 一种应用程序加载方法及电子设备 | |
CN113422935B (zh) | 视频流处理方法、装置及系统 | |
CN107493312B (zh) | 一种服务调用方法及装置 | |
CN116701008B (zh) | 广播方法和设备 | |
CN112245906B (zh) | 数据同步方法、装置、电子设备及存储介质 | |
CN110134655A (zh) | 一种资源管理方法、装置和设备 | |
CN112860439A (zh) | 应用启动方法、装置、终端及存储介质 | |
CN115858414B (zh) | 基于中断和缓冲区的spi数据传输方法、系统和控制器 | |
CN117389711B (zh) | 终端资源的调度方法、装置、终端及计算机可读存储介质 | |
CN108848310B (zh) | 移动终端及其闹钟的控制方法、存储介质 | |
CN115002797B (zh) | 一种网络质量的检测方法及相关电子设备 | |
CN117744077A (zh) | 应用程序处理方法、装置以及电子设备 | |
CN113975795A (zh) | 一种数据处理方法、装置、计算机设备以及存储介质 | |
CN115167990A (zh) | 应用程序控制方法、装置以及电子设备 | |
CN117992251A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |