一种告警推送方法及其设备和系统的制作方法

文档序号:7573588阅读:156来源:国知局
专利名称:一种告警推送方法及其设备和系统的制作方法
技术领域
本发明涉及通信技术领域的网络管理技术,尤其涉及一种告警推送方法及其设备 和系统。
背景技术
告警管理是网络管理功能中与检测设备故障、故障设备的诊断、恢复和故障排除 等措施有关的网络管理功能,其目的是保证网络能够连续、可靠的工作。
现有的告警管理技术中,设备上报告警信息给服务端,服务端收到告警后,将该告 警推送到相应具有告警处理功能的客户端。
通常,告警处理客户端首先要订阅告警,也就是订阅告警接收策略(由于告警推 送通常遵循一定推送策略,如推送时间、推送次数等),服务端保存告警接收策略与其订阅 者的对应关系。当服务端收到告警之后,根据其保持的告警接收策略与其订阅者的对应关 系,确定出该告警的订阅者客户端,然后将该告警分别推送给这些客户端。
在服务端推送告警到客户端的过程中,需要将告警逐个推送给客户端。当客户端 比较多,并且推送的告警也很多的情况下,服务端的负荷较重,这将影响其他业务的进行。发明内容
本发明实施例提供了一种告警推送方法及其设备和系统,用以减少告警推送过程 中服务端的负荷。
本发明实施例提供的告警推送方法,包括以下步骤
客户端向服务端订阅告警时,若请求订阅的告警已被其它客户端订阅,则服务端 将该客户端增加为该告警的订阅者,否则将该客户端作为该告警的订阅者并将其标识为推 送者;服务端将告警与订阅者的对应关系通知给所述告警的推送者客户端;
服务端接收到告警后将该告警推送给该告警的推送者客户端,所述推送者客户端 根据该告警与订阅者的对应关系,将该告警推送给订阅该告警的其它客户端。
上述方法中,所述将客户端增加为告警的订阅者,具体为将客户端增加为告警的 非第一订阅者;
所述将客户端作为告警的订阅者并将其标识为推送者,具体为将客户端作为告 警订阅者的第一订阅者;
所述服务端接收到告警后将该告警发送给该告警的推送者客户端,具体为所述 服务端接收到告警后将该告警推送给该告警的第一订阅者客户端。
上述方法中,还包括
当有告警订阅者客户端离线或注销时,服务端根据告警与订阅者的对应关系判断 该客户端是否是告警的推送者;
若是告警的推送者,则从相应告警的其它订阅者中选择一个订阅者并标记为推送 者,并将该离线或注销的客户端从该告警的订阅者中删除;若不是告警的推送者,则将该离线或注销的客户端从该告警的订阅者中删除;
服务端将更新后的告警与订阅者的对应关系通知给该告警的推送者客户端。
上述方法中,还包括若标识为推送者的告警订阅者客户端离线或注销期间,服务 端重新选择出告警的推送者客户端后,服务器端有告警推送失败,则在服务端将更新后的 告警与订阅者的对应关系推送给重新选择出的推送者客户端后,重新推送该告警。
本发明实施例提供的客户端设备,包括
订阅模块,用于向服务端订阅告警,以及,接收服务端返回的所请求订阅的告警与 该告警的订阅者的对应关系信息;其中,若所述客户端请求订阅的告警之前还未被其它客 户端订阅,则所述客户端被标记为该告警的推送者;
接收模块,用于接收告警;
推送模块,用于当接收模块接收到告警后,根据所述告警与该告警的订阅者的对 应关系信息,判断该客户端是否是该告警的推送者,并在判断为是时推送该告警给该告警 的其它订阅者客户端。
上述客户端设备中,所述订阅模块所接收到的所述对应关系中,若所述客户端请 求订阅的告警之前还未被其它客户端订阅,则所述客户端作为该告警的第一订阅者客户 端;
所述推送模块具体用于,在判断所述客户端是接收到的告警的第一订阅者客户端 时,推送所述告警给该告警的其它订阅者客户端。
本发明实施例提供的服务端设备,包括
订阅处理模块,用于接收客户端的告警订阅请求,并进行订阅处理后得到告警与 订阅者的对应关系信息;其中,若请求订阅的告警已被其它客户端订阅,则将该客户端增加 为该告警的订阅者,否则将该客户端作为该告警的订阅者并将其标识为推送者;
发送模块,用于将所述告警与订阅者的对应关系信息通知给订阅该告警的推送者 客户端;
接收模块,用于接收设备发送的告警;
推送模块,用于根据所述告警与订阅者的对应关系信息,将所述接收模块接收到 的告警推送给该告警的推送者客户端。
上述服务端设备中,所述订阅处理模块通过将客户端增加为告警的非第一订阅 者,将客户端增加为告警的订阅者,通过将客户端作为告警订阅者的第一订阅者,将客户端 作为告警的订阅者并将其标识为推送者;
所述推送模块具体用于,接收到告警后将该告警推送给该告警的第一订阅者客户 端。
上述服务端设备中,所述订阅处理模块还用于,当有告警订阅者客户端离线或注 销时,根据告警与订阅者的对应关系判断该客户端是否是告警的推送者;若是告警的推送 者,则从相应告警的其它订阅者中选择一个订阅者并标记为推送者,并将该离线或注销的 客户端从该告警的订阅者中删除;若不是告警的推送者,则将该离线或注销的客户端从该 告警的订阅者中删除;
所述发送模块还用于,将更新后的告警与订阅者的对应关系通知给该告警的推送 者客户端。
上述服务端设备中,所述推送模块还用于,若标识为推送者的告警订阅者客户端 离线或注销期间,所述订阅处理模块重新选择出告警的推送者客户端后,服务端有告警推 送失败,则在所述发送模块将更新后的告警与订阅者的对应关系推送给重新选择出的推送 者客户端后,重新推送该告警。
本发明实施例提供的告警推送系统,包括上述的客户端设备,以及上述的服务端 设备。
本发明的上述实施例,当客户端订阅告警接收策略时,如果该客户端是该告警接 收策略的第一个订阅者,则服务端将该客户端作为用于承担告警推送任务的推送者客户 端,该推送者客户端在收到服务端推送的告警后,向其它订阅者推送该告警,从而实现了由 客户端承担部分告警推送任务,减少了服务端的负荷。


