一种广播发送方法、装置及终端与流程

文档序号:12698600阅读:247来源:国知局
一种广播发送方法、装置及终端与流程

本发明涉及终端技术领域,尤其涉及一种广播发送方法、装置及终端。



背景技术:

在Android系统中,有很多不同的模块,为了在不同的模块中快速的进行信息传递,Android系统提供了一种通信方式,类似现实生活中的播放广播的模式一样。当有消息要通知不同的模块时,就将这个消息通过广播的方式发送给不同的广播接收者。

其中,在分发广播消息时,各种类型的广播消息都是在广播队列中进行排队进行处理的,当广播消息发送的较多时,广播队列排队会较长,如果广播消息分发的速度小于广播消息入队的速度,会导致严重的阻塞问题,引起信息发送不通畅,导致终端运行异常。



技术实现要素:

本发明实施例提供一种广播发送方法、装置及终端,可以提高广播消息分发速度以及处理的速度,解决引起的阻塞问题。

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

获取预设时间段内广播发送者发送的广播消息的数量或者广播接收者接收的广播消息的数量;

根据获取的所述广播消息的数量创建与所述广播消息的数量对应的广播发送队列;

将广播发送者发送的广播消息移动到对应的广播发送队列中,以将所述广播发送者发送的广播消息发送给所述广播接收者。

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

获取模块,用于获取预设时间段内广播发送者发送的广播消息的数量或者广播接收者接收的广播消息的数量;

创建模块,用于根据获取的所述广播消息的数量创建与所述广播消息的数量对应的广播发送队列;

移动模块,用于将广播发送者发送的广播消息移动到对应的广播发送队列中,以将所述广播发送者发送的广播消息发送给所述广播接收者。

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

获取预设时间段内广播发送者发送的广播消息的数量或者广播接收者接收的广播消息的数量;

根据获取的所述广播消息的数量创建与所述广播消息的数量对应的广播发送队列;

将广播发送者发送的广播消息移动到对应的广播发送队列中,以将所述广播发送者发送的广播消息发送给所述广播接收者。

本发明实施例提供的技术方案,通过广播发送者预设时间段内发送广播消息的数量创建对应的广播发送队列,或者通过广播接收者预设时间段内接收广播消息的数量创建广播发送队列,并将广播发送者发送的广播消息移动到广播发送队列中,以将广播发送者发送的广播消息发送给广播接收者,能够提高广播消息的分发速度,从而提高广播消息的处理速度,解决引起的阻塞问题。

附图说明

通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:

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

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

图3是本发明一个实施例提供的一种广播发送装置结构框图;

图4是本发明一个实施例提供的一种终端的结构示意图。

具体实施方式

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

图1是本发明一个实施例提供的一种广播发送方法流程图,所述方法由广播发送装置来执行,所述装置由软件和/或硬件来执行,所述装置配置在诸如手机等终端中。如图1所示,本实施例提供的技术方案如下:

S110:获取预设时间段内广播发送者发送的广播消息的数量或者广播接收者接收的广播消息的数量。

在广播处理过程中,广播发送者的服务进程通过调用广播发送函数(如sendBroadcast函数)将广播消息发送至广播管理模块(如ActivityManagerService,活动管理服务),广播管理模块接收到该广播消息后将其放入广播发送队列,广播管理模块通过进程通信机制(如Binder进程通信机制)将广播发送队列中的广播消息发送至符合接收条件的广播接收者。

在广播机制中,广播消息指的是系统或者应用程序在运行过程中发送的,用于系统和/或应用程序之间传输的信息。示例性的,广播消息可以是系统启动广播消息、短信类广播消息、电话类广播消息或者三方应用类广播消息等。

在预设时间段内,广播发送者发送的广播消息的数量可能与广播接收者接收的广播消息的数量相同,也可能不同。当广播发送者发送的广播消息的数量较多,广播管理模块接收到的广播消息的数量越多,需要分发的广播消息的数量越多。

在预设时间段内,当广播接收者接收到的广播消息的数量越多时,表明广播管理模块分发的广播消息的数量也越多。

S120:根据获取的所述广播消息的数量创建与所述广播消息的数量对应的广播发送队列。

