一种控制广播发送的方法、装置及移动终端与流程

文档序号:12829181阅读:225来源:国知局
一种控制广播发送的方法、装置及移动终端与流程

本发明实施例涉及电子设备应用技术,尤其涉及一种控制广播发送的方法、装置及移动终端。



背景技术:

在android系统中,广播是一种广泛运用在应用程序之间传输信息的机制。由于广播机制是一种消息订阅/发布机制,即在广播消息发送之前,各个应用可以针对自己感兴趣的广播消息进行订阅,当订阅的广播消息经系统发布时,已经订阅该广播的应用就会接收到该广播消息,并根据接收到的广播消息,做出响应。

然而,随着技术的发展,各种功能的应用逐渐增多,对于同一广播消息订阅的接收者也越来越多。由于过多应用对广播的接收需要占用广播接收者队列,致使对广播消息的响应滞后,影响应用程序对广播消息的响应时间。



技术实现要素:

本发明实施例提供一种控制广播发送的方法、装置及移动终端,可以提高应用程序对于广播消息的响应速度。

第一方面,本发明实施例提供了一种控制广播发送的方法,包括:

获取与待发送的广播消息对应的接收者队列;

根据所述接收者队列中接收者的优先级和预设优先级确定目标接收者;

向所述目标接收者发送所述广播消息。

第二方面,本发明实施例还提供了一种控制广播发送的装置,包括:

接收者队列获取模块,用于获取与待发送的广播消息对应的接收者队列;

目标接收者确定模块,用于根据所述接收者队列中接收者的优先级和预设优先级确定目标接收者;

广播消息发送模块,用于向所述目标接收者发送所述广播消息。

第三方面,本发明实施例还提供了一种移动终端,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:

获取与待发送的广播消息对应的接收者队列;

根据所述接收者队列中接收者的优先级和预设优先级确定目标接收者;

向所述目标接收者发送所述广播消息。

本发明实施例通过确定待发送的广播消息接收者的优先级以及预设优先级,根据接收者的优先级以及预设优先级的关系确定目标接收者,然后向目标接收者发送广播消息,解决了现有技术中由于过多应用对广播的接收需要占用广播接收者队列,致使对广播消息的响应滞后,影响应用程序对广播消息的响应时间的问题,可以提高应用程序对于广播消息的响应速度。

附图说明

图1是本发明实施例提供的一种控制广播发送的方法的流程图;

图2为本发明实施例提供的一种控制广播发送的方法的流程图;

图3为本发明实施例提供的一种控制广播发送的方法的流程图;

图4为本发明实施例提供的一种控制广播发送的方法的流程图;

图5为本发明实施例提供的一种控制广播发送的方法的流程图;

图6为本发明实施例提供的一种控制广播发送的装置的结构示意图;

图7为本发明实施例提供的一种移动终端的结构示意图。

具体实施方式

下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。

图1为本发明实施例提供的一种控制广播发送的方法的流程图,本实施例可适用于广播消息发送的情况,该方法可以由移动终端执行,移动终端可以为智能手机、平板电脑等,如图1所示,控制广播发送的方法具体包括如下步骤:

s110、获取与待发送的广播消息对应的接收者队列。

广播消息包括系统广播消息和第三方广播消息。其中,系统广播消息包括例如时间更新广播消息、亮屏广播消息、灭屏广播消息、网络切换广播消息等等。第三方广播消息是由第三方应用程序发布的广播消息,如某一应用程序进入到某一界面时会向广播管理模块发布一条广播消息,以实现该应用程序在该界面下与其他应用程序实现信息交换或者其他功能。

广播机制是一种消息订阅/发布机制,在广播消息由系统应用程序或者第三方应用程序发布之前,所有应用程序会针对自己感兴趣的广播进行订阅。例如,针对网络切换广播消息,可能有50个应用程序对其进行订阅,则系统发布网络切换广播消息时,可以先将广播消息发布至广播管理模块,广播管理模块可以根据该广播消息得到订阅该广播消息的应用程序,这样就可以将系统发布的网络切换广播消息作为待发送的广播消息,将订阅该广播消息的应用程序作为接收者,并将接收者以队列的形式体现。