图1为本发明实施例所涉及的网络架构示意图2为本发明实施例提供的客户端订阅告警推送策略的流程示意图3为本发明实施例提供的告警推送流程示意图4为本发明实施例提供的告警订阅信息更新流程示意图5为本发明实施例提供的客户端设备的结构示意图6为本发明实施例提供的服务端设备的结构示意图。
具体实施方式
下面结合附图对本发明实施例进行详细描述。
参见图1,为本发明实施例涉及的网络架构。其中,有1)个客户端可与服务 端进行信息交互。本发明实施例中以N个客户端都有告警接收的需求为例进行描述。
基于图1所示的网络架构以及本发明实施例的具体应用场景,图2示出了客户端 订阅告警(或称订阅告警推送策略)的流程。对于每个需要订阅告警推送策略的客户端来 说,其订阅处理过程可如图2所示,以下仅以客户端1为例进行描述,该流程可包括
步骤201,客户端1向服务端发送订阅告警推送策略的请求。
步骤202 203,服务端判断是否处理完成客户端1的所有订阅请求,若处理完成, 则转入步骤204,否则转入步骤209。
具体的,客户端1所请求订阅的告警接收策略可能有多个,服务端需要逐一处理 客户端1的各订阅请求。服务端可在对客户端1订阅告警接收策略的请求处理完成后,将 相应订阅请求标记为已处理,当服务端读取到客户端1的订阅请求中还有未标记为已处理 的订阅请求时,转入步骤204,否则转入步骤209。
步骤204 205,对于还未处理的订阅请求,服务端查询相应告警接收策略的订阅 者,如果已经存在订阅者,则转入步骤206,否则转入步骤207。
具体的,服务端会存储告警接收策略及其订阅者的对应关系信息,服务端通过查 询该对应关系信息可以获知该客户端1所请求订阅的告警接收策略是否已经存在其它订 阅者。
步骤206,在客户端1所请求订阅的告警接收策略已经存在其它订阅者的情况下,服务端将客户端1增加到该告警接收策略的订阅者列表中,然后可转入步骤208。
步骤207,在客户端1所请求订阅的告警接收策略还未有其它订阅者的情况下,服 务端将客户端1作为第一订阅者增加到该告警接收策略的订阅者列表中,然后可转入步骤 208。
具体的,在告警接收策略的订阅者列表中,作为第一订阅者的客户端将在后续告 警推送过程中,承担告警推送的任务。另一种区别承担告警推送任务的客户端与其它普通 订阅者客户端的方式是将承担告警推送任务的客户端进行标识,如标识为推送者客户端, 以与其它订阅者客户端进行区别。具体的,在本步骤中,可对客户端1进行标识,将其标识 为推送者客户端。
步骤208,服务端将该告警接收策略的引用数加1,该引用数的数值可表明订阅该 告警接收策略的客户端数量。该步骤可选。
步骤209,服务端将告警接收策略和其订阅者的对应关系信息通知给订阅了相应 告警的客户端。优选的,服务端可仅将该告警与其订阅者的对应关系信息通知给该告警的 推送者客户端(即承担该告警推送任务的客户端)。
步骤210,服务端向客户端1返回响应。
通过以上流程可以看出,当客户端订阅告警接收策略时,如果该客户端是该告警 接收策略的第一个订阅者,则该客户端将作为推送者客户端(如通过被标记为推送者客户 端的方式,或通过作为第一订阅者客户端的方式),该客户端在后续告警推送过程中将承担 相应告警的推送任务。
在基于采用上述告警接收策略订阅方式的前提下,本发明实施例提供的告警推送 流程可如图3所示,包括
步骤301,服务端收到告警。
步骤302,服务端根据其所存储的告警推送策略与其订阅者的对应关系信息,确定 承担该告警推送任务的客户端。
具体的,如果在告警接收策略订阅过程中,采用将第一订阅者作为承担告警推送 任务的客户端的情况下,本步骤中,服务端将该告警对应的订阅者列表中的第一订阅者客 户端确定为承担该告警推送任务的客户端。如果在告警接收策略订阅过程中,采用标记方 式以标记推送者客户端的情况下,本步骤中,服务端将标记为推送者客户端的客户端确定 为承担该告警推送任务的客户端。
步骤303,服务端将该告警推送给确定出的承担该告警推送任务的客户端。
步骤304 305,客户端在收到告警之后,根据其保存的告警推送策略与其订阅者 的对应关系,查询自己是否承担该告警的推送任务,如果是,则转入步骤306,否则转入步骤 307。
具体的,如果在告警接收策略订阅过程中,采用将第一订阅者作为承担告警推送 任务的客户端的情况下,本步骤中,客户端发现自己是该告警所对应的订阅者列表中的第 一订阅者,则确定自己承担该告警的推送任务。如果在告警接收策略订阅过程中,采用标记 方式以标记推送者客户端的情况下,本步骤中,客户端发现在该告警对应的订阅者列表中 自己被标记为推送者,则确定自己承担该告警的推送任务。
步骤306,该客户端将接收到的告警推送给该告警的其它订阅者客户端,并执行步骤 307。
步骤307,客户端对接收到的告警进行处理。
通过以上流程可以看出,服务端在接收到告警后,仅需将该告警推送给承担该告 警推送任务的客户端,从而由该客户端将告警推送给所有其它订阅了该告警的客户端,减 轻了服务端的负荷。
针对告警接收策略的订阅者发生变更的情况,如客户端离线、注销等,本发明实施 例提供了相应解决方案。
以客户端1离线或注销为例,如图4所示,当服务端发现客户端1离线或注销时, 告警接收策略与其订阅者的对应关系更新的流程可包括
步骤401,服务端判断客户端1是否订阅了告警接收策略,如果是,则执行步骤 402,否则结束本流程。
具体的,服务端可通过查询告警接收策略与其订阅者的对应关系来判断客户端1 是否订阅了告警接收策略。
步骤402,如果客户端1还是承担告警推送任务的客户端,则转入步骤403 ;否则转 入步骤404。
具体的,如前所述,如果采用将第一订阅者作为承担告警推送任务的客户端的情 况下,本步骤中,服务端判断客户端1是第一订阅者,则客户端1是承担告警推送任务的客 户端。如果采用标记方式以标记推送者客户端的情况下,本步骤中,服务端判断客户端1被 标记为推送者,则客户端1是承担告警推送任务的客户端。
步骤403,服务端从告警接收策略对应的订阅者列表中将客户端1删除,并从该列 表中选择一个客户端作为承担该告警的推送任务的客户端,然后转入步骤405。
具体的,如果采用将第一订阅者作为承担告警推送任务的客户端的情况下,本步 骤中,服务端将选择出的新的客户端作为第一订阅者客户端。如果采用标记方式以标记推 送者客户端的情况下,本步骤中,服务端将选择出的新的客户端标记为推送者。
具体的,服务端在重新选择推送者客户端时,可采用现有技术中的各种选择方式, 包括但不限于根据该告警的订阅者的订阅顺序,或根据订阅者客户端的负载情况进行选 择。例如,在从订阅者列表删除客户端1后,将排在其后的客户端选择为推送者客户端;又 例如,在从订阅者列表删除客户端1后,从该列表中选择当前负载最轻的客户端作为该告 警的推送者客户端。
步骤404,服务端从告警接收策略对应的订阅者列表中将客户端1删除,然后转入 步骤405。
步骤405,服务端将更新后的告警接收策略与其订阅者的对应关系信息发送给相 应的客户端。优选的,服务端将更新后的告警与其订阅者的对应关系信息仅发送给该告警 的推送者客户端。
如果客户端1订阅有多个告警推送策略,则针对每个订阅的告警推送策略,都按 照上述流程的步骤402 404进行告警推送策略与订阅者关系的更新处理。
进一步的,在客户端1离线或注销的过程中,如果服务端有告警推送给客户端1, 则会发生告警推送失败。为了解决该问题,本发明实施例提供了以下解决方案
对于未成功推送的告警,服务端待重新选择出承担告警推送任务的客户端以及进一步在将更新后的告警推送策略与其订阅者的对应关系发送给新选择出的推送者客户端 后,根据告警推送策略与其订阅者的对应关系,重新对该推送失败的告警进行推送。
综上所述,本发明的上述实施例中,第一消费者客户端收到告警之后,根据告警接 收策略和订阅者之间的关系,将告警推送给其它订阅者。通过这种客户端的分布式推送,降 低了服务端集中告警推送的工作量。
基于相同的技术构思,本发明实施例还提供了 一种客户端设备和服务端设备。
如图5所示,为本发明实施例提供的客户端设备的结构,该客户端设备可包括
订阅模块501,用于向服务端订阅告警,以及,接收服务端返回的所请求订阅的告 警与该告警的订阅者的对应关系信息500 ;其中,若所述客户端请求订阅的告警之前还未 被其它客户端订阅,则所述客户端被标记为该告警的推送者。
接收模块502,用于接收告警;
推送模块503,用于当接收模块502接收到告警后,根据所述告警与该告警的订阅 者的对应关系信息500,判断该客户端是否是该告警的推送者,并在判断为是时推送该告警 给该告警的其它订阅者客户端。
上述客户端设备中,订阅模块501所接收到的所述对应关系中,若所述客户端请 求订阅的告警之前还未被其它客户端订阅,则所述客户端作为该告警的第一订阅者客户 端;相应的,推送模块503可在判断所述客户端是接收到的告警的第一订阅者客户端时,推 送所述告警给该告警的其它订阅者客户端。
通常,客户端设备还可包括告警处理模块,用于对接收到的告警进行处理。
如图6所示,为本发明实施例提供的服务端设备的结构,该服务端设备可包括
订阅处理模块601,用于接收客户端的告警订阅请求并进行订阅处理,得到告警与 其订阅者的对应关系信息600,若请求订阅的告警已被其它客户端订阅,则将该客户端增加 为该告警的订阅者,否则将该客户端作为该告警的订阅者并将其标识为推送者;
发送模块602,用于将所述告警与订阅者的对应关系信息600通知给订阅该告警 的推送者客户端;
接收模块603,用于接收设备发送的告警;
推送模块604,用于根据告警与订阅者的对应关系信息600,将接收模块603接收 到的告警推送给该告警的推送者客户端。
上述服务端设备中,订阅处理模块601通过将客户端增加为告警的非第一订阅 者,将客户端增加为告警的订阅者,通过将客户端作为告警订阅者的第一订阅者,将客户端 作为告警的订阅者并将其标识为推送者;相应的,推送模块604可在接收到告警后将该告 警推送给该告警的第一订阅者客户端。
上述服务端设备中,订阅处理模块601还可用于,当有告警订阅者客户端离线或 注销时,根据告警与订阅者的对应关系判断该客户端是否是告警的推送者;若是告警的推 送者,则从相应告警的其它订阅者中选择一个订阅者并标记为推送者,并将该离线或注销 的客户端从该告警的订阅者中删除;若不是告警的推送者,则将该离线或注销的客户端从 该告警的订阅者中删除;相应的,发送模块602可将更新后的告警与订阅者的对应关系通 知给该告警的推送者客户端。
上述服务端设备中,推送模块604还可用于,若标识为推送者的告警订阅者客户9端离线或注销期间,订阅处理模块601重新选择出告警的推送者客户端后,服务端有告警 推送失败,则在发送模块602将更新后的告警与订阅者的对应关系推送给重新选择出的推 送者客户端后,该推送模块604重新推送该告警。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助 软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更 佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的 部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若 干指令用以使得一台终端设备(可以是手机,个人计算机,服务器,或者网络设备等)执行 本发明各个实施例所述的方法。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人 员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应 视本发明的保护范围。
权利要求
1.一种告警推送方法,其特征在于,包括以下步骤客户端向服务端订阅告警时,若请求订阅的告警已被其它客户端订阅,则服务端将该 客户端增加为该告警的订阅者,否则将该客户端作为该告警的订阅者并将其标识为推送 者;服务端将告警与订阅者的对应关系通知给所述告警的推送者客户端;服务端接收到告警后将该告警推送给该告警的推送者客户端,所述推送者客户端根据 该告警与订阅者的对应关系,将该告警推送给订阅该告警的其它客户端。
2.如权利要求1所述的方法,其特征在于,所述将客户端增加为告警的订阅者,具体 为将客户端增加为告警的非第一订阅者;所述将客户端作为告警的订阅者并将其标识为推送者,具体为将客户端作为告警订 阅者的第一订阅者;所述服务端接收到告警后将该告警发送给该告警的推送者客户端,具体为所述服务 端接收到告警后将该告警推送给该告警的第一订阅者客户端。
3.如权利要求1所述的方法,其特征在于,还包括当有告警订阅者客户端离线或注销时,服务端根据告警与订阅者的对应关系判断该客 户端是否是告警的推送者;若是告警的推送者,则从相应告警的其它订阅者中选择一个订阅者并标记为推送者, 并将该离线或注销的客户端从该告警的订阅者中删除;若不是告警的推送者,则将该离线 或注销的客户端从该告警的订阅者中删除;服务端将更新后的告警与订阅者的对应关系通知给该告警的推送者客户端。
4.如权利要求3所述的方法,其特征在于,还包括若标识为推送者的告警订阅者客户端离线或注销期间,服务端重新选择出告警的推送 者客户端后,服务器端有告警推送失败,则在服务端将更新后的告警与订阅者的对应关系 推送给重新选择出的推送者客户端后,重新推送该告警。
5.一种客户端设备,其特征在于,包括订阅模块,用于向服务端订阅告警,以及,接收服务端返回的所请求订阅的告警与该告 警的订阅者的对应关系信息;其中,若所述客户端请求订阅的告警之前还未被其它客户端 订阅,则所述客户端被标记为该告警的推送者;接收模块,用于接收告警;推送模块,用于当接收模块接收到告警后,根据所述告警与该告警的订阅者的对应关 系信息,判断该客户端是否是该告警的推送者,并在判断为是时推送该告警给该告警的其 它订阅者客户端。
6.如权利要求5所述的客户端设备,其特征在于,所述订阅模块所接收到的所述对应 关系中,若所述客户端请求订阅的告警之前还未被其它客户端订阅,则所述客户端作为该 告警的第一订阅者客户端;所述推送模块具体用于,在判断所述客户端是接收到的告警的第一订阅者客户端时, 推送所述告警给该告警的其它订阅者客户端。
7.一种服务端设备,其特征在于,包括订阅处理模块,用于接收客户端的告警订阅请求,并进行订阅处理后得到告警与订阅 者的对应关系信息;其中,若请求订阅的告警已被其它客户端订阅,则将该客户端增加为该告警的订阅者,否则将该客户端作为该告警的订阅者并将其标识为推送者;发送模块,用于将所述告警与订阅者的对应关系信息通知给订阅该告警的推送者客户端;接收模块,用于接收设备发送的告警;推送模块,用于根据所述告警与订阅者的对应关系信息,将所述接收模块接收到的告 警推送给该告警的推送者客户端。
8.如权利要求7所述的服务端设备,其特征在于,所述订阅处理模块通过将客户端增 加为告警的非第一订阅者,将客户端增加为告警的订阅者,通过将客户端作为告警订阅者 的第一订阅者,将客户端作为告警的订阅者并将其标识为推送者;所述推送模块具体用于,接收到告警后将该告警推送给该告警的第一订阅者客户端。
9.如权利要求8所述的服务端设备,其特征在于,所述订阅处理模块还用于,当有告警订阅者客户端离线或注销时,根据告警与订阅者 的对应关系判断该客户端是否是告警的推送者;若是告警的推送者,则从相应告警的其它 订阅者中选择一个订阅者并标记为推送者,并将该离线或注销的客户端从该告警的订阅者 中删除;若不是告警的推送者,则将该离线或注销的客户端从该告警的订阅者中删除;所述发送模块还用于,将更新后的告警与订阅者的对应关系通知给该告警的推送者客 户端。
10.如权利要求9所述的服务端设备,其特征在于,所述推送模块还用于,若标识为推 送者的告警订阅者客户端离线或注销期间,所述订阅处理模块重新选择出告警的推送者客 户端后,服务端有告警推送失败,则在所述发送模块将更新后的告警与订阅者的对应关系 推送给重新选择出的推送者客户端后,重新推送该告警。
11.一种告警推送系统,其特征在于,包括如权利要求5或6所述的客户端设备,以及如 权利要求7至10之一所述的服务端设备。
全文摘要
本发明公开了一种告警推送方法及其设备和系统,该方法包括客户端向服务端订阅告警时,若请求订阅的告警已被其它客户端订阅,则服务端将该客户端增加为该告警的订阅者,否则将该客户端作为该告警的订阅者并将其标识为推送者;服务端将告警与订阅者的对应关系通知给所述告警的推送者客户端;服务端接收到告警后将该告警推送给该告警的推送者客户端,所述推送者客户端根据该告警与订阅者的对应关系,将该告警推送给订阅该告警的其它客户端。采用本发明可减少告警推送过程中服务端的负荷。
文档编号H04L12/24GK102045206SQ20111002795
公开日2011年5月4日 申请日期2011年1月26日 优先权日2011年1月26日
发明者黄军 申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1