在本实施例中,根据获取的预设时间段内广播发送者发送的广播消息的数量创建与所述数量对应的广播发送队列,或者根据获取的预设时间段内广播接收者接收的广播消息的数量创建与所述数量对应的广播发送队列。

可选的,根据获取的所述广播消息的数量创建与所述广播消息的数量对应的广播发送队列,包括:若获取的所述广播消息的数量小于第一设定阈值,创建一个广播发送队列;若获取的所述广播消息的数量大于第一设定阈值,创建两个广播发送队列。

具体的,在预设时间段内,若获取的广播发送者发送的广播消息的数量小于第一设定阈值,创建一个广播发送队列,若获取的广播发送者发送的广播消息的数量大于第一设定阈值,创建两个广播发送队列。例如,第一设定阈值为10个,若预设时间段内广播发送者发送的广播消息是8个,8小于第一设定阈值(10),创建一个广播发送队列即可,由于获取的广播发送者发送的广播消息的数量较少,通过一个广播发送队列能够将广播消息快速发送给广播接收者,节省终端的资源。若预设时间段内广播发送者发送的广播消息是30个,30大于第一设定阈值,创建两个广播发送队列,由于获取的广播发送者发送的广播消息的数量较多,创建两个广播发送队列将能够将广播消息并行发送给广播接收者,提高广播消息的分发速度。

或者具体的,在预设时间段内,若获取的广播接收者接收广播消息的数量小于第一设定阈值,创建一个广播发送队列;若获取的广播接收者接收的广播消息的数量大于第一设定阈值,创建两个广播发送队列。例如,第一设定阈值为10,若预设时间段内广播接收者接收广播消息的数量为5个,5小于第一设定阈值,可以表明由广播管理模块分发的广播消息的数量较少,创建一个广播发送队列即可。若预设时间段内广播接收者接收广播消息的数量为20个,20大于第一设定阈值,可以表明由广播管理模块分发的广播消息的数量较多,创建两个广播发送队列。

可选的,根据获取的所述广播消息的数量创建与所述广播消息的数量对应的广播发送队列,包括:若获取的所述广播消息的数量小于第一设定阈值,创建一个广播发送队列;若获取的所述广播消息的数量在所述第一设定阈值和第二设定阈值之间,创建两个广播发送队列;若获取的所述广播消息的数量大于所述第二设定阈值,创建三个广播发送队列。其中,获取的广播消息的数量可以是获取的预设时间段内广播发送者发送的广播消息的数量,或者也可以是获取的预设时间段内广播接收者接收的广播消息的数量。

需要说明的是,创建广播发送队列方法并不局限于上述的方式,并且创建的广播发送队列的数量可以不作限制,可根据实际需要进行设置。

S130:将广播发送者发送的广播消息移动到对应的广播发送队列中,以将所述广播发送者发送的广播消息发送给所述广播接收者。

在本实施例中,若创建了一个广播发送队列,将广播发送者发送的广播消息移动到该广播发送队列中,以将广播发送者发送的广播消息发送给广播接收者。若创建了两个或其他数量的广播发送队列,将广播发送者发送的广播消息分别移动到各广播发送队列中,以将广播发送者发送的广播消息并行发送给广播接收者。

当创建的广播发送队列存在至少两个时,可以将广播发送者发送的广播消息平均分配到各广播发送队列中。或者也可以根据广播消息的类型确定广播消息所在的广播发送队列,例如,将同一类型的广播消息移动到同一广播发送队列中。或者也可以设置每一个广播发送队列中容纳广播消息的数量,当一个广播发送队列中广播消息的数量达到设定数量时,将广播发送者发送的其他广播消息移动到另一个广播发送队列中。

需要说明的是,对于将广播消息移动到对应的广播发送队列的方法并不局限于上述的方法,还可以是其他方式,可根据需要进行移动。

现有技术中,广播管理模块接收到广播发送者发送的广播消息,并将接收到的广播消息放在一个广播发送队列中进行分发,先入队的广播消息可以先分发,后入队的广播消息后分发。当广播发送者发送的广播消息较多时,广播发送队列中也会比较长,如果广播消息分发的速度小于广播消息放入广播发送队列的速度,则会引起严重的阻塞,发送广播消息发送不通畅。

