一种系统广播消息的处理方法及系统与流程

文档序号:24500383发布日期:2021-03-30 21:29阅读:110来源:国知局
一种系统广播消息的处理方法及系统与流程

本发明涉及电子技术领域,尤其涉及一种系统广播消息的处理方法及系统。



背景技术:

随着科学技术的不断发展,电子技术也得到了飞速的发展,电子产品的种类也越来越多,人们也享受到了科技发展带来的各种便利。现在人们可以通过各种类型的终端,享受随着科技发展带来的舒适生活和工作。例如,智能手机、平板电脑等移动终端已经成为人们生活中一个重要的组成部分,用户可以使用智能手机、平板电脑等移动终端来购物、获取网络资源、听音乐、玩游戏,以满足工作和生活的需要。

广播是android系统提供的一种消息通信机制,用于系统与app间以及各app间进行消息通知及简单数据交互。在原生android系统中,系统会对所有广播消息排队,并按从头到尾的顺序发送队列中的广播消息,导致安卓系统的移动设备的一些状态更新或显示的迟缓,出现卡、慢的现象。



技术实现要素:

鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的安卓系统广播消息处理的方法及系统、储存介质、移动设备。

本发明的一个方面,提供了一种系统广播消息的处理方法,所述方法包括:

对系统产生的多个广播消息进行排队,获得广播队列,其中,所述广播队列中依次包含第一广播消息和至少一条第二广播消息;

根据注册所述第一广播消息的应用程序的数量,以及所述第一广播消息的历史发送时长,判断所述第一广播消息是否满足预设条件;

若所述第一广播消息满足所述预设条件,则对所述应用程序进行分组,获得多组应用程序;

向每组应用程序依次发送所述第一广播消息;其中,发送次序相邻的两组应用程序之间的发送时间间隔为预设时间间隔;

在所述预设时间间隔内,发送所述第二广播消息。

可选的,所述预设条件包括:

所述应用程序的数量大于等于第一预设数量值,且,所述广播消息的历史发送时长大于等于第一预设时长。

可选的,所述对所述应用程序进行分组,获得多组应用程序,包括:

根据所述系统对应设备的内存大小,对所述应用程序进行分组,获得多组应用程序。

可选的,向每组应用程序发送所述第一广播消息的时长大于等于第二预设时长。

可选的,每组应用程序中的应用程序的数量大于等于第二预设数量值,小于所述第二预设数量值的1.5倍。

可选的,所述方法还包括:

若在所述预设时间间隔结束时,存在未发送完成的所述第二广播消息,则延长所述预设时间间隔,直至所述未发送完成的第二广播消息完成发送。

可选的,所述方法还包括:

若所述第一广播消息不满足所述预设条件,则按照所述广播队列的顺序,依次发送所述广播队列中的广播消息。

本发明的另一个方面,基于本申请的另一实施例提供一种系统广播消息的处理装置,所述系统包括:

广播排队模块,用于对系统产生的多个广播消息进行排队,获得广播队列,其中,所述广播队列中依次包含第一广播消息和至少一条第二广播消息;

条件判断模块,用于根据注册所述第一广播消息的应用程序的数量,以及所述第一广播消息的历史发送时长,判断所述第一广播消息是否满足预设条件;

程序分组模块,用于若所述第一广播消息满足所述预设条件,则对所述应用程序进行分组,获得多组应用程序;

第一发送模块,用于向每组应用程序依次发送所述第一广播消息;其中,发送次序相邻的两组应用程序之间的发送时间间隔为预设时间间隔;

第二发送模块,用于在所述预设时间间隔内,发送所述第二广播消息。

可选的,所述条件判断模块,包括:

条件模块,用于设置所述预设条件为:所述应用程序的数量大于等于第一预设数量值,且,所述广播消息的历史发送时长大于等于第一预设时长。

可选的,所述程序分组模块,包括:

程序分组子模块,用于根据所述系统对应设备的内存大小,对所述应用程序进行分组,获得多组应用程序。

可选的,所述程序分组模块,还包括:

发送时长设置模块,用于设置向每组应用程序发送所述第一广播消息的时长大于等于第二预设时长。