其中,接收者队列的获取方式包含多种。可选的,根据在广播管理模块中对广播消息订阅的应用程序。可选的,还可以是通过提供用户选择界面,根据用户选择的广播消息接收列表,该列表中可以包含允许接收广播消息的接收者。

s120、根据接收者队列中接收者的优先级和预设优先级确定目标接收者。

其中,接收者的优先级可以是系统针对广播机制自行定义的应用程序接收广播消息的优先级,所述优先级可以是以具体级别的形式来体现,例如a应用程序的优先级为10,b应用程序的优先级为15。接收者的优先级也可以是系统根据应用程序的其他数据参数的一种调用,如可以是调用系统进程回收优先级。系统进程回收优先级是指系统在cpu的使用率超过设定值时,优先回收的应用程序或者服务以释放cpu的使用率。

例如,在系统进程回收优先级中前台运行或者系统自身应用程序的优先级最低,前台运行应用程序可以是0,相应的,系统自身应用程序的优先级可以是负值,如-12,可视的应用程序的优先级可以是1,可感知的应用程序优先级可以是2,底层服务或者其他后台运行的优先级可以是更大的数值。在按照系统进程回收优先级进行回收时,优先可以选择回收优先级数值高于2的应用程序或服务,这样就可以保证终端在使用过程中能够正常运行。

在本发明实施例中,可以调用应用程序的系统进程回收优先级作为接收者的优先级。值得注意的是,本申请可以采用倒置的方式,将系统进程回收优先级高的应用程序或者服务倒置为接收者的优先级较低,则在预设优先级的确定上,可以相应的选择可感知应用程序的接收者的优先级,对于高于可感知应用程序的优先级的接收者作为目标接收者,对于接收者的优先级低于预设优先级的接收者,取消将广播消息对其的发送,可以采用将其在接收者队列中删除的方式,这样就可以避免其占用接收者队列进程,影响其他接收者接收到广播消息以及做出响应的时间。

值得说明的是,在不同的时间,由于系统运行状态的不同,接收者的优先级也是不同的。例如,在第一时刻,应用程序a处于前台运行状态,所以针对广播消息a,接收者a的优先级是较高的,应用程序a是目标接收者。而在第二时刻,应用程序a可能处于后台运行的状态,则对于此时发送的广播消息a,其优先级可能低于可感知级别的优先级,所以可能对于此时的广播消息a,应用程序a不是目标接收者。

其中,目标接收者队列调整过程可以是在广播消息生成时,也可以在广播消息队列排队时,还可以在广播消息发送时,并且还可以在广播消息发送后。示例性的,如针对广播消息a,其接收者包括10个系统应用和10个第三方应用。即便是接收者的优先级会与系统的运行状态相关,但是由于系统应用以及部分第三方应用的优先级相对会在一个较为稳定的范围,所以对于广播消息a发送后可以为广播消息a的发布者再次发布广播消息a或者其他广播消息提供一个数据参考。

s130、向目标接收者发送广播消息。

在确定目标接收者之后,可以向目标接收者发送广播消息。广播消息可以由发布者发布至广播管理模块,再由广播管理模块根据确定的目标接收者队列向目标接收者发送。

本实施例的技术方案通过确定待发送的广播消息接收者的优先级以及预设优先级,根据接收者的优先级以及预设优先级的关系确定目标接收者,然后向目标接收者发送广播消息,解决了现有技术中由于过多应用对广播的接收需要占用广播接收者队列,致使接收者广播消息的响应滞后,影响应用程序对广播消息的响应时间的问题,可以提高应用程序对于广播消息的响应速度。

图2为本发明实施例提供的一种控制广播发送的方法的流程图,如图2所示,控制广播发送的方法具体包括如下步骤:

s210、获取与待发送的广播消息对应的接收者队列。

s220、根据接收者队列中接收者的优先级对接收者队列进行排序。

接收者队列中,接收者的优先级可能存在部分相同的情况。示例性的,接收者的优先级可以一共包含了20个等级,则系统应用接收者的优先级可能在18-20级,前台运行的接收者优先级可能在13-15级,后台运行的接收者的优先级可能在5-7级,可感知的应用接收者的优先级可能是在10级,则如果系统应用的接收者共有20个,则这20个应用程序的优先级可以在18-20级中,这就存在同一个优先级包含多个接收者的情况。

根据接收者的优先级对接收者队列进行排序,就可以按照优先级由大到小的顺序进行排序,对于同一优先级的接收者先后顺序可以不做限定。

s230、将排序结果中优先级大于预设优先级的接收者确定为目标接收者。

预设优先级可以是系统经过大数据统计之后进行设定的,也可以是在终端出厂前直接设定的,预设优先级可以是按照终端中的应用程序数量,或者按照终端中的每个广播消息的平均接收者数量进行设定。

结合上述示例,可以将可感知的应用接收者的优先级作为预设优先级,则优先级大于预设优先级的系统应用接收者、前台运行的接收者以及可感知级接收者等就可以作为目标接收者。由于接收者队列已经按照接收者的优先级进行了排序,则在接收者队里中只要找到第一个小于预设优先级的接收者,在其之前的就可以作为目标接收者。

值得说明的是,本发明实施例中,对于大于预设优先级的说法可以包含等于预设优先级的情况。

s240、向目标接收者发送广播消息。

本技术方案在上述技术方案的基础上,提供了一种对接收者队列进行排列以及在此基础上确定目标接收者队里的一种方法,本技术方案提供了更快捷的目标接收者的选择方式。提高了将广播消息发送至目标接收者的速度。

图3为本发明实施例提供的一种控制广播发送的方法的流程图,如图3所示,控制广播发送的方法具体包括如下步骤:

s310、获取与待发送的广播消息对应的接收者队列。

s320、获取接收者队列中接收者的数量。

待发送广播消息的接收者队列是由对该待发送广播消息订阅的应用程序构成的。例如,对于待发送广播消息a订阅的应用程序有100个,其中50个系统应用,50个第三方应用,则接收者队列中接收者的数量是100个。

s330、当接收者的数量超过设定阈值时,根据接收者队列中接收者的优先级和预设优先级确定目标接收者。

其中,设定阈值可以是终端出厂前设置好的,也可以是根据终端的运行情况进行设置的。结合上述示例,如果设定阈值为80,则对于待发送广播消息a的接收者数量100个超过了设定阈值,则根据接收者队列中接收者的优先级和预设优先级确定目标接收者。

s340、向目标接收者发送广播消息。

本技术方案在上述各技术方案的基础上,增加了对接收者队列中接收者数量的维度作为参考,即如果接收者数量超过设定阈值,则根据接收者队列的优先级和预设优先级确定目标接收者。这样设置的好处是在于避免了对于待发送广播消息的接收者数量过多而导致接收者无法及时的接收和响应该广播消息。

图4为本发明实施例提供的一种控制广播发送的方法的流程图,如图4所示,控制广播发送的方法具体包括如下步骤:

s410、获取与待发送的广播消息对应的接收者队列。

s420、获取具有相同优先级的多个接收者的用户操作记录。

应用程序的操作记录可以从系统的其他进程中进行调用,操作记录可以是对用户打开应用程序的先后顺序或者对用户关闭应用程序或者切换至后台运行的先后顺序的时间节点进行记录。

在获取接收者的优先级后,获取同一优先级的多个接收者的用户操作记录。

s430、基于用户操作记录对接收者的近期使用情况进行排序。