本实施例中,基于广播接收者预设时间段发送的广播消息的数量或者广播接收者预设时间段内接收的广播消息的数量,创建对应的广播发送队列,并将广播管理模块接收到的广播发送者发送的广播消息移动到对应的广播发送队列中,以将广播消息发送给广播接收者。相对于现有技术而言,当广播发送者发送的广播消息较多时,或者广播接收者接收的广播消息较多时,增加了广播发送队列,提高了广播消息分发的速度,解决了阻塞的问题。由于广播消息分发速度提高,因此,也提高了广播消息的处理速度。

本实施例中,通过广播发送者预设时间段内发送广播消息的数量创建对应的广播发送队列,或者通过广播接收者预设时间段内接收广播消息的数量创建广播发送队列,并将广播发送者发送的广播消息移动到广播发送队列中,以将广播发送者发送的广播消息发送给广播接收者,能够提高广播消息的分发速度,从而提高广播消息的处理速度,解决引起的阻塞问题。

图2是本发明一个实施例提供的一种广播发送方法流程图,在上述实施例的基础上,可选的,所述根据获取的所述广播消息的数量创建与所述广播消息的数量对应的广播发送队列,包括:设置每个广播发送队列中容纳广播消息的数量;根据获取的所述广播发送者发送的广播消息的数量以及设置的每个广播发送队列中容纳广播消息的数量,确定创建的广播发送队列的数量,并创建对应数量的广播发送队列。

如图2所示,本实施例提供的技术方案如下:

S210:获取预设时间段内广播发送者发送的广播消息的数量。

S220:设置每个广播发送队列中容纳广播消息的数量。

其中,每个广播发送队列中容纳广播消息的数量是每个广播发送队列中容纳广播消息的最大值。例如,若设置的每个广播发送队列中容纳广播消息的数量为10个,则该广播发送队列中广播消息的数量不超过10个。

S230:根据获取的所述广播发送者发送的广播消息的数量以及设置的每个广播发送队列中容纳广播消息的数量,确定创建的广播发送队列的数量,并创建对应数量的广播发送队列。

具体的,获取广播发送者发送的广播消息的数量与设置的每个广播发送队列中容纳广播消息的数量的比值,如果该比值为整数,则该比值为创建的广播发送队列的数量。如果该比值不为整数,在该比值整数的基础上加1,得到创建的广播发送队列的数量。

例如,设置的每个广播发送队列中容纳的广播消息的数量为10个,若预设时间段内广播发送者发送的广播消息的数量为30个,则创建3个广播发送队列。若预设时间段内广播发送者发送的广播消息的数量为25个,也创建3个广播发送队列。

S240:将广播发送者发送的广播消息移动到对应的广播发送队列中,以将所述广播发送者发送的广播消息发送给所述广播接收者。

由此,通过获取的广播发送者发送的广播消息的数量以及设置的每个广播发送队列中容纳广播消息的数量,确定创建的广播发送队列的数量,并创建对应数量的广播发送队列,能够避免广播发送队列中广播消息过多导致分发速度较慢的情形,提高广播消息的分发速度,从而提高广播消息的处理速度。

在上述实施例的基础上,当创建的所述广播发送队列为至少两个广播发送队列时;可选的,将所述广播发送者发送的广播消息移动到对应的广播发送队列中,以将所述广播发送者发送的广播消息发送给所述广播接收者,包括:将所述广播发送者发送的广播消息平均分配到所述至少两个广播发送队列中,以将所述广播发送者发送的广播消息并行发送给所述广播接收者。

具体的,将广播发送者发送的广播消息平均分配到所述至少两个广播发送队列中,使每两个广播发送队列中广播消息的数量相等,或者使每两个广播发送队列中广播消息数量之差小于一设定值。由此,通过将广播消息平均分配到广播发送队列中,可以平衡每个广播发送队列中的广播消息的分发速度,提高广播消息分发的效率。

图3是本发明一个实施例提供的一种广播发送装置结构框图,如图3所示,所述装置包括获取模块310、创建模块320和移动模块330。

其中,获取模块310,用于获取预设时间段内广播发送者发送的广播消息的数量或者广播接收者接收的广播消息的数量;

创建模块320,用于根据获取的所述广播消息的数量创建与所述广播消息的数量对应的广播发送队列;