可选的,所述程序分组模块,还包括:

程序数量设置模块,用于设置每组应用程序中的应用程序的数量大于等于第二预设数量值,小于所述第二预设数量值的1.5倍。

可选的,所述系统还包括:

广播发送延长模块,用于在所述预设时间间隔结束时,存在未发送完成的所述第二广播消息,则延长所述预设时间间隔,直至所述未发送完成的第二广播消息完成发送。

可选的,所述系统还包括:

第三发送模块,用于在所述第一广播消息不满足所述预设条件时,则按照所述广播队列的顺序,依次发送所述广播队列中的广播消息。

本发明公开了一种可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述方法的步骤。

本发明公开了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述方法的步骤。

本申请实施例中提供的技术方案,至少具有如下技术效果或优点:

本发明的方法,针对在安卓系统中的一些状态下出现多个广播需要发送时,首先,对系统产生的多个广播消息进行排队,获得广播队列,其中,所述广播队列中依次包含第一广播消息和至少一条第二广播消息;然后,根据注册所述第一广播消息的应用程序的数量,以及所述第一广播消息的历史发送时长,判断所述第一广播消息是否满足预设条件;若所述第一广播消息满足所述预设条件,则对所述应用程序进行分组,获得多组应用程序;向每组应用程序依次发送所述第一广播消息;其中,发送次序相邻的两组应用程序之间的发送时间间隔为预设时间间隔;在所述预设时间间隔内,发送所述第二广播消息。由于一些广播消息被众多的应用程序注册,其发送给所有注册的应用程序需要占用较长时间,而这期间其余的广播消息只能等待,等待其完成发送给每个应用程序后,再按照广播列表的顺序依次发送,因此,本发明为了解决现有技术存在的问题,将满足预设条件的第一广播消息进行分组发送,并在发送间隔期间发送播放列表中其它的广播消息,其中,满足预设条件的第一广播消息即为被注册的应用程序数量和发送时长满足一定条件的广播消息,这样即可避免第一广播消息的一次性发送的时间长,而引起其它广播消息等待太久,造成移动设备状态更新或显示延迟,出现卡、顿的现象。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

图1示出了根据本发明一个实施例的一种系统广播消息的处理方法的流程图;

图2示出了根据本发明一个实施例的一种系统广播消息的处理装置结构图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

本发明实施例提供了一种系统广播消息的处理方法及系统,用以解决现有技术中由于广播消息发送导致安卓系统的移动设备的一些状态更新或显示的迟缓,出现卡、慢的现象的技术问题。

广播是安卓(android)系统提供的一种消息通信机制,用于系统与app间以及各app间进行消息通知及简单数据交互。例如,开机完成广播(action_boot_comleted),android系统中开机启动到一个特定时刻时,会发出这个广播消息给所有注册了此消息的app。网络连接改变广播,android系统中当设备连接的网络情况发生改变时,会发出这个广播消息。例如连上或断开了wifi,连上或断开了蜂窝数据网络等。

在原生android系统中,android系统会对所有广播消息排队,按从头到尾的顺序发送队列中的广播。由于一些特定的系统广播消息(例如开机完成广播)可以被多个app注册,导致发送此类广播消息时,由于接收者众多,发送时长较长,导致排在该广播消息后面的其它广播消息不能及时的发送,引起一些手机状态更新或显示的迟缓,带给用户卡、慢的使用感受。以开机完成广播(action_boot_comleted)为例,它的发送时长通常都达到30秒到1分钟多,占用的发送时长较长,现有的优化方案是人为的事先给接收者(即注册该广播消息的app)进行分类排序,指定app的接收顺序,哪些迟缓接收,哪些不能接收等。从而实现分散开机,让重要的或对开机完成广播处理快的app先接收,次要的或对开机完成广播处理慢的app后接收。但当优先接收广播消息的app占用时长也长时,还是会导致排队待发送的广播消息较多,不能解决移动设备状态更新或显示的迟缓,卡、慢的问题。