对于同一优先级的接收者按照近期使用情况进行排序,可以是按照优先级从高到低的顺序,每一优先级按照近期使用情况进行排序,可以是按照从最近使用的到长时间不使用的或者从未使用过的顺序。

s440、根据排序结果确定目标接收者。

根据排序结果确定目标接收者,可以是在根据预设优先级确定目标接收者的基础上,对于确定为目标接收者的最低优先级,按照近期使用情况进行排序的结果,对于近期使用情况排序结果靠后的接收者取消对其发送广播消息。也可以是在待发送的广播消息订阅的接收者数量较多时,对每个优先级的近期使用情况中靠前的接收者作为目标接收者,这样就可以保证近期使用的应用程序能够顺利接收到广播消息而且不会因为订阅广播消息的接收者数量过多导致不能够及时对广播消息做出响应。

s450、向目标接收者发送广播消息。

本技术方案在上述各技术方案的基础上,提供了按照近期使用情况对每个优先级的接收者进行排序的技术方案,本技术方案的有益效果在于可以使用户近期使用的应用程序能够尽快的接收到广播消息并及时做出响应。

在上述技术方案的基础上,可选的,所述获取具有相同优先级的多个接收者的用户操作记录可以包括:获取每个接收者的切换时间,切换时间为接收者由前台运行切换到后台运行时的时刻;计算所述切换时间与当前时间的时间差,时间差表示接收者的近期使用情况;相应的,基于用户操作对记录接收者的近期使用情况进行排序可以包括:根据时间差的数值大小顺序,对具有相同优先级的多个接收者进行排序。这样设置的好处在于给出了判断近期使用情况的数据依据,以应用程序由前台运行切换至后台运行的时刻作为数据基础,再根据切换时刻与当前时刻的差值,即为时间差,可以确定按照近期使用应用程序情况进行排序的先后顺序。同时,也可以对该时间差设定时间差阈值,用以判断应用程序的近期使用的情况,可以为确定目标广播接收者提供准确的参考信息。

图5为本发明实施例提供的一种控制广播发送的方法的流程图,如图5所示,控制广播发送的方法具体包括如下步骤:

s510、获取与待发送的广播消息对应的接收者队列。

s520、根据接收者队列中接收者的优先级和预设优先级确定目标接收者。

s530、将优先级小于预设优先级且近期被用户使用的接收者确定为目标接收者。

其中,近期被用户使用的接收者可以是用户较为感兴趣的应用程序或者用户的一种习惯运行并查看内容的应用程序。在确定优先级大于预设优先级的目标接收者之后,可以在优先级小于预设优先级的接收者中,获取其中近期被用户使用的接收者并确定为目标接收者。其中,近期被用户使用的接收者可以包括后台运行的应用程序,也可以近期被用户使用后又退出的应用程序。

s540、向目标接收者发送广播消息。

本技术方案提供了对于接收者优先级低于预设优先级中,可以作为目标接收者的一种提取方法,即可以按照用户最近使用情况对其进行选择。这样设置的好处在于可以保证用户近期使用的应用程序能够接收到广播消息并作出响应。

图6为本发明实施例提供的一种控制广播发送的装置的结构示意图,该装置可配置于移动终端中,如图6所示,该控制广播发送的装置包括:

接收者队列获取模块610,用于获取与待发送的广播消息对应的接收者队列;

目标接收者确定模块620,用于根据接收者队列中接收者的优先级和预设优先级确定目标接收者;

广播消息发送模块630,用于向目标接收者发送广播消息。

本实施例的技术方案通过确定待发送的广播消息接收者的优先级以及预设优先级,根据接收者的优先级以及预设优先级的关系确定目标接收者,然后向目标接收者发送广播消息,解决了现有技术中由于过多应用对广播的接收需要占用广播接收者队列,致使接收者广播消息的响应滞后,影响应用程序对广播消息的响应时间的问题,可以提高应用程序对于广播消息的响应速度。

在上述技术方案的基础上,所述目标接收者确定模块620包括:

接收者队列排序单元,用于根据所述接收者队列中接收者的优先级对所述接收者队列进行排序;

第一目标接收者确定单元,用于将排序结果中优先级大于预设优先级的接收者确定为目标接收者。

在上述技术方案的基础上,所述目标接收者确定模块620包括:

接收者数量获取单元,用于获取所述接收者队列中接收者的数量;

第二目标接收者确定单元,用于当所述接收者的数量超过设定阈值时,根据所述接收者队列中接收者的优先级和预设优先级确定目标接收者。

在上述技术方案的基础上,所述目标接收者确定模块620包括:

用户操作记录获取单元,用于获取具有相同优先级的多个接收者的用户操作记录;

相同优先级接收者排序单元,用于基于所述用户操作记录对接收者的近期使用情况进行排序;

第三目标接收者确定单元,用于根据排序结果确定目标接收者。

在上述技术方案的基础上,所述用户操作记录获取单元包括:

切换时间获取子单元,用于获取每个接收者的切换时间,所述切换时间为所述接收者由前台运行切换到后台运行时的时刻;

时间差计算子单元,用于计算所述切换时间与当前时间的时间差,所述时间差表示接收者的近期使用情况;

相应的,相同优先级接收者排序单元包括:

相同优先级接收者排序子单元,用于根据所述时间差的数值大小顺序,对所述具有相同优先级的多个接收者进行排序。

在上述技术方案的基础上,所述装置还包括:

低优先级目标接收者确定模块,用于将优先级小于预设优先级且近期被用户使用的接收者确定为目标接收者。

上述产品可执行本发明实施例所提供的任意方法,具备执行方法相应的功能模块和有益效果。

图7为本发明实施例提供的一种移动终端的结构示意图,如图7所示,该移动终端可以包括:壳体(图中未示出)、存储器801、中央处理器(centralprocessingunit,cpu)802(又称处理器,以下简称cpu)、存储在存储器801上并可在处理器802上运行的计算机程序、电路板(图中未示出)和电源电路(图中未示出)。所述电路板安置在所述壳体围成的空间内部;所述cpu802和所述存储器801设置在所述电路板上;所述电源电路,用于为所述移动终端的各个电路或器件供电;所述存储器801,用于存储可执行程序代码;所述cpu802通过读取所述存储器801中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于执行:

获取与待发送的广播消息对应的接收者队列;

根据所述接收者队列中接收者的优先级和预设优先级确定目标接收者;

向所述目标接收者发送所述广播消息。

所述移动终端还包括:外设接口803、rf(radiofrequency,射频)电路805、音频电路806、扬声器811、电源管理芯片808、输入/输出(i/o)子系统809、触摸屏812、其他输入/控制设备810以及外部端口804,这些部件通过一个或多个通信总线或信号线807来通信。

应该理解的是,图示移动终端800仅仅是移动终端的一个范例,并且移动终端800可以具有比图中所示出的更多的或者更少的部件,可以组合两个或更多的部件,或者可以具有不同的部件配置。图中所示出的各种部件可以在包括一个或多个信号处理和/或专用集成电路在内的硬件、软件、或硬件和软件的组合中实现。

下面就本实施例提供的用于实现控制广播发送功能的移动终端进行详细的描述,该移动终端以手机为例。

存储器801,所述存储器801可以被cpu802、外设接口803等访问,所述存储器801可以包括高速随机存取存储器,还可以包括非易失性存储器,例如一个或多个磁盘存储器件、闪存器件、或其他易失性固态存储器件。

外设接口803,所述外设接口803可以将设备的输入和输出外设连接到cpu802和存储器801。

i/o子系统809,所述i/o子系统809可以将设备上的输入输出外设,例如触摸屏812和其他输入/控制设备810,连接到外设接口803。i/o子系统809可以包括显示控制器8091和用于控制其他输入/控制设备810的一个或多个输入控制器8092。其中,一个或多个输入控制器8092从其他输入/控制设备810接收电信号或者向其他输入/控制设备810发送电信号,其他输入/控制设备810可以包括物理按钮(按压按钮、摇臂按钮等)、拨号盘、滑动开关、操纵杆、点击滚轮。值得说明的是,输入控制器8092可以与以下任一个连接:键盘、红外端口、usb接口以及诸如鼠标的指示设备。