移动模块330,用于将广播发送者发送的广播消息移动到对应的广播发送队列中,以将所述广播发送者发送的广播消息发送给所述广播接收者。

进一步的,所述创建模块310,用于若获取的所述广播消息的数量小于第一设定阈值,创建一个广播发送队列;

若获取的所述广播消息的数量大于第一设定阈值,创建两个广播发送队列。

进一步的,所述创建模块310,用于若获取的所述广播消息的数量小于第一设定阈值,创建一个广播发送队列;

若获取的所述广播消息的数量在所述第一设定阈值和第二设定阈值之间,创建两个广播发送队列;

若获取的所述广播消息的数量大于所述第二设定阈值,创建三个广播发送队列。

进一步的,所述创建模块310,用于设置每个广播发送队列中容纳广播消息的数量;

根据获取的所述广播发送者发送的广播消息的数量以及设置的每个广播发送队列中容纳广播消息的数量,确定创建的广播发送队列的数量,并创建对应数量的广播发送队列。

进一步的,当创建的所述广播发送队列为至少两个广播发送队列时;

所述移动模块330,用于将广播发送者发送的广播消息平均分配到所述至少两个广播发送队列中,以将所述广播发送者发送的广播消息并行发送给所述广播接收者。

本实施例提供的一种广播发送装置,通过广播发送者预设时间段内发送广播消息的数量创建对应的广播发送队列,或者通过广播接收者预设时间段内接收广播消息的数量创建广播发送队列,并将广播发送者发送的广播消息移动到广播发送队列中,以将广播发送者发送的广播消息发送给广播接收者,能够提高广播消息的分发速度,从而提高广播消息的处理速度,解决引起的阻塞问题。

本发明实施例提供了一种终端,该终端中可集成本发明实施例提供的广播发送装置。图4为本发明一个实施例提供的一种终端的结构示意图。如图4所示,该终端400可以包括:存储器401、中央处理器(Central Processing Unit,CPU)402(又称处理器,以下简称CPU)、触摸屏412以及存储在存储器上并可在CPU上运行的计算机程序。所述触摸屏412,用于将用户操作转换成电信号输入至所述CPU,并显示可视输出信号;CPU402执行计算机程序时实现以下步骤:获取预设时间段内广播发送者发送的广播消息的数量或者广播接收者接收的广播消息的数量;根据获取的所述广播消息的数量创建与所述广播消息的数量对应的广播发送队列;将所述广播发送者发送的广播消息移动到对应的广播发送队列中,以将所述广播发送者发送的广播消息发送给所述广播接收者。

所述终端400还包括:外设接口403、RF(Radio Frequency,射频)电路405、音频电路406、扬声器411、电源管理芯片408、输入/输出(I/O)子系统409、其他输入/控制设备410以及外部端口404,这些部件通过一个或多个通信总线或信号线407来通信。

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

下面就本实施例提供的集成有广播发送装置的终端进行详细的描述,该终端以手机为例。

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

外设接口403,所述外设接口403可以将设备的输入和输出外设连接到CPU402和存储器401。

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

触摸屏412,所述触摸屏412是用户终端与用户之间的输入接口和输出接口,将可视输出显示给用户,可视输出可以包括图形、文本、图标、视频等。

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

RF电路405,主要用于建立手机与无线网络(即网络侧)的通信,实现手机与无线网络的数据接收和发送。例如收发短信息、电子邮件等。具体地,RF电路405接收并发送RF信号,RF信号也称为电磁信号,RF电路405将电信号转换为电磁信号或将电磁信号转换为电信号,并且通过该电磁信号与通信网络以及其他设备进行通信。RF电路405可以包括用于执行这些功能的已知电路,其包括但不限于天线系统、RF收发机、一个或多个放大器、调谐器、一个或多个振荡器、数字信号处理器、CODEC(COder-DECoder,编译码器)芯片组、用户标识模块(Subscriber Identity Module,SIM)等等。

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

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

电源管理芯片408,用于为CPU402、I/O子系统及外设接口所连接的硬件进行供电及电源管理。

本实施例提供的终端用于执行上述实施例所述的广播发送方法,其技术原理和产生的技术效果类似,这里不再赘述。

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

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