针对现有技术的缺陷,本申请提供了一种系统广播消息的处理方法级系统,对一些接收者众多的广播消息实行按应用程序分组批量发送,并在分组发送的间隔时间继续发送广播队列中排在后面的其他广播消息。具体实施时,每组分配固定的广播发送窗口期,窗口关闭时间到后即暂时挂起该广播一个固定的时间段,继续处理广播队列中排在后面的其他广播消息,挂起时间段结束后,再继续恢复被挂起的广播消息发送,这样周期性发送,直到该广播所有接收者都发送完毕,从而避免一条发送时间很长的广播影响其他广播及时发送,从而导致手机状态更新或显示延迟的现象。

下面以四个实施例来对本发明的方法和系统做详细的解释说明。

实施例一

参见图1,本实施提供的一种系统广播消息的处理方法,具体包括如下步骤:

s101、对系统产生的多个广播消息进行排队,获得广播队列,其中,所述广播队列中依次包含第一广播消息和至少一条第二广播消息;

s102、根据注册所述第一广播消息的应用程序的数量,以及所述第一广播消息的历史发送时长,判断所述第一广播消息是否满足预设条件;

s103、若所述第一广播消息满足所述预设条件,则对所述应用程序进行分组,获得多组应用程序;

s104、向每组应用程序依次发送所述第一广播消息;其中,发送次序相邻的两组应用程序之间的发送时间间隔为预设时间间隔;

s105、在所述预设时间间隔内,发送所述第二广播消息。

下面结合图1,对本实施例的方法中各步骤进行详细的解释。

首先,执行s101,对系统产生的多个广播消息进行排队,获得广播队列,其中,所述广播队列中依次包含第一广播消息和至少一条第二广播消息。

需要说明的是,当移动设备的某些状态发生改变时,例如开机、网络连接改变等,android系统会产生多个相应的广播消息,并且会将这些广播消息发送给注册的app。但在发送之前会对所有广播消息排队,按从头到尾的顺序发送队列中的广播消息。这里的“第一”和“第二”并不表示顺序关系,也没有特指哪个广播消息,只是为了表示不同的广播消息。且这里的第一广播消息并不一定是排在广播队列的第一列,其可以是任意位置,但对于本发明所针对的解决排在后面的广播消息排队等待的时间过长的问题的情况,其后面一定有第二广播消息。因此,这里实际上存在第一广播消息在第二广播消息之前发送的顺序关系。

需知,多个广播消息可以理解为包括两个和两个以上的广播消息。

接下来,执行s102,根据注册所述第一广播消息的应用程序的数量,以及所述第一广播消息的历史发送时长,判断所述第一广播消息是否满足预设条件。

在广播消息发送时,该广播消息会发送给所有已经注册了该广播消息的应用程序(例如app),注册第一广播消息的应用程序的数量以及第一广播消息的历史发送时长可根据系统历史数据获知。

而为了筛选出发送的应用程序数量和总的发送时长都满足一定条件的广播消息进行分组间隔发送,本实施中的预设条件跟注册第一广播消息的应用程序的数量以及第一广播消息的历史发送时长共同相关,作为其中一种可选的实施方式,所述预设条件包括:

所述应用程序的数量大于等于第一预设数量值,且,所述广播消息的历史发送时长大于等于第一预设时长。

可以理解的是,如果一个广播消息只被一个应用程序注册,那根本不需要进行分组,直接进行广播消息的发送,这时不管该条广播消息后面是否有排队待发送的广播消息,都没法让后面的消息提前发送,因此该种情况不适用于本发明的方法。由此可知,第一预设数量值至少为大于等于2的正整数,具体数值还需要根据向每个应用程序发送广播消息所占用的时长来确定,因此,预设条件还要同时包括广播消息的历史发送时长大于等于第一预设时长。因为,即使该广播消息被注册的应用程序较多,但其发送给每个应用程序所耗费的时间很短,即总的发送时间也不长,不会造成后面的广播消息排队太久,不会造成移动设备的卡顿,则不需要进行分组发送,而是直接一次性发送。其中,第一预设时长和第一预设数量值,是要根据移动设备的具体情况进行设置,考虑的因素包括但不限于:内存。内存足够大,则可以设置第一预设时长和第一预设数量值偏大一些,如果内存较小,则可以相应设置第一预设时长和第一预设数量值偏小一些。在具体实施过程中,对于现有的移动设备来说,“开机完成广播”、“网络连接改变广播”及类似的其他用时长的广播消息都被足够多的app注册,且占用的发送时间较长,都是符合预设条件的广播消息。