其中,按照触摸屏的工作原理和传输信息的介质分类,触摸屏812可以为电阻式、电容感应式、红外线式或表面声波式。按照安装方式分类,触摸屏812可以为:外挂式、内置式或整体式。按照技术原理分类,触摸屏812可以为:矢量压力传感技术触摸屏、电阻技术触摸屏、电容技术触摸屏、红外线技术触摸屏或表面声波技术触摸屏。

触摸屏812,所述触摸屏812是用户终端与用户之间的输入接口和输出接口,将可视输出显示给用户,可视输出可以包括图形、文本、图标、视频等。可选的,触摸屏812将用户在触屏幕上触发的电信号(如接触面的电信号),发送给处理器802。

i/o子系统809中的显示控制器8091从触摸屏812接收电信号或者向触摸屏812发送电信号。触摸屏812检测触摸屏上的接触,显示控制器8091将检测到的接触转换为与显示在触摸屏812上的用户界面对象的交互,即实现人机交互,显示在触摸屏812上的用户界面对象可以是运行游戏的图标、联网到相应网络的图标等。值得说明的是,设备还可以包括光鼠,光鼠是不显示可视输出的触摸敏感表面,或者是由触摸屏形成的触摸敏感表面的延伸。

rf电路805,主要用于建立手机与无线网络(即网络侧)的通信,实现手机与无线网络的数据接收和发送。例如收发短信息、电子邮件等。

音频电路806,主要用于从外设接口803接收音频数据,将该音频数据转换为电信号,并且将该电信号发送给扬声器811。

扬声器811,用于将手机通过rf电路805从无线网络接收的语音信号,还原为声音并向用户播放该声音。

电源管理芯片808,用于为cpu802、i/o子系统及外设接口所连接的硬件进行供电及电源管理。

在本实施例中,中央处理器802用于:

获取与待发送的广播消息对应的接收者队列;

根据所述接收者队列中接收者的优先级和预设优先级确定目标接收者;

向所述目标接收者发送所述广播消息。

进一步的,所述根据所述接收者队列中接收者的优先级和预设优先级确定目标接收者,包括:

根据所述接收者队列中接收者的优先级对所述接收者队列进行排序;

将排序结果中优先级大于预设优先级的接收者确定为目标接收者。

进一步的,所述根据所述接收者队列中接收者的优先级和预设优先级确定目标接收者,包括:

获取所述接收者队列中接收者的数量;

当所述接收者的数量超过设定阈值时,根据所述接收者队列中接收者的优先级和预设优先级确定目标接收者。

进一步的,所述根据所述接收者队列中接收者的优先级和预设优先级确定目标接收者,包括:

获取具有相同优先级的多个接收者的用户操作记录;

基于所述用户操作记录对接收者的近期使用情况进行排序;

根据排序结果确定目标接收者。

进一步的,所述获取具有相同优先级的多个接收者的用户操作记录,包括:

获取每个接收者的切换时间,所述切换时间为所述接收者由前台运行切换到后台运行时的时刻;

计算所述切换时间与当前时间的时间差,所述时间差表示接收者的近期使用情况;

相应的,所述基于所述用户操作对记录接收者的近期使用情况进行排序,包括:

根据所述时间差的数值大小顺序,对所述具有相同优先级的多个接收者进行排序。

进一步的,在根据所述接收者队列中接收者的优先级和预设优先级确定目标接收者之后,包括:

将优先级小于预设优先级且近期被用户使用的接收者确定为目标接收者。

需要说明的是,移动终端还可以包括摄像头、蓝牙模块等,在此不再赘述。

注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

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