一种事件通知方法及终端与流程

文档序号:12135808阅读:220来源:国知局
本发明涉及通信
技术领域
,尤其涉及一种事件通知方法及终端。
背景技术
:Android系统针对事件的处理,是在收到系统底层网络消息后,通过发送广播事件到系统中各模块,使得各模块在收到广播事件后,执行相应的操作。在广播时,使用的是并发广播,即在同一时间内将广播事件发送给每个接收者。这样,不同的广播接收者可能在同一时间内处理相同的事件。基于目前的事件广播机制,系统中如果存在大量事件监听者,那么将很可能出现广播风暴,即系统需要在同一时间处理各个广播接收者的操作请求。比如,当用户打开手机,开启数据连接时,在数据连接刚刚建立的时刻,系统发送该数据连接的事件给所有接收者。此时,系统的中央处理器(CentralProcessingUnit,CPU)、内存等资源都可能因广播接收者的瞬时频繁操作而吃紧,从而带来系统性能瓶颈,导致系统卡顿等问题。技术实现要素:本发明实施例提供一种事件通知方法及终端,以解决现有技术中存在的采用并发广播的方式广播事件带来的系统卡顿的问题。为达到上述目的,本发明实施例采用如下技术方案:第一方面,本发明实施例提供一种事件通知方法,所述方法应用于终端,所述方法包括:确定待广播的事件;按照预先设定的应用优先级顺序,依次向各个应用发送所述事件。第二方面,本发明实施例提供一种终端,所述终端包括:处理单元,用于确定待广播的事件;广播单元,用于按照预先设定的应用优先级顺序,依次向各个应用发送所述事件。本发明实施例提供的事件通知方法及终端,相比较于现有技术中的采用并发广播的方式向所有应用通知事件相比,本发明通过确定待广播的事件;按照预先设定的应用优先级顺序,依次向各个应用发送所述事件,使得应用能够按照优先级的顺序在不同时间收到该事件,实现不同级别的应用分阶段处理网络广播事件。因此,本发明能够实施例提供的事件通知方法能够缓解系统的瞬时处理压力,避免广播风暴造成的系统卡顿等问题,有利于提高用户体验。附图说明为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。图1为本发明实施例提供的一种事件通知方法的流程图;图2为本发明实施例提供的另一种事件通知方法的流程图;图3为本发明实施例提供的一种终端的结构示意图;图4为本发明实施例提供的另一种终端的结构示意图。具体实施方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。在终端使用过程中,会产生各种事件,其中有些事件需要广播至终端中的各个模块。例如:在终端联网状态和非联网状态时,终端中的应用的功能或者提供的服务不同。因此,当终端的网络连接状态发生变化时,需要把终端的当前网络连接状态作为事件发送给终端的各个应用。终端中广播事件的一般流程为:当产生事件时,系统底层模块将事件发送给系统层,系统层通过特定的通知消息将事件广播给终端中的其他模块。其中,该系统底层模块可以为基带处理器等。例如:安卓(Android)系统针对网络连接状态这一事件的处理过程为,Android系统层在收到系统底层发送的用于表示网络当前连接状态的网络消息后,通过发送ConnectivityManager.CONNECTIVITY_ACTION广播事件到系统中各模块,使得各模块在收到广播事件后,执行相应的操作。现有技术中,在广播事件时,采用的是并发广播的方式。基于目前的事件广播机制,系统中如果存在大量事件监听者,那么将很可能出现广播风暴带来系统资源吃紧,从而带来系统性能瓶颈的问题。为了解决该问题,本发明通过改变现有的并发广播网络事件机制,实现阶段性发送广播给不同优先级别的应用,从而让高优先级的应用优先处理广播事件,低优先级的应用后处理广播事件。基于此,本发明实施例提供一种事件的通知方法,如图1所示,该方法包括:101、确定待广播的事件。其中,待广播事件可以为需要广播至终端中各个模块的事件,例如:终端开机时产生的网络连接状态事件等。在本步骤的具体实现中,该待广播的事件可以由系统底层模块产生后发送给系统层模块,系统层模块接收到该事件后,执行下述步骤102。102、按照预先设定的应用优先级顺序,依次向各个应用发送所述事件。其中,各个应用的优先级为预先设定好的。在设定优先级的一种实现方式中,可按照应用所属的类别和/或应用的使用频率,确定所述应用的优先级。下表表一给出了按照应用所属类别划分优先级的一种示例;下表表二给出了按照应用的使用频率,划分应用的优先级的一种示例。表一优先级应用列表1社交通讯类:如微信、QQ、微博等2新闻客户端:如搜狐新闻、今日头条等3金融类:平安银行、中国银行4大数据类:Gmail、Exchange、GoogleSync等其中,在表一中,表示优先级的数字越大,表明优先级越高,如社交通讯类的优先级为1,则表示此类应用的优先级最高。表二优先级应用特定时间内(如最近一天)使用次数1微信202QQ153今日头条104中国银行55Gmail2其中,表二中,表示优先级的数字越大,表明优先级越高,如微信的使用频率最高,其对应的优先级为1,则表示微信这一应用的优先级最高。其中,本步骤中所指的优先级顺序可以为按照表一所示的各个应用的优先级确定的优先级顺序,也可以为按照表二所示的各个应用的优先级确定的优先级顺序,还可以为综合考虑表一和表二所示的各个应用的优先级确定的优先级顺序。在综合考虑表一和表二所示的各个应用的优先级顺序时,可以结合两种优先级的来确定,例如:微信这一应用的优先级按照应用所属类别为优先级1,按照应用的使用频率确定应用的优先级为1,则在综合考虑这两个优先级划分规则时,其优先级确定为2;QQ这一应用的优先级按照应用所属类别为优先级1,按照应用使用频率,其优先级为2,则QQ这一应用的优先级为3。依次类推,可得到各个应用的优先级对应的优先级数字。同样,优先级数字越小,表明该应用对应的优先级越高,结合上述例子,可以得知,微信这一应用的优先级高于QQ这一应用的优先级。在其他实现方式中,在确定应用的优先级时,也可以按照应用占用内存的大小等其他维度划分优先级。在本步骤的具体实现中,按照应用优先级由高到低的顺序,依次向各个应用发送所述事件,这样,高优先级的应用可以先收到所述事件,低优先级的应用后收到所述事件。需要说明的是,当属于同一优先级的应用的个数为至少两个时,按照随机顺序依次向所述至少两个应用分别发送所述事件。或者按照并发广播的方式向所述至少两个应用同时发送所述事件。因此,本发明实施例提供的事件通知方法,相比较于现有技术中的采用并发广播的方式向所有应用通知事件相比,本发明通过确定待广播的事件;按照预先设定的应用优先级顺序,依次向各个应用发送所述事件,使得应用能够按照优先级的顺序在不同时间收到该事件实现不同级别的应用分阶段处理网络广播事件。因此,本发明能够实施例提供的事件通知方法能够缓解系统的瞬时处理压力,避免广播风暴造成的系统卡顿等问题,有利于提高用户体验。在图1所示方法的基础上,为了避免优先级较低的应用在较长时间内一直未收到事件通知,本发明实施例还提供了一种事件的通知方法,如图2所示,在所述步骤102“按照预先设定的应用优先级顺序,依次向各个应用广播所述事件”之前,所述方法还包括:201、分别确定不同优先级的应用的广播时延。其中,不用优先级的应用的广播时延可根据应用所在的优先级高低决定。一般而言,应用的优先级越高,其对应的广播时延越短。示例性的,对于表一中优先级别x=1、2、3、4的每类应用,待广播事件分别需要在事件发生后的第10s、第15秒、第18秒、第20秒内广播给相应优先级的应用。也即,处于第二优先级的应用,在第10到15秒之间要被处理。处于第三优先级的应用,就得等到第15秒才开始给其发送广播。可选的,属于同一优先级的应用的数量越多,在向该优先级的应用广播所述事件时预留的时间越长。示例性的,对于表一中优先级别x=1、2、3、4的每类应用,当第一优先级的应用数量较多时,待广播事件分别需要在事件发生后的第10s、第15秒、第18秒、第20秒内广播给相应优先级的应用。也即,处于第一优先级的应用在第0到10秒之间被处理,也即为第一优先级的应用预留的处理时间为10秒;处于第二优先级的应用在第10到15秒之间要被处理,也即为第二优先级的应用预留的处理时间为5秒。相应的,在所述步骤102“按照预先设定的应用优先级顺序,依次向各个应用广播所述事件”之后,所述方法还包括:202、判断向同一优先级的应用广播所述事件的广播时间是否超过所述优先级对应的广播时延。如果是,则执行步骤203。如果否,则执行步骤204。203、向下一优先级的应用发送所述事件。204、判断所述同一优先级的应用中是否还存在未收到所述事件的应用。如果存在,则执行步骤205。如果不存在,则执行步骤203。205、继续向所述未收到事件的应用广播所述事件。经过上述步骤201至步骤205的处理过程,本发明实施例提供的事件通知方法中,通过分别为不同优先级的应用设定相应的广播时延,限定了不同优先级的应用的最长广播时间,避免在较高。对于那些由于播放时延已到但仍未收到事件通知的其他应用,可有两种处理方式:第一种处理方式为按照应用的优先级顺序将事件广播至所有应用直至优先级最低的应用后,向由于播放时延已到而未收到事件通知的所有应用采用现有的并发广播的机制广播该事件。第二种处理方式为,在向下一优先级的应用广播所述事件之前,也即执行步骤203之前,向当前优先级中由于播放时延已到而未收到事件通知的所有应用采用现有的并发广播的机制广播该事件。本发明实施例还提供了一种终端,用于执行上述方法,如图3所示,该终端包括:处理单元301,用于确定待广播的事件。广播单元302,用于按照预先设定的应用优先级顺序,依次向各个应用发送所述处理单元301确定的事件。可选的,所述广播单元302,具体用于当属于同一优先级的应用的个数为至少两个时,按照随机顺序向所述至少两个应用分别发送所述事件。本发明实施例提供的终端,相比较于现有技术中的采用并发广播的方式向所有应用通知事件相比,本发明通过确定待广播的事件;按照预先设定的应用优先级顺序,依次向各个应用发送所述事件,使得应用能够按照优先级的顺序在不同时间收到该事件实现不同级别的应用分阶段处理网络广播事件。因此,本发明能够实施例提供的事件通知方法能够缓解系统的瞬时处理压力,避免广播风暴造成的系统卡顿等问题,有利于提高用户体验。其中,所述处理单元301,还用于按照应用所属的类别和/或应用的使用频率,确定所述应用的优先级。为了避免优先级较低的应用在较长时间内一直未收到事件通知,所述处理单元301,还用于分别确定不同优先级的应用的广播时延;判断向同一优先级的应用广播所述事件的广播时间是否超过所述优先级对应的广播时延;如果是,则指示所述广播单元302向下一优先级的应用发送所述事件。进一步的,所述处理单元301,还用于如果向同一优先级的应用广播所述事件的广播时间未超过所述优先级对应的广播时延,则判断所述同一优先级的应用中是否还存在未收到所述事件的应用;如果存在,则指示所述广播单元302向所述未收到所述事件的应用广播所述事件;如果不存在,则指示所述广播单元302向下一优先级的应用广播所述事件。如图4所示,本发明实施例提供一种终端,包括:处理器401、存储器402、收发器403以及总线404,所述处理器401、存储器402和收发器403通过所述总线404互相通信。其中,所述存储器402用于存储多个指令以实现本发明提供的事件通知方法,所述处理器401执行所述多个指令以实现确定待广播的事件;按照预先设定的应用优先级顺序,依次向各个应用发送所述事件。其中,所述处理器401还用于当属于同一优先级的应用的个数为至少两个时,按照随机顺序向所述至少两个应用分别发送所述事件。进一步的,所述处理器401还用于确按照应用所属的类别和/或应用的使用频率,确定所述应用的优先级。进一步的,所述处理器401还用于分别确定不同优先级的应用的广播时延;判断向同一优先级的应用广播所述事件的广播时间是否超过所述优先级对应的广播时延;如果是,则向下一优先级的应用发送所述事件。进一步的,所述处理器401还用于当向同一优先级的应用广播所述事件的广播时间未超过所述优先级对应的广播时延时,判断所述同一优先级的应用中是否还存在未收到所述事件的应用;如果存在,则向所述未收到所述事件的应用广播所述事件;如果不存在,则向下一优先级的应用广播所述事件。。其中,本发明实施例所述的处理器401可以是一个处理器,也可以是多个处理元件的统称。例如,该处理器401可以是中央处理器(CentralProcessingUnit,简称CPU),也可以是特定集成电路(ApplicationSpecificIntegratedCircuit,简称ASIC),或者是被配置成实施本发明实施例的一个或多个集成电路,例如:一个或多个微处理器(digitalsignalprocessor,简称DSP),或,一个或者多个现场可编程门阵列(FieldProgrammableGateArray,简称FPGA)。存储器402可以是一个存储装置,也可以是多个存储元件的统称,且用于存储可执行程序代码等。且存储器402可以包括随机存储器(RAM),也可以包括非易失性存储器(non-volatilememory),例如磁盘存储器,闪存(Flash)等。总线404可以是工业标准体系结构(IndustryStandardArchitecture,ISA)总线、外部设备互连(PeripheralComponent,PCI)总线或扩展工业标准体系结构(ExtendedIndustryStandardArchitecture,EISA)总线等。该总线404可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于终端实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-OnlyMemory,ROM)或随机存储记忆体(RandomAccessMemory,RAM)等。以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本
技术领域
的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1