接下来,执行s103,若所述第一广播消息满足所述预设条件,则对所述应用程序进行分组,获得多组应用程序。

在明确了s102中关于预设条件的解释后,只要第一广播消息满足预设条件,为了拿出几个时间片段来处理排在其后面的其它广播消息,避免其它广播消息等待太久,对注册了第一广播消息的应用程序进行分组,获得多组应用程序。

作为一种可选的实施方式,所述对所述应用程序进行分组,获得多组应用程序,包括:

根据所述系统对应设备的内存大小,对所述应用程序进行分组,获得多组应用程序。

其中,多组应用程序具体表示两组或两组以上,具体实施过程中,只要对注册了满足预设条件的广播消息的应用程序分成至少两组,即至少可以在两组应用程序的发送间隔期,发送排在该广播消息后面的第二广播消息,如此,即可在一定程度上缓解排队等候的压力,达到一定的缓解卡顿的效果。

在具体实施过程中,为了控制每组应用程序的第一广播消息发送时长,避免对每组应用程序的发送窗口期过短,保证第一广播消息的发送效率。作为一种可选的实施方式,向每组应用程序发送所述第一广播消息的时长大于等于第二预设时长。其中,第二预设时长同样根据设备的具体配置进行设置,按照目前主流的设备配置情况,第二预设时长可以取值为3秒。但当向每组应用程序发送所述第一广播消息的时长结束时,刚好有应用程序正在接收第一广播消息,则延长窗口期的时长,直到该应用程序接收第一广播消息完毕。

此外,为了匹配每组应用程序的第一广播消息发送时长的要求,在具体分组时,还需要对每组应用程序的数量进行有上下限的限制,主要取决于设备在发送窗口时间内实际能处理的应用程序的数量。在此前提下,还需要考虑设备的内存大小,为了匹配设备的处理能力,对于低内存的设备可以将每组的应用程序的数量设置少一些,对于非低内存的设备可以将每组的应用程序的数量设置多一些。

因此,作为一种可选的实施方式,每组应用程序中的应用程序的数量大于等于第二预设数量值,小于所述第二预设数量值的1.5倍。

其中,第二预设数量值是根据系统的内存大小进行确定的,举例来说,低内存机器每组接收者下限为8个,非低内存机器每组接收者下限为16个。但第二预设数量值并不限于此,也可以是4个等。需要说明的是,对于目前主流的移动设备,一般认为内存小于3gb的可归为低内存设备,3gb及以上可归为非低内存设备。

基于同样的原理,需要限定应用程序的数量小于第二预设数量值的1.5倍。需要说明的是,在分组时,为了分组的方便,可以进行均分,即设置每组应用程序的数量相同(例如每组数量为第二预设数量值),只是当最后剩余的应用程序数量小于前述均匀分组后的每组应用程序数量的一半时,需要将剩余的应用程序划分到最后一个分组中。举例来说,假定,碰巧每组正好都包括8个应用程序,最后一组还余下76-8*8=12个应用程序,此时(12-8)>4的条件不成立,则最后这12个应用程序全部划为一组。

因此,最后一组的数量还是小于第二预设数量值的1.5倍,依然满足上述条件。但实际操作时,并不限制分组一定均匀,只要满足上述大于等于第二预设数量值,小于所述第二预设数量值的1.5倍的要求,即可平衡第一广播消息和第二广播消息的发送,达到缓解第二广播消息的排队压力的同时,不影响第一广播消息的发送。

此外,需要说明的是,在具体进行分组参数设置时,可以根据程序代码进行设置。为给不同情况提供适配能力,配置更方便,可以通过配置属性来确定一组应用程序的数量(最低为4个)如配置“persistqiku.br.step”属性值为4,不配置该属性值时取代码设置的数量。

接下来,执行s104,向每组应用程序依次发送所述第一广播消息;其中,发送次序相邻的两组应用程序之间的发送时间间隔为预设时间间隔。

