CN110633161B - 一种广播的处理方法及装置 - Google Patents
一种广播的处理方法及装置 Download PDFInfo
- Publication number
- CN110633161B CN110633161B CN201910887803.6A CN201910887803A CN110633161B CN 110633161 B CN110633161 B CN 110633161B CN 201910887803 A CN201910887803 A CN 201910887803A CN 110633161 B CN110633161 B CN 110633161B
- Authority
- CN
- China
- Prior art keywords
- broadcast
- receiving
- queue
- target
- overtime
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/548—Queue
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)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明公开了一种广播的处理方法及装置,涉及计算机技术领域,主要目的在于构建广播机制的自检机制,避免出现广播阻塞的异常状态。本发明主要的技术方案为:从广播队列中提取待处理的目标广播,获取接收所述目标广播对应的进程的连续超时次数;若所述连续超时次数达到阈值,则检测所述广播队列是否出现处理异常;若确定所述广播队列处理异常,则清理所述进程中接收所述目标广播的接收组件。本发明主要用于监控广播机制的运行健康状态。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种广播的处理方法及装置。
背景技术
在Android中,有一些操作完成以后,会发送广播,比如在发出一条短信,或打出一个电话时,如果某个程序接收了这个广播,就会做相应的处理。广播机制最大的特点就是发送方并不关心接收方是否接到数据,也不关心接收方是如何处理数据的。Android广播机制包含有三个基本的要素:广播(Broadcast):用于发送广播;广播接收器(BroadcastReceiver)是为了实现系统广播而提供的一种组件:用于接收广播;意图内容(Intent):用于保存广播相关信息的媒介。
在android原生系统中,广播作为Android四大重要组件之一,其通知机制运用于各类服务及APP的各个角落,是保持事件正常流动的重要管道。该广播机制运用的普遍性,也使得一旦出现广播机制工作异常,就会引起一系列的连锁反应,比如事件响应迟缓,闹钟延迟等,导致广播出现阻塞,而目前的android原生系统没有对广播机制的自我检查与防错机制,使得系统不能及时发现和纠正广播机制的工作异常状态。
发明内容
鉴于上述问题,本发明提出了一种广播的处理方法及装置,主要目的在于构建广播机制的自检机制,避免出现广播阻塞的异常状态。
为达到上述目的,本发明主要提供如下技术方案:
一方面,本发明提供一种广播的处理方法,具体包括:
从广播队列中提取待处理的目标广播,获取接收所述目标广播对应的进程的连续超时次数;
若所述连续超时次数达到阈值,则检测所述广播队列是否出现处理异常;
若确定所述广播队列处理异常,则清理所述进程中接收所述目标广播的接收组件。
另一方面,本发明提供一种广播的处理装置,具体包括:
获取单元,用于从广播队列中提取待处理的目标广播,获取接收所述目标广播对应的进程的连续超时次数;
检测单元,用于若所述获取单元得到的连续超时次数达到阈值,则检测所述广播队列是否出现处理异常;
清理单元,用于在所述检测单元确定所述广播队列处理异常时,清理所述进程中接收所述目标广播的接收组件。
另一方面,本发明提供一种存储介质,所述存储介质用于存储的计算机程序,其中,所述计算机程序运行时控制所述存储介质所在设备执行上述的广播的处理方法。
另一方面,本发明提供一种电子设备,包括存储器、处理器和通讯总线;
所述存储器与所述处理器通过所述通讯总线通讯连接;
所述存储器中存储有计算机可执行指令,所述处理器用于执行所述计算机可执行指令,以实现上述的广播的处理方法。
借由上述技术方案,本发明提供的一种广播的处理方法及装置,是在发送一条广播之前,先判断接收该广播所对应的进程是否存在连续超时的情况,若存在,则需要对当前广播队列的处理情况进行检测,以判断该广播队列的处理是否存在异常,当确定广播队列存在处理异常时,将对该条广播所对应的接收组件进行清理,以防止出现该条广播在发送后出现接收超时的情况,如此,对于广播队列中的广播处理将可以实现有效的监控,增强系统广播机制的健壮性,提高系统整体的稳定性。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明实施例提出的一种广播的处理方法的流程图;
图2示出了本发明实施例提出的另一种广播的处理方法的流程图;
图3示出了本发明实施例提出的一种广播的处理装置的组成框图;
图4示出了本发明实施例提出的另一种广播的处理装置的组成框图;
图5示出了本发明实施例提出的一种电子设备的组成框图。
具体实施方式
下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
本发明实施例提供了一种广播的处理方法,该方法主要应用于Android系统中,是对Android系统中的广播通知机制进行的优化改进,通过对广播过程中接收广播的情况进行监控统计,实现对广播异常状态的实时检测,减少广播异常情况的出现,从而提高系统的稳定性。本方法具体步骤如图1所示,包括:
步骤101、从广播队列中提取待处理的目标广播,获取接收所述目标广播对应的进程的连续超时次数。
Android系统中会对所有广播的消息进行排队,按从头到尾的顺序发送队列中的广播。广播队列主要分为前台队列和后台队列,前后台队列中又细分为并行队列与串列队列。其中,前台队列对每个广播接收者允许的超时时长更短;后台队列则对每个广播接收者允许的超时时长更长。并行队列是所有通过编程代码动态注册的并行广播接收者都在此队列中;串行队列是所有通过AndroidManifest.xml静态注册的广播接收者以及串行广播接收者都在此队列中。
本步骤中,是在广播队列要发送其中一个目标广播时,先获取与该目标广播相关进程的接收情况,其中,相关进程是指接收该目标广播的进程,一般地,在Android系统发出的广播会存在指定的接收进程,或者是被所有的进程所接收,而在一个进程中,会存在多个线程,而实际需要该目标广播的是该进程中的一个或多个线程,对应于每个线程会存在一个接收组件。也就是说,系统中所发送的广播会被至少一个接收组件所接收,而如果存在多个接收组件,那么这些接收组件可以是属于某一个进程的,也可以是属于多个进程的。
而对于进程的接收情况则主要是指该进程的连续超时次数,在本实施例中,每个接收组件在接收广播时,如果出现了接收超时,则会被记录对应的超时数据,当一个进程在连续接收广播时都出现超时时,就会产生连续超时次数。其中,进程在连续接收广播时,如果该进程中具有多个接收组件,则不限定该连续超时次数是由该进程中的同一个接收组件所接收的。比如,一个进程A中具有两个接收组件a和b,A连续接收了4条广播,第一条有a接收且超时,第二条由b接收也超时,此时,A的连续超时次数就是2,第三条由b接收且超时,则连续超时次数累计为3,在接收第四条时,由a接收,未超时,则连续超时次数被清零。
本实施例中,连续超时次数的统计数据时针对进程而统计的,其在获取时,需要根据所接收的进程逐一获取,即如果该目标广播有3个进程接收,则需要这3个进程各自的连续超时次数,并逐一进行后续的步骤。
步骤102、若连续超时次数达到阈值,则检测广播队列是否出现处理异常。
其中,阈值的取值可以根据实际应用的需要进行自定义设置,当进程的连续超时次数达到阈值时,触发对广播队列的异常检测操作,即当接收的进程存在连续超时时,就认为该广播队列存在处理异常的可能,其具体的检测方式需要根据具体的处理异常状态而设置,比如,广播阻塞、无法发送等异常情况,不同的异常状态需要配置对应的检测条件,对此,本实施例中不做具体限定。
当本步骤确定该广播队列出现处理异常时,执行步骤103。
步骤103、若确定广播队列处理异常,则清理进程中接收目标广播的接收组件。
由于接收目标广播的进程存在连续超时的情况,且广播队列存在处理异常,为了提高对目标广播的处理效率以及准确率,避免其继续出现接收超时的情况,因此,本步骤中会对该进程的接收组件进行清理,即禁止该接收组件接收目标广播,其中,该接收组件是指进程中需要接收目标广播的一个或多个接收组件。
结合上述图1所示的实施例可以看出,本发明实施例所提出的一种广播的处理方法,是通过对所发送广播的接收情况进行监控,统计针对进程的连续超时次数,并以此作为触发广播队列进行异常状态检测的条件,在广播队列出现异常状态时,通过清理对应进程中的接收组件减少接收广播超时情况的出现,从而缓解、消除广播队列的异常状态,增加系统广播机制的健壮性以及系统的稳定性。
进一步的,本发明实施例具体以Android系统中的广播机制为例进行详细说明检测广播队列中的阻塞异常并处理的过程,具体如图2所示,包括:
步骤201、从广播队列中提取待处理的目标广播,获取接收目标广播对应的进程的连续超时次数。
具体的,本实施例中的连续超时次数是基于接收组件接收广播所产生的超时数据统计得到的,这些超时数据一般会存储在缓存中,以便进行实时地统计更新。在实际应用中,可以通过原生Android系统中的广播超时处理机制记录每一条广播在处理过程中的所产生的超时数据,并将其存储在缓存中,作为统计各个进程的连续超时次数的基础数据。
本步骤中,在获取接收目标广播对应的进程的连续超时次数之前,系统会基于缓存中的超时数据统计各个进程的连续超时次数,即,每处理一条广播,对于接受该广播的进程,若果存在超时数据,那么将会在将会对该进程对应的超时次数在当前数值基础上加一,而如果没有超时数据,则会对该进程对应的超时次数进行清零。具体执行过程中,是以接收广播对应的进行的标识信息识别进程,如linux系统中对进程的编号Pid(ProcessIdentification),通过Pid获取对应进程的连续超时次数。当进程的连续超时次数达到预设的阈值时,执行步骤202。
步骤202、检测广播队列是否出现处理阻塞。
本实施例是针对广播队列阻塞异常进行的检测,其检测触发条件是步骤201中所获取的连续超时次数达到预设的阈值,具体的检测过程如下:
首先,判断广播队列中的待处理的广播数量是否大于预设数量,即判断该广播队列中的广播总数是否过多,该预设数量为自定义值,其为衡量广播队列中的广播数量是否阻塞的指标之一。
之后,如果大于预设数量,则进一步判断广播队列中的相同广播的数量占比是否达到预设占比,即判断在广播队列中是否存在大量的相同广播,其中,相同广播是指具有相同标识的广播,比如广播的关键字Action。预设占比也是一个自定义值,通过该判断可以确定在广播队列中的有效广播的占比情况,一般地,如果队列中的无效或重复广播越多,则广播队列出现阻塞的概率越大。
最后,当存在相同广播的数量占比达到预设占比时,就确定该广播队列已出现处理阻塞的状态,此时,需要执行步骤203进行清理操作。
步骤203、清理进程中接收目标广播的接收组件。
在本实施例中,所清理的接收组件是根据接收组件的实际工作状态而确定的,并不是针对该进程中所有接收该目标广播的接收组件进行清理。也就是说,当进程中存在多个接收该目标广播的接收组件时,本步骤将获取每个接收组件接收广播的超时数据,该超时数据可以从系统缓存中提取。
本步骤中所要清理的是接收组件可以是最近一次接收的广播超时或多次接收广播连续超时的接收组件,也可以是接收超时的广播总数量大于指定数量的接收组件。
步骤204、判断目标广播是否存在其他接收组件。
当完成上述步骤203的清理操作后,由于对目标广播所对应的街火速组件进行了清理,因此,在发送该目标广播之前,就需要进一步判断该目标广播除了被清理的接收组件外,是否还存在其他的接收组件,需要说明的是,该其他接收组件不限定是与清理的接收组件属于同一进程的接收组件,或者是其他进程所属的接收组件。
如果存在接收该目标广播的其他接收组件,则发送该目标广播,反之,由于该目标广播没有接收对象,因此,可以不再执行发送操作,直接删除该目标广播,并从广播队列中提取下一个广播进行处理。
进一步的,基于所清理的接收组件,除了上述对目标广播的处理外,本实施例还可以对广播队列中的广播进行清理,以减少广播队列中的广播数量,从而减轻队列阻塞的程度。清理广播队列中的广播的具体方式可以为:检测广播队列中的广播,判断是否存在接收组件被全部清理的广播,即检测在广播队列中是否具有无接收对象的广播,若存在,则将该广播从广播队列中删除。
步骤205、清理超时数据。
在本实施例中,实现对广播机制进行监控的关键是对超时数据的记录与统计分析,本实施例是将接收组件所产生的超时数据记录在系统的缓存中,但是考虑到系统缓存的资源有限,为了不过多占用缓存资源,就需要定期对缓存中的超时数据进行清理。
本步骤中的一种清理超时数据的触发条件是判断缓存中记录的接收超时的广播条数,即检测缓存中记录的广播条数是否达到预设条数,若达到则触发删除缓存中的超时数据。
进一步的,由于缓存中的超时数据需要进行实时统计,因此,在清理时,本步骤的优选清理方式是对超时数据进行分类,分为有效数据与无效数据,有效数据是指在后续广播发送的过程中需要进行数据统计的超时数据,而无效数据则是指接收组件所属的进程已经注销,此时该接收组件已失效,不可能再接收后续的广播。基于该分类,删除无效数据。具体的,对于无效数据的识别方式为:获取超时数据所属进程的标识信息,如进程的Pid,根据该标识信息判断对应的进程是否存在,即判断该进程是否在系统中存在,若不存在,则将该超时数据从缓存中删除。
进一步的,作为对上述广播的处理方法的实现,本发明实施例提供了一种广播的处理装置,该装置主要用于构建广播机制的自检机制,避免出现广播阻塞的异常状态。为便于阅读,本装置实施例不再对前述方法实施例中的细节内容进行逐一赘述,但应当明确,本实施例中的装置能够对应实现前述方法实施例中的全部内容。该装置如图3所示,具体包括:
获取单元31,用于从广播队列中提取待处理的目标广播,获取接收所述目标广播对应的进程的连续超时次数;
检测单元32,用于若所述获取单元31得到的连续超时次数达到阈值,则检测所述广播队列是否出现处理异常;
清理单元33,用于在所述检测单元32确定所述广播队列处理异常时,清理所述进程中接收所述目标广播的接收组件。
进一步的,如图4所示,所述装置还包括:
记录单元34,用于在所述获取单元31获取接收所述目标广播对应的进程的连续超时次数之前,记录每一条广播在处理过程中所产生的超时数据;
统计单元35,用于根据接收广播对应的进程的标识信息,利用所述记录单元34记录的超时数据统计各进程的连续超时次数。
进一步的,如图4所示,所述检测单元32包括:
第一判断模块321,用于判断所述广播队列中的待处理的广播数量是否大于预设数量;
第二判断模块322,用于在所述第一判断模块321确定大于时,判断所述广播队列中的相同广播的数量占比是否达到预设占比;
确定模块323,用于当所述第二判断模块322确定达到时,确定所述广播队列出现处理阻塞。
进一步的,如图4所示,所述清理单元33包括:
获取模块331,用于当所述进程中存在多个接收所述目标广播的接收组件时,获取每个接收组件接收广播的超时数据;
清理模块332,用于当接收组件最近一次接收的广播超时,或者所述接收组件接收超时的广播数量大于指定数量时,清理所述接收组件。
进一步的,如图4所示,所述装置还包括:
第一处理单元36,用于在清理单元33清理所述进程中接收所述目标广播的接收组件之后,判断所述目标广播是否存在其他接收组件;若存在,则发送所述目标广播;若不存在,则删除所述目标广播。
进一步的,如图4所示,所述装置还包括:
第二处理单元37,用于在清理单元33清理所述进程中接收所述目标广播的接收组件之后,检测所述广播队列中的广播,判断是否存在接收组件被全部清理的广播;若存在,则将所述广播从所述广播队列中删除。
进一步的,如图4所示,所述记录单元34还用于,将所述超时数据存储在缓存中;
所述装置还包括:
缓存清理单元38,用于检测所述记录单元34在缓存中记录的广播条数是否达到预设条数;若达到,则删除所述缓存中的超时数据。
进一步的,如图4所示,所述缓存清理单元38包括:
获取模块381,用于获取超时数据所属进程的标识信息;
检测模块382,用于根据所述获取模块381得到的标识信息判断所述进程是否存在;
删除模块383,用于当所述检测模块382确定进程不存在时,将所述超时数据从缓存中删除。
进一步的,本发明实施例还提供了一种存储介质,该存储介质用于存储的计算机程序,其中,所述计算机程序运行时控制所述存储介质所在设备执行上述的广播的处理方法。
另外,本发明实施例还提供了一种电子设备,如图5所示,包括存储器41、处理器42和通讯总线43;
所述存储器41与所述处理器42通过所述通讯总线43通讯连接;
所述存储器中存储有计算机可执行指令,所述处理器用于执行所述计算机可执行指令,以实现上述图1或图2所示广播的处理方法。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
可以理解的是,上述方法及装置中的相关特征可以相互参考。另外,上述实施例中的“第一”、“第二”等是用于区分各实施例,而并不代表各实施例的优劣。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
此外,存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
本发明还公开了以下技术方案:
A1、一种广播的处理方法,所述方法包括:
从广播队列中提取待处理的目标广播,获取接收所述目标广播对应的进程的连续超时次数;
若所述连续超时次数达到阈值,则检测所述广播队列是否出现处理异常;
若确定所述广播队列处理异常,则清理所述进程中接收所述目标广播的接收组件。
A2、根据A1所述的方法,在获取接收所述目标广播对应的进程的连续超时次数之前,所述方法还包括:
记录每一条广播在处理过程中所产生的超时数据;
根据接收广播对应的进程的标识信息,利用所述超时数据统计各进程的连续超时次数。
A3、根据A1所述的方法,检测所述广播队列是否出现处理异常,包括:
判断所述广播队列中的待处理的广播数量是否大于预设数量;
若大于,判断所述广播队列中的相同广播的数量占比是否达到预设占比;
若达到,则确定所述广播队列出现处理阻塞。
A4、根据A1所述的方法,清理所述进程中接收所述目标广播的接收组件,包括:
当所述进程中存在多个接收所述目标广播的接收组件时,获取每个接收组件接收广播的超时数据;
若接收组件最近一次接收的广播超时,或者所述接收组件接收超时的广播数量大于指定数量时,清理所述接收组件。
A5、根据A1-A4中任一项所述的方法,在清理所述进程中接收所述目标广播的接收组件之后,所述方法还包括:
判断所述目标广播是否存在其他接收组件;
若存在,则发送所述目标广播;
若不存在,则删除所述目标广播。
A6、根据A1-A4中任一项所述的方法,在清理所述进程中接收所述目标广播的接收组件之后,所述方法还包括:
检测所述广播队列中的广播,判断是否存在接收组件被全部清理的广播;
若存在,则将所述广播从所述广播队列中删除。
A7、根据A2所述的方法,记录每一条广播在处理过程中所产生的超时数据,包括:
将所述超时数据存储在缓存中;
所述方法还包括:
检测缓存中记录的广播条数是否达到预设条数;
若达到,则删除所述缓存中的超时数据。
A8、根据A7所述的方法,删除所述缓存中的超时数据,包括:
获取超时数据所属进程的标识信息;
根据所述标识信息判断所述进程是否存在;
若不存在,则将所述超时数据从缓存中删除。
B9、一种广播的处理装置,所述装置包括:
获取单元,用于从广播队列中提取待处理的目标广播,获取接收所述目标广播对应的进程的连续超时次数;
检测单元,用于若所述获取单元得到的连续超时次数达到阈值,则检测所述广播队列是否出现处理异常;
清理单元,用于在所述检测单元确定所述广播队列处理异常时,清理所述进程中接收所述目标广播的接收组件。
B10、根据B9所述的装置,所述装置还包括:
记录单元,用于在所述获取单元获取接收所述目标广播对应的进程的连续超时次数之前,记录每一条广播在处理过程中所产生的超时数据;
统计单元,用于根据接收广播对应的进程的标识信息,利用所述记录单元记录的超时数据统计各进程的连续超时次数。
B11、根据B9所述的装置,所述检测单元包括:
第一判断模块,用于判断所述广播队列中的待处理的广播数量是否大于预设数量;
第二判断模块,用于在所述第一判断模块确定大于时,判断所述广播队列中的相同广播的数量占比是否达到预设占比;
确定模块,用于当所述第二判断模块确定达到时,确定所述广播队列出现处理阻塞。
B12、根据B9所述的装置,所述清理单元包括:
获取模块,用于当所述进程中存在多个接收所述目标广播的接收组件时,获取每个接收组件接收广播的超时数据;
清理模块,用于当接收组件最近一次接收的广播超时,或者所述接收组件接收超时的广播数量大于指定数量时,清理所述接收组件。
B13、根据B9-B12中任一项所述的装置,所述装置还包括:
第一处理单元,用于在清理单元清理所述进程中接收所述目标广播的接收组件之后,判断所述目标广播是否存在其他接收组件;若存在,则发送所述目标广播;若不存在,则删除所述目标广播。
B14、根据B9-B12中任一项所述的装置,所述装置还包括:
第二处理单元,用于在清理单元清理所述进程中接收所述目标广播的接收组件之后,检测所述广播队列中的广播,判断是否存在接收组件被全部清理的广播;若存在,则将所述广播从所述广播队列中删除。
B15、根据B10所述的装置,所述记录单元还用于,将所述超时数据存储在缓存中;
所述装置还包括:
缓存清理单元,用于检测所述记录单元在缓存中记录的广播条数是否达到预设条数;若达到,则删除所述缓存中的超时数据。
B16、根据B15所述的装置,所述缓存清理单元包括:
获取模块,用于获取超时数据所属进程的标识信息;
检测模块,用于根据所述获取模块得到的标识信息判断所述进程是否存在;
删除模块,用于当所述检测模块确定进程不存在时,将所述超时数据从缓存中删除。
Claims (18)
1.一种广播的处理方法,其特征在于,所述方法包括:
从广播队列中提取待处理的目标广播,获取接收所述目标广播对应的进程的连续超时次数;
若所述连续超时次数达到阈值,则检测所述广播队列是否出现处理异常;
若确定所述广播队列处理异常,则清理所述进程中接收所述目标广播的接收组件;
若所述进程具有多个接收所述目标广播的所述接收组件,则获取接收所述目标广播对应的进程的连续超时次数包括:
获取所述进程中由各个接收所述目标广播的所述接收组件累计的连续超时次数之和作为所述进程的连续超时次数。
2.根据权利要求1所述的方法,其特征在于,在获取接收所述目标广播对应的进程的连续超时次数之前,所述方法还包括:
记录每一条广播在处理过程中所产生的超时数据;
根据接收广播对应的进程的标识信息,利用所述超时数据统计各进程的连续超时次数。
3.根据权利要求1所述的方法,其特征在于,检测所述广播队列是否出现处理异常,包括:
判断所述广播队列中的待处理的广播数量是否大于预设数量;
若大于,判断所述广播队列中的相同广播的数量占比是否达到预设占比;
若达到,则确定所述广播队列出现处理阻塞。
4.根据权利要求1所述的方法,其特征在于,清理所述进程中接收所述目标广播的接收组件,包括:
当所述进程中存在多个接收所述目标广播的接收组件时,获取每个接收组件接收广播的超时数据;
若接收组件最近一次接收的广播超时,或者所述接收组件接收超时的广播数量大于指定数量时,清理所述接收组件。
5.根据权利要求1-4中任一项所述的方法,其特征在于,在清理所述进程中接收所述目标广播的接收组件之后,所述方法还包括:
判断所述目标广播是否存在其他接收组件;
若存在,则发送所述目标广播;
若不存在,则删除所述目标广播。
6.根据权利要求1-4中任一项所述的方法,其特征在于,在清理所述进程中接收所述目标广播的接收组件之后,所述方法还包括:
检测所述广播队列中的广播,判断是否存在接收组件被全部清理的广播;
若存在,则将所述广播从所述广播队列中删除。
7.根据权利要求2所述的方法,其特征在于,记录每一条广播在处理过程中所产生的超时数据,包括:
将所述超时数据存储在缓存中;
所述方法还包括:
检测缓存中记录的广播条数是否达到预设条数;
若达到,则删除所述缓存中的超时数据。
8.根据权利要求7所述的方法,其特征在于,删除所述缓存中的超时数据,包括:
获取超时数据所属进程的标识信息;
根据所述标识信息判断所述进程是否存在;
若不存在,则将所述超时数据从缓存中删除。
9.一种广播的处理装置,其特征在于,所述装置包括:
获取单元,用于从广播队列中提取待处理的目标广播,获取接收所述目标广播对应的进程的连续超时次数;
检测单元,用于若所述获取单元得到的连续超时次数达到阈值,则检测所述广播队列是否出现处理异常;
清理单元,用于在所述检测单元确定所述广播队列处理异常时,清理所述进程中接收所述目标广播的接收组件;
若所述进程具有多个接收所述目标广播的所述接收组件,则所述获取单元用于:
获取所述进程中由各个接收所述目标广播的所述接收组件累计的连续超时次数之和作为所述进程的连续超时次数。
10.根据权利要求9所述的装置,其特征在于,所述装置还包括:
记录单元,用于在所述获取单元获取接收所述目标广播对应的进程的连续超时次数之前,记录每一条广播在处理过程中所产生的超时数据;
统计单元,用于根据接收广播对应的进程的标识信息,利用所述记录单元记录的超时数据统计各进程的连续超时次数。
11.根据权利要求9所述的装置,其特征在于,所述检测单元包括:
第一判断模块,用于判断所述广播队列中的待处理的广播数量是否大于预设数量;
第二判断模块,用于在所述第一判断模块确定大于时,判断所述广播队列中的相同广播的数量占比是否达到预设占比;
确定模块,用于当所述第二判断模块确定达到时,确定所述广播队列出现处理阻塞。
12.根据权利要求9所述的装置,其特征在于,所述清理单元包括:
获取模块,用于当所述进程中存在多个接收所述目标广播的接收组件时,获取每个接收组件接收广播的超时数据;
清理模块,用于当接收组件最近一次接收的广播超时,或者所述接收组件接收超时的广播数量大于指定数量时,清理所述接收组件。
13.根据权利要求9-12中任一项所述的装置,其特征在于,所述装置还包括:
第一处理单元,用于在清理单元清理所述进程中接收所述目标广播的接收组件之后,判断所述目标广播是否存在其他接收组件;若存在,则发送所述目标广播;若不存在,则删除所述目标广播。
14.根据权利要求9-12中任一项所述的装置,其特征在于,所述装置还包括:
第二处理单元,用于在清理单元清理所述进程中接收所述目标广播的接收组件之后,检测所述广播队列中的广播,判断是否存在接收组件被全部清理的广播;若存在,则将所述广播从所述广播队列中删除。
15.根据权利要求10所述的装置,其特征在于,所述记录单元还用于,将所述超时数据存储在缓存中;
所述装置还包括:
缓存清理单元,用于检测所述记录单元在缓存中记录的广播条数是否达到预设条数;若达到,则删除所述缓存中的超时数据。
16.根据权利要求15所述的装置,其特征在于,所述缓存清理单元包括:
获取模块,用于获取超时数据所属进程的标识信息;
检测模块,用于根据所述获取模块得到的标识信息判断所述进程是否存在;
删除模块,用于当所述检测模块确定进程不存在时,将所述超时数据从缓存中删除。
17.一种存储介质,其特征在于,所述存储介质用于存储计算机程序,其中,所述计算机程序运行时控制所述存储介质所在设备执行权利要求1-8中任意一项所述的广播的处理方法。
18.一种电子设备,其特征在于,包括存储器、处理器和通讯总线;
所述存储器与所述处理器通过所述通讯总线通讯连接;
所述存储器中存储有计算机可执行指令,所述处理器用于执行所述计算机可执行指令,以实现权利要求1-8任一项所述的方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201910887803.6A CN110633161B (zh) | 2019-09-19 | 2019-09-19 | 一种广播的处理方法及装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201910887803.6A CN110633161B (zh) | 2019-09-19 | 2019-09-19 | 一种广播的处理方法及装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN110633161A CN110633161A (zh) | 2019-12-31 |
| CN110633161B true CN110633161B (zh) | 2022-09-02 |
Family
ID=68971803
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201910887803.6A Active CN110633161B (zh) | 2019-09-19 | 2019-09-19 | 一种广播的处理方法及装置 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN110633161B (zh) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN113515424B (zh) * | 2021-04-25 | 2024-12-31 | 广东邦盛北斗技术服务有限公司 | 队列堵塞判断方法和存储介质 |
| CN116701008B (zh) * | 2022-09-23 | 2024-08-13 | 荣耀终端有限公司 | 广播方法和设备 |
Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN106851014A (zh) * | 2017-03-10 | 2017-06-13 | 广东欧珀移动通信有限公司 | 调整广播消息队列的方法、装置及终端 |
| CN106851015A (zh) * | 2017-03-10 | 2017-06-13 | 广东欧珀移动通信有限公司 | 调整广播消息队列的方法、装置及终端 |
| CN106919459A (zh) * | 2017-03-10 | 2017-07-04 | 广东欧珀移动通信有限公司 | 一种广播接收者的管理方法、装置及终端 |
| CN106921947A (zh) * | 2017-03-10 | 2017-07-04 | 广东欧珀移动通信有限公司 | 调整广播消息队列的方法、装置及终端 |
| CN106936827A (zh) * | 2017-03-10 | 2017-07-07 | 广东欧珀移动通信有限公司 | 一种广播接收者队列调整方法、装置及终端 |
| CN106933685A (zh) * | 2017-03-10 | 2017-07-07 | 广东欧珀移动通信有限公司 | 一种广播接收者的管理方法、装置及终端 |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8248936B2 (en) * | 2009-04-01 | 2012-08-21 | Lockheed Martin Corporation | Tuning congestion control in IP multicast to mitigate the impact of blockage |
-
2019
- 2019-09-19 CN CN201910887803.6A patent/CN110633161B/zh active Active
Patent Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN106851014A (zh) * | 2017-03-10 | 2017-06-13 | 广东欧珀移动通信有限公司 | 调整广播消息队列的方法、装置及终端 |
| CN106851015A (zh) * | 2017-03-10 | 2017-06-13 | 广东欧珀移动通信有限公司 | 调整广播消息队列的方法、装置及终端 |
| CN106919459A (zh) * | 2017-03-10 | 2017-07-04 | 广东欧珀移动通信有限公司 | 一种广播接收者的管理方法、装置及终端 |
| CN106921947A (zh) * | 2017-03-10 | 2017-07-04 | 广东欧珀移动通信有限公司 | 调整广播消息队列的方法、装置及终端 |
| CN106936827A (zh) * | 2017-03-10 | 2017-07-07 | 广东欧珀移动通信有限公司 | 一种广播接收者队列调整方法、装置及终端 |
| CN106933685A (zh) * | 2017-03-10 | 2017-07-07 | 广东欧珀移动通信有限公司 | 一种广播接收者的管理方法、装置及终端 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN110633161A (zh) | 2019-12-31 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN110661659B (zh) | 一种告警方法、装置、系统及电子设备 | |
| US8473789B2 (en) | Memory leak monitoring system and associated methods | |
| CN110213068B (zh) | 一种消息中间件的监控方法及相关设备 | |
| US8805999B2 (en) | Administering event reporting rules in a distributed processing system | |
| US8737231B2 (en) | Dynamic administration of event pools for relevant event and alert analysis during event storms | |
| US20180365085A1 (en) | Method and apparatus for monitoring client applications | |
| US9286143B2 (en) | Flexible event data content management for relevant event and alert analysis within a distributed processing system | |
| US8713366B2 (en) | Restarting event and alert analysis after a shutdown in a distributed processing system | |
| US8645757B2 (en) | Administering incident pools for event and alert analysis | |
| US8954811B2 (en) | Administering incident pools for incident analysis | |
| CN108572907B (zh) | 一种告警方法、装置、电子设备及计算机可读存储介质 | |
| US9658902B2 (en) | Adaptive clock throttling for event processing | |
| CN105208590A (zh) | 移动终端操作系统卡顿异常的检测恢复方法及移动终端 | |
| CN107204875B (zh) | 数据上报链路监测方法、装置、电子设备及存储介质 | |
| US20170185464A1 (en) | Detecting flapping in resource measurements | |
| CN110633161B (zh) | 一种广播的处理方法及装置 | |
| CN113206797A (zh) | 一种流量控制方法、装置、电子设备和存储介质 | |
| WO2024139333A1 (zh) | 存储集群运行状态的预测方法及装置 | |
| CN113001590A (zh) | 机器人故障恢复方法、装置、设备和计算机可读存储介质 | |
| JP5623557B2 (ja) | 診断データを収集するためのマルチスレッド化コンピューティング環境における方法、装置、およびコンピュータ・プログラム | |
| US20080098404A1 (en) | Information processing apparatus, control method for information processing apparatus and program | |
| CN113254313A (zh) | 一种监控指标异常检测方法、装置、电子设备及存储介质 | |
| CN119828648A (zh) | 异常检测方法、装置、电子设备及计算机存储介质 | |
| EP4362409A1 (en) | Noisy alarm detection and management in a communications environment | |
| CN109213615B (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 |