由于次序相邻的两组应用程序之间存在预设时间间隔,再预设时间间隔内,第一广播消息被挂起,此时,执行s105,在所述预设时间间隔内,发送所述第二广播消息。

其中,预设时间间隔可根据广播列表中的第二广播消息的发送时长确定,一般要满足发送至少能发送一条第二广播消息,但当第二广播消息发送时长都很短时,可以设置预设时间间隔为600毫秒。但作为一种可选的实施方式,若在所述预设时间间隔结束时,存在未发送完成的所述第二广播消息,则延长所述预设时间间隔,直至所述未发送完成的第二广播消息完成发送。可保证完整的发送第二广播消息,避免中途停止发送带来的复杂影响。

总结起来,第一广播消息按照分组的应用程序,首先给一组应用程序发送第一广播消息,发送期间称为窗口期,在窗口期结束后,将第一广播消息挂起,继续发送第二广播消息,在挂起时间结束后,恢复第一广播消息的发送,向另一组应用程序继续发送第一广播消息,如此循环直到第一广播消息发送给每组应用程序。举例来说,以低内存机器为例,假定action_boot_completed的接收者(即注册了action_boot_completed的应用程序)有76个,按默认情况,每组应用程序数量下限8个,这里实际分组数并不一定就是10组。每组发送的实际接收者数量取决于在发送窗口时间内实际能处理的应用程序数量。即3秒发送最小窗口时间始终会保证,而本组发送的实际数量取决于各应用程序处理该广播消息所需要的时间,应用程序都处理很快时,3秒内就可能发送给8个以上的应用程序。反之,若某些应用程序用时较多,占去了3秒窗口时间,则最少会保证发送给8个接收者,最终实际发送窗口时间则会多于3秒。

当满足以上条件的发送完成后,就会挂起该广播消息600毫秒,这个时间片留给排在该广播消息后面的其他广播消息来处理,从而有机会被及时发送。当600毫秒时间片用完时且当前广播消息完成所有应用程序发送后,会重新开始发送action_boot_completed给新的一组应用程序。这里实际挂起时间就取决于600ms后,当前广播消息完成发送还需要多少时间,故挂起时间可能多于600ms。

作为另外一种可能的情况,若所述第一广播消息不满足所述预设条件,则按照所述广播队列的顺序,依次发送所述广播队列中的广播消息。

具体的,例如第一广播消息只被一个应用程序注册或是第一广播消息发送给所有应用程序的时间不超过3秒,则不需要对应用程序进行分组发送,因为此种情况下,排队等候的发送的第二广播消息不会等待太久就会被发送,此时不会造成设备状态更新卡顿。

本申请实施例中提供的技术方案,至少具有如下技术效果或优点:

本实施例的方法,针对在安卓系统中的一些状态下出现多个广播需要发送时,首先,对系统产生的多个广播消息进行排队,获得广播队列,其中,所述广播队列中依次包含第一广播消息和至少一条第二广播消息;然后,根据注册所述第一广播消息的应用程序的数量,以及所述第一广播消息的历史发送时长,判断所述第一广播消息是否满足预设条件;若所述第一广播消息满足所述预设条件,则对所述应用程序进行分组,获得多组应用程序;向每组应用程序依次发送所述第一广播消息;其中,发送次序相邻的两组应用程序之间的发送时间间隔为预设时间间隔;在所述预设时间间隔内,发送所述第二广播消息。由于一些广播消息被众多的应用程序注册,其发送给所有注册的应用程序需要占用较长时间,而这期间其余的广播消息只能等待,等待其完成发送给每个应用程序后,再按照广播列表的顺序依次发送,因此,本发明为了解决现有技术存在的问题,将满足预设条件的第一广播消息进行分组发送,并在发送间隔期间发送播放列表中其它的广播消息,其中,满足预设条件的第一广播消息即为被注册的应用程序数量和发送时长满足一定条件的广播消息,这样即可避免第一广播消息的一次性发送的时间长,而引起其它广播消息等待太久,造成移动设备状态更新或显示延迟,出现卡、顿的现象。

实施例二

基于同一发明构思,本实施例提供了一种系统广播消息的处理装置,参见图2,所述系统包括:

广播排队模块,用于对系统产生的多个广播消息进行排队,获得广播队列,其中,所述广播队列中依次包含第一广播消息和至少一条第二广播消息;

条件判断模块,用于根据注册所述第一广播消息的应用程序的数量,以及所述第一广播消息的历史发送时长,判断所述第一广播消息是否满足预设条件;

程序分组模块,用于若所述第一广播消息满足所述预设条件,则对所述应用程序进行分组,获得多组应用程序;

第一发送模块,用于向每组应用程序依次发送所述第一广播消息;其中,发送次序相邻的两组应用程序之间的发送时间间隔为预设时间间隔;

第二发送模块,用于在所述预设时间间隔内,发送所述第二广播消息。

作为一种可选的实施例,所述条件判断模块,包括:

条件模块,用于设置所述预设条件为:所述应用程序的数量大于等于第一预设数量值,且,所述广播消息的历史发送时长大于等于第一预设时长。

作为一种可选的实施例,所述程序分组模块,包括:

程序分组子模块,用于根据所述系统对应设备的内存大小,对所述应用程序进行分组,获得多组应用程序。

作为一种可选的实施例,所述程序分组模块,还包括:

发送时长设置模块,用于设置向每组应用程序发送所述第一广播消息的时长大于等于第二预设时长。

作为一种可选的实施例,所述程序分组模块,还包括:

程序数量设置模块,用于设置每组应用程序中的应用程序的数量大于等于第二预设数量值,小于所述第二预设数量值的1.5倍。

作为一种可选的实施例,所述系统还包括:

广播发送延长模块,用于在所述预设时间间隔结束时,存在未发送完成的所述第二广播消息,则延长所述预设时间间隔,直至所述未发送完成的第二广播消息完成发送。

作为一种可选的实施例,所述系统还包括:

第三发送模块,用于在所述第一广播消息不满足所述预设条件时,则按照所述广播队列的顺序,依次发送所述广播队列中的广播消息。

本申请实施例中提供的技术方案,至少具有如下技术效果或优点:

本实施例的系统,针对在安卓系统中的一些状态下出现多个广播需要发送时,首先,利用广播排队模块对系统产生的多个广播消息进行排队,获得广播队列,其中,所述广播队列中依次包含第一广播消息和至少一条第二广播消息;然后,利用条件判断模块根据注册所述第一广播消息的应用程序的数量,以及所述第一广播消息的历史发送时长,判断所述第一广播消息是否满足预设条件;利用程序分组模块若所述第一广播消息满足所述预设条件,则对所述应用程序进行分组,获得多组应用程序;利用第一发送模块向每组应用程序依次发送所述第一广播消息;其中,发送次序相邻的两组应用程序之间的发送时间间隔为预设时间间隔;利用第二发送模块在所述预设时间间隔内,发送所述第二广播消息。由于一些广播消息被众多的应用程序注册,其发送给所有注册的应用程序需要占用较长时间,而这期间其余的广播消息只能等待,等待其完成发送给每个应用程序后,再按照广播列表的顺序依次发送,因此,本发明为了解决现有技术存在的问题,将满足预设条件的第一广播消息进行分组发送,并在发送间隔期间发送播放列表中其它的广播消息,其中,满足预设条件的第一广播消息即为被注册的应用程序数量和发送时长满足一定条件的广播消息,这样即可避免第一广播消息的一次性发送的时间长,而引起其它广播消息等待太久,造成移动设备状态更新或显示延迟,出现卡、顿的现象。

实施例三

基于与前述实施例中同样的发明构思,本发明实施例还提供一种可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前文实施例一中的任一所述方法的步骤。

实施例四

基于与前述实施例中同样的发明构思,本发明实施例还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现前文实施例一中的任一所述方法的步骤。

在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。

在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。

类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。

本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。

此外,本领域的技术人员能够理解,尽管在此的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。

本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(dsp)来实现根据本发明实施例的可读储存介质、移动设备、系统中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。

应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

本发明公开了a1、一种系统广播消息的处理方法,其特征在于,所述方法包括:

对系统产生的多个广播消息进行排队,获得广播队列,其中,所述广播队列中依次包含第一广播消息和至少一条第二广播消息;

根据注册所述第一广播消息的应用程序的数量,以及所述第一广播消息的历史发送时长,判断所述第一广播消息是否满足预设条件;

若所述第一广播消息满足所述预设条件,则对所述应用程序进行分组,获得多组应用程序;

向每组应用程序依次发送所述第一广播消息;其中,发送次序相邻的两组应用程序之间的发送时间间隔为预设时间间隔;

在所述预设时间间隔内,发送所述第二广播消息。

a2、如权利要求a1所述的方法,其特征在于,所述预设条件包括:

所述应用程序的数量大于等于第一预设数量值,且,所述广播消息的历史发送时长大于等于第一预设时长。

a3、如权利要求a1所述的方法,其特征在于,所述对所述应用程序进行分组,获得多组应用程序,包括:

根据所述系统对应设备的内存大小,对所述应用程序进行分组,获得多组应用程序。

a4、如权利要求a1所述的方法,其特征在于,向每组应用程序发送所述第一广播消息的时长大于等于第二预设时长。

a5、如权利要求a4所述的方法,其特征在于,每组应用程序中的应用程序的数量大于等于第二预设数量值,小于所述第二预设数量值的1.5倍。

a6、如权利要求a5所述的方法,其特征在于,所述方法还包括:

若在所述预设时间间隔结束时,存在未发送完成的所述第二广播消息,则延长所述预设时间间隔,直至所述未发送完成的第二广播消息完成发送。

a7、如权利要求a1所述的方法,其特征在于,所述方法还包括:

若所述第一广播消息不满足所述预设条件,则按照所述广播队列的顺序,依次发送所述广播队列中的广播消息。

b8、一种系统广播消息的处理装置,其特征在于,所述系统包括:

广播排队模块,用于对系统产生的多个广播消息进行排队,获得广播队列,其中,所述广播队列中依次包含第一广播消息和至少一条第二广播消息;

条件判断模块,用于根据注册所述第一广播消息的应用程序的数量,以及所述第一广播消息的历史发送时长,判断所述第一广播消息是否满足预设条件;

程序分组模块,用于若所述第一广播消息满足所述预设条件,则对所述应用程序进行分组,获得多组应用程序;

第一发送模块,用于向每组应用程序依次发送所述第一广播消息;其中,发送次序相邻的两组应用程序之间的发送时间间隔为预设时间间隔;

第二发送模块,用于在所述预设时间间隔内,发送所述第二广播消息。

b9、如权利要求b8所述的系统,其特征在于,所述条件判断模块,包括:

条件模块,用于设置所述预设条件为:所述应用程序的数量大于等于第一预设数量值,且,所述广播消息的历史发送时长大于等于第一预设时长。

b10、如权利要求b8所述的系统,其特征在于,所述程序分组模块,包括:

程序分组子模块,用于根据所述系统对应设备的内存大小,对所述应用程序进行分组,获得多组应用程序。

b11、如权利要求b8所述的系统,其特征在于,所述程序分组模块,还包括:

发送时长设置模块,用于设置向每组应用程序发送所述第一广播消息的时长大于等于第二预设时长。

b12、如权利要求b11所述的系统,其特征在于,所述程序分组模块,还包括:

程序数量设置模块,用于设置每组应用程序中的应用程序的数量大于等于第二预设数量值,小于所述第二预设数量值的1.5倍。

b13、如权利要求b12所述的系统,其特征在于,所述系统还包括:

广播发送延长模块,用于在所述预设时间间隔结束时,存在未发送完成的所述第二广播消息,则延长所述预设时间间隔,直至所述未发送完成的第二广播消息完成发送。

b14、如权利要求b8所述的系统,其特征在于,所述系统还包括:

第三发送模块,用于在所述第一广播消息不满足所述预设条件时,则按照所述广播队列的顺序,依次发送所述广播队列中的广播消息。

c15、一种可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求a1-a7任一项所述方法的步骤。

d16、一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求a1-a7任一项所述方法的步骤。

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