一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

告警信息处理方法、系统、电子设备及存储介质与流程

2021-12-14 22:38:00 来源:中国专利 TAG:


1.本技术涉及通信技术领域,尤其涉及一种告警信息处理方法、系统、电子设备及存储介质。


背景技术:

2.在通信网络出现故障时,快速找到故障原因是解决通信网络故障的重要一环,通过使用告警订阅客户端向服务器订阅服务设备的故障信息,可以快速得到故障原因,加快故障的定位。
3.目前,对告警信息订阅的配置和对告警信息的推送已经可以由告警系统自动完成,无需再对告警信息的订阅、筛选、推送、取消订阅等操作进行人工配置。
4.虽然目前已经有了可以自动运行的告警订阅系统,但当前的告警订阅系统中缺乏保障性措施,在告警订阅系统出现故障时无法有效的保护订阅信息的安全性,容易出现订阅信息的丢失。


技术实现要素:

5.本技术提供一种告警信息处理方法、系统、电子设备及存储介质,用以解决在告警订阅系统出现故障时,容易出现告警信息和订阅信息的丢失的问题。
6.第一方面,本技术提供一种告警信息处理方法,方法应用于告警信息处理系统,告警信息处理系统包括:kubernetes模块、zookeeper模块和kafka模块;kubernetes模块包括告警订阅管理微服务模块、告警订阅分发微服务模块和kubernetes管理模块;方法包括:
7.告警订阅管理微服务模块接收告警订阅客户端发送的订阅请求,其中订阅请求中包括告警过滤条件;告警订阅管理微服务模块根据订阅请求生成订阅标识,并将订阅标识和告警过滤条件作为订阅信息保存至zookeeper模块;告警订阅管理微服务模块发送创建主题信息至kafka模块,kafka模块根据创建主题信息创建一个订阅标识对应的订阅kafka主题;告警订阅管理微服务模块向kubernetes管理模块发送创建告警订阅分发微服务请求,kubernetes管理模块根据创建告警订阅分发微服务请求创建一个告警订阅分发微服务模块;告警订阅管理微服务模块将订阅kafka主题的地址和主题名称发送至告警订阅客户端;告警订阅分发微服务模块获取全量告警信息,以及从zookeeper模块中获取订阅信息;并根据订阅信息中的告警过滤条件对全量告警信息进行筛选,以得到满足告警过滤条件的目标告警信息;告警订阅分发微服务模块将目标告警信息存入订阅kafka主题中;告警订阅客户端根据订阅kafka主题的地址和主题名称从订阅kafka主题获取目标告警信息。
8.在一种可能的实现方式中,告警订阅管理微服务模块包括告警订阅管理微服务节点,告警订阅管理微服务节点包括告警订阅管理微服务主节点和告警订阅管理微服务从节点;告警订阅管理微服务模块接收告警订阅客户端发送的订阅请求之后,方法还包括:
9.告警订阅管理微服务模块创建新的告警订阅管理微服务节点;新的告警订阅管理微服务节点广播新节点加入信息至其他告警订阅管理微服务节点;当其他告警订阅管理微
服务节点接收到新节点加入信息后,所有告警订阅管理微服务节点进行投票,选举出告警订阅管理微服务主节点和告警订阅管理微服务从节点;
10.相应地,告警订阅管理微服务模块根据订阅请求生成订阅标识,并将订阅标识和告警过滤条件作为订阅信息保存至zookeeper模块,包括:
11.告警订阅管理微服务主节点根据订阅请求生成订阅标识,并将订阅标识和告警过滤条件作为订阅信息保存至zookeeper模块;
12.相应地,告警订阅管理微服务模块发送创建主题信息至kafka模块,kafka模块根据创建主题信息创建一个订阅标识对应的订阅kafka主题,包括:
13.告警订阅管理微服务主节点发送创建主题信息至kafka模块,kafka模块根据创建主题信息创建一个订阅标识对应的订阅kafka主题;
14.相应地,告警订阅管理微服务模块向kubernetes管理模块发送创建告警订阅分发微服务请求,kubernetes管理模块根据建告警订阅分发微服务请求创建一个告警订阅分发微服务模块,包括:
15.告警订阅管理微服务主节点向kubernetes管理模块发送创建告警订阅分发微服务请求,kubernetes管理模块根据告警订阅分发微服务请求创建一个告警订阅分发微服务模块;
16.相应地,告警订阅管理微服务模块将订阅kafka主题的地址和主题名称发送至对应的告警订阅客户端,包括:
17.告警订阅微服务主节点将订阅kafka主题的地址和主题名称发送至告警订阅微服务从节点,告警订阅微服务从节点将订阅kafka主题的地址和主题名称发送至告警订阅客户端。
18.在一种可能的实现方式中,所有告警订阅管理微服务节点进行投票,选举出告警订阅管理微服务主节点和告警订阅管理微服务从节点,包括:
19.每个告警订阅管理微服务节点向其他告警订阅管理微服务节点发送节点信息并接收其他告警订阅管理微服务节点发送的节点信息,节点信息包括节点特征;每个告警订阅管理微服务节点通过比较容量,将选票投向容量最大的告警订阅管理微服务节点;告警订阅微服务模块将获得选票最多的告警订阅微服务节点设置为告警订阅管理微服务主节点,其他告警订阅管理微服务节点设置为告警订阅管理微服务从节点。
20.在一种可能的实现方式中,告警订阅分发微服务模块获取全量告警信息,包括:kafka模块监测告警信息的产生,并将检测到的每一条告警信息存入全量告警kafka主题中;告警订阅分发微服务模块从全量告警kafka主题中获取所有的告警信息。在一种可能的实现方式中,选举出告警订阅管理微服务主节点和告警订阅管理微服务从节点之后,方法还包括:告警订阅管理微服务主节点接收注销订阅请求,并根据注销订阅请求,向kubernetes模块发送终止订阅指令,向zookeeper模块发送订阅信息删除指令,向kafka模块发送主题删除指令;kubernetes模块根据终止订阅指令终止与订阅标识对应的告警订阅分发微服务;zookeeper模块根据订阅信息删除指令删除与订阅标识对应的订阅信息;kafka模块根据主题删除指令删除与订阅标识对应的订阅kafka主题;订阅管理微服务模块向告警订阅客户端返回注销成功信息。
21.在一种可能的实现方式中,在告警订阅管理微服务主节点接收注销订阅请求,并
根据注销订阅请求,向kubernetes模块发送终止订阅指令,向zookeeper模块发送订阅信息删除指令,向kafka模块发送主题删除指令之前,还包括:订阅管理微服务从节点检测告警订阅客户端状态;当告警订阅客户端状态异常或订阅管理微服务从节点接收到告警订阅客户端的发送的注销订阅请求时,订阅管理微服务从节点向告警订阅管理微服务主节点发送注销订阅请求。
22.第二方面,本技术提供一种告警信息处理系统,包括:kubernetes模块、zookeeper模块和kafka模块;kubernetes模块包括告警订阅管理微服务模块、告警订阅分发微服务模块和kubernetes管理模块;
23.告警订阅管理微服务模块,用于接收告警订阅客户端发送的订阅请求,其中订阅请求中包括告警过滤条件;
24.告警订阅管理微服务模块,还用于根据订阅请求生成订阅标识,并将订阅标识和告警过滤条件作为订阅信息保存至zookeeper模块;
25.告警订阅管理微服务模块,还用于发送创建主题信息至kafka模块,kafka模块根据创建主题信息创建一个订阅标识对应的订阅kafka主题;
26.告警订阅管理微服务模块,还用于向kubernetes管理模块发送创建告警订阅分发微服务请求;
27.kubernetes管理模块,用于根据创建告警订阅分发微服务请求创建一个告警订阅分发微服务模块;
28.告警订阅管理微服务模块,还用于将订阅kafka主题的地址和主题名称发送至告警订阅客户端;
29.告警订阅分发微服务模块,还用于获取全量告警信息,以及从zookeeper模块中获取订阅信息;并根据订阅信息中的告警过滤条件对全量告警信息进行筛选,以得到满足告警过滤条件的目标告警信息;
30.告警订阅分发微服务模块,用于将目标告警信息存入订阅kafka主题中;
31.告警订阅客户端,用于根据订阅kafka主题的地址和主题名称从订阅kafka主题获取目标告警信息。
32.在一种可能的实现方式中,告警订阅管理微服务模块包括告警订阅管理微服务节点,告警订阅管理微服务节点包括告警订阅管理微服务主节点和告警订阅管理微服务从节点;告警订阅管理微服务模块接收告警订阅客户端发送的订阅请求之后:
33.告警订阅管理微服务模块,还用于创建新的告警订阅管理微服务节点;
34.新的告警订阅管理微服务节点广播新节点加入信息至其他告警订阅管理微服务节点;
35.当其他告警订阅管理微服务节点接收到新节点加入信息后,所有告警订阅管理微服务节点进行投票,选举出告警订阅管理微服务主节点和告警订阅管理微服务从节点;
36.相应地,告警订阅管理微服务模块,还用于根据订阅请求生成订阅标识,并将订阅标识和告警过滤条件作为订阅信息保存至zookeeper模块,包括:
37.告警订阅管理微服务主节点,用于根据订阅请求生成订阅标识,并将订阅标识和告警过滤条件作为订阅信息保存至zookeeper模块;
38.相应地,告警订阅管理微服务模块,用于发送创建主题信息至kafka模块,kafka模
块根据创建主题信息创建一个订阅标识对应的订阅kafka主题,包括:
39.告警订阅管理微服务主节点,还用于发送创建主题信息至kafka模块,kafka模块根据创建主题信息创建一个订阅标识对应的订阅kafka主题;
40.相应地,告警订阅管理微服务模块,还用于向kubernetes管理模块发送创建告警订阅分发微服务请求;
41.kubernetes管理模块,还用于根据建告警订阅分发微服务请求创建一个告警订阅分发微服务模块,包括:
42.告警订阅管理微服务主节点,还用于向kubernetes管理模块发送创建告警订阅分发微服务请求;
43.kubernetes管理模块,还用于根据告警订阅分发微服务请求创建一个告警订阅分发微服务模块;
44.相应地,告警订阅管理微服务模块,还用于将订阅kafka主题的地址和主题名称发送至对应的告警订阅客户端,包括:
45.告警订阅微服务主节点,还用于将订阅kafka主题的地址和主题名称发送至告警订阅微服务从节点,告警订阅微服务从节点将订阅kafka主题的地址和主题名称发送至告警订阅客户端。
46.第三方面,本技术提供一种告警信息处理电子设备,包括:处理器和存储器;
47.存储器存储计算机执行指令;
48.处理器执行存储器存储的计算机执行指令,使得处理器执行如第一方面中任一项的告警信息处理方法。
49.第四方面,本技术提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,计算机执行指令被处理器执行时用于实现如第一方面的告警信息处理方法。
50.本技术提供的告警信息处理方法、系统、电子设备及存储介质,本系统通过在告警订阅管理微服务模块接收告警订阅客户端发送的订阅请求后,告警订阅管理微服务模块可根据告警订阅请求向zookeeper模块储存订阅信息,当系统出现故障时,订阅信息不会丢失,当系统恢复后,可根据zookeeper中保存的订阅信息恢复订阅管理微服务模块和/或订阅分发微服务模块,实现告警订阅服务的重建,由此提高了系统的可靠性。告警订阅管理微服务模块还会向kubernetes管理模块发送创建告警订阅分发微服务请求,kubernetes管理模块可以根据创建告警订阅分发微服务请求创建与告警订阅客户端对应的警订阅分发微服务模块,实现告警订阅分发微服务模块的自动部署。部署多个告警订阅分发微服务模块可以降低每个告警订阅分发微服务对应的告警订阅客户端数量,从而降低告警订阅分发微服务模块故障导致的服务中断可能性。同时,告警订阅管理微服务模块还可以向kafka模块发送创建主题信息,kafka模块会根据创建主题信息创建与告警订阅客户端对应的订阅kafka主题,告警订阅管理微服务模块还可以将订阅kafka主题的地址和主题名称发送给相应告警订阅客户端,实现让告警订阅客户端能够从告警信息处理系统获取故障信息的效果。另外,kafka模块将所有检测到的告警信息存入全量告警kafka主题可以保证所有告警信息在系统出现故障时的不丢失,提高了系统稳定性。最后,告警订阅分发微服务模块可以从全量告警kafka主题提取所有告警信息,并根据订阅信息进行筛选,得到目标告警信息,
并将目标告警信息存入订阅kafka主题,使告警订阅客户端可以获得想要的告警信息。
附图说明
51.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
52.图1为本技术实施例提供的告警信息处理方法的系统架构示意图;
53.图2为本技术实施例提供的告警信息处理方法的流程示意图一;
54.图3为本技术实施例提供的告警信息处理方法流程示意图二;
55.图4为本技术实施例提供的一种注销订阅过程示意图;
56.图5为本技术实施例提供的订阅管理微服务模块示意图;
57.图6为本技术实施例提供的一种电子设备的结构示意图。
具体实施方式
58.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
59.通信网络在当下的社会生活中扮演着越来越重要的角色,当通信网络出现故障时,需要快速的找到故障原因,这时就需要收集服务设备发送的告警信息,并将合适的告警信息发送给技术人员,这就需要一套告警信息的收集和分发系统来提高告故障原因的定位效率。
60.目前,告警容器化服务已经可以实现系统的自动管理,但针对告警信息订阅和告警信息分发的具体实现过程还需要进一步说明,并且在系统出现故障时,告警订阅信息和告警信息容易丢失,系统恢复后告警服务难恢复。
61.本技术考虑到上述问题,提出一种告警信息处理方法,在该方法中,可以通过kubernetes模块容器化管理订阅管理微服务模块、告警订阅分发微服务模块,实现告警订阅请求的接收、告警信息向告警订阅客户端的分发。并且本告警信息处理系统在接收告警订阅请求后,还会产生订阅标识,并将订阅标识和订阅信息存入zookeeper模块中,实现订阅信息在本告警信息处理系统出现故障时的不丢失。此外,本告警信息处理系统在向告警订阅客户端发送目标告警信息前,还会将目标告警信息存入订阅kafka主题中,实现目标告警信息在本告警信息处理系统出现故障时的不丢失。
62.本技术实施例提供的告警信息处理方法、系统、电子设备及存储介质,可以应用于告警信息订阅和分发的场景中。其中,告警订阅信息可以是网络服务设备出现故障后向告警信息处理系统发送的告警信息,告警信息的订阅可以是告警订阅客户端订阅某类型的告警信息,而告警信息的分发是告警信息处理系统筛选出告警订阅客户端所选择的目标告警信息,并将目标告警信息发送给告警订阅客户端。
63.图1为本技术实施例提供的告警信息处理方法的系统架构示意图,如图1所示,在
左侧示出了服务设备,服务设备可以包括交换机101、服务器102等,当交换机101、服务器102)发生故障时,会向告警信息处理系统103发送告警信息,告警信息处理系统103可以将每一条告警信息并进行储存。告警信息处理系统103还可以接收告警订阅客户端发送的订阅请求,告警订阅客户端可以是手机104、电脑105等,并根据订阅请求中的告警过滤条件对全量告警进行筛选,将筛选得到的目标告警信息发送给告警订阅客户端。
64.在告警信息处理系统中,集成了告警订阅管理微服务模块106、告警订阅分发微服务模块107、zookeeper模块108、kafka模块(图中未示出)、全量告警kafka模块109、订阅kafka主题模块110、kubernetes管理模块111。
65.示例性的,告警订阅管理微服务模块106可以接收告警订阅客户端发送的订阅请求,并根据订阅请求生成订阅标识,将订阅标识和订阅请求中的告警过滤条件保存至zookeeper模块108,还会向kafka模块发送创建主题信息,kafka模块根据创建主题信息创建订阅kafka主题模块110。
66.示例性的,当告警订阅管理微服务模块106接收到告警订阅客户端发送的订阅请求后,还用于向kubernetes管理模块111发送创建告警订阅分发微服务模块请求。
67.示例性的,kubernetes管理模块111用于创建告警订阅分发微服务模块107。
68.示例性的,全量告警kafka模块109用于检测并保存发生故障的服务设备(101、102)发送的告警信息。
69.示例性的,告警订阅分发微服务模块107用于从全量告警kafka模块109提取全部告警信息、从zookeeper模块108获取告警过滤条件,并将全部告警信息根据告警过滤条件进行筛选,将通过筛选的告警信息存入订阅kafka主题模块110。
70.示例性的,告警订阅管理微服务模块106还用于将订阅kafka主题模块110对应的地址和主题名称发送给对应的告警订阅客户端。
71.示例性的,告警订阅客户端用于从订阅kafka主题获取目标告警信息
72.应该理解,在示例环境中发生故障的服务设备的数目仅仅是示例性的,更多或更少的数量都属于本技术的保护范畴。并且,在上述示例运行场景中,服务设备可以是基站中的设施、服务器、交换机或其他任何用于提供网络服务的设备,告警订阅客户端可以是服务器、个人计算机、服务器、平板、手机、掌上电脑(personal digital assistant,pda)、笔记本或其它任何具有联网功能的计算设备。而上述告警信息处理系统则可以利用具有服务器或服务器组来实现。而告警信息处理系统与告警订阅客户端或发生故障的服务设备之间传输数据所使用的网络可以包括各种类型的有线和无线网络,例如但不局限于:互联网、局域网、无线保真(wireless fidelity,wifi)、无线局域网(wireless local area networks,wlan)、蜂窝通信网络(通用分组无线服务技术(general packet radio service,gprs)、码分多址(code division multiple access,cdma)、2g/3g/4g/5g蜂窝网络)、卫星通信网络等等。
73.下面以具体地实施例对本技术的技术方案以及本技术的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本技术的实施例进行描述。
74.图2为本技术实施例提供的告警信息处理方法的流程示意图一,本技术实施例提供了一种告警信息处理方法,该方法可以由任意执行信息处理方法的装置来执行,该装置
可以通过软件和/或硬件实现。本实施例中,该装置可以集成在如图1所示的告警信息处理系统中。如图2所示,本技术实施例提供的信息处理方法包括如下步骤:
75.s201:告警订阅管理微服务模块接收告警订阅客户端发送的订阅请求,其中订阅请求中包括告警过滤条件。
76.在本步骤中,订阅请求中还可以包括消息类型、订阅时间、健康检查的url(uniform resource locator,统一资源定位器)、是否为永久注册等有关订阅的信息。其中,消息类型即订阅请求或注销请求,订约时间包括发送订阅请求的时间和订阅告警信息的时长,健康检查的url是用于后续告警信息处理系统检测告警订阅客户端状态的接口。其中订阅告警信息的时长具体例如:一年、两年。告警过滤条件可以是对告警信息类型的限定,例如服务设备停机、服务设备网络故障等;也可也是对告警信息来源的限定,例如:告警信息来源于基站、告警信息来源于交换机等。
77.s202:告警订阅管理微服务模块根据订阅请求生成订阅标识,并将订阅标识和告警过滤条件作为订阅信息保存至zookeeper模块。
78.在本步骤中,订阅标识与上述发送订阅请求的告警订阅客户端一一对应,订阅标识可以包括一串数字、一串字母、一串数字字母的组合、一串数字字母符号的组合等。
79.告警订阅管理微服务模块在接收到订阅请求后,会提取订阅请求中的告警过滤条件,并根据订阅请求生成与发送订阅请求的客户端唯一对应的订阅标识,最后将订阅标识和告警过滤条件一起存入zookeeper模块,订阅标识和告警过滤条件也会是对应的。
80.s203:告警订阅管理微服务模块发送创建主题信息至kafka模块,kafka模块根据创建主题信息创建一个订阅标识对应的订阅kafka主题。
81.在本步骤中,创建主题信息可以包括订阅标识和创建主题请求。订阅kafka主题可以存储订阅标识和其他信息。
82.s204:告警订阅管理微服务模块向kubernetes管理模块发送创建告警订阅分发微服务请求,kubernetes管理模块根据创建告警订阅分发微服务请求创建一个告警订阅分发微服务模块。
83.在本步骤中,告警订阅分发微服务模块可以是与发送订阅请求的客户端对应的,告警订阅分发微服务模块服务于特定的告警订阅客户端。即kubernetes管理模块根据创建告警订阅分发微服务请求创建一个与订阅客户端对应的告警订阅分发微服务模块。
84.在一种可能的实现方式中,kubernetes管理模块根据创建告警订阅分发微服务请求创建一个告警订阅分发微服务模块,也可以是配置已有的告警订阅分发微服务模块向新的告警订阅客户端增加服务。
85.s205:告警订阅管理微服务模块将订阅kafka主题的地址和主题名称发送至告警订阅客户端。
86.在本步骤中,订阅kafka主题具有唯一的地址和主题名称,每个订阅kafka主题与告警订阅客户端也是一一对应的。告警订阅管理微服务模块可以提取与告警订阅客户端对应的订阅kafka主题的地址和主题名称,并将此订阅kafka主题的地址和主题名称发送至发送订阅请求的告警订阅客户端。
87.s206:告警订阅分发微服务模块获取全量告警信息,以及从zookeeper模块中获取订阅信息;并根据订阅信息中的告警过滤条件对全量告警信息进行筛选,以得到满足告警
过滤条件的目标告警信息。
88.在本步骤中,全量告警信息就是故障设备的全部告警信息,全量告警信息可以由kafka模块检测得到。
89.在一种可能的实现方式中,告警订阅分发微服务模块获取全量告警信息,可以是:kafka模块监测告警信息的产生,并将检测到的每一条告警信息存入全量告警kafka主题中;告警订阅分发微服务模块从全量告警kafka主题中获取所有的告警信息。
90.具体的,kafka模块检测服务设备产生的告警信息,并将服务设备产生的告警信息存入全量告警kafka主题中,此时全量告警kafka主题就保存了所有的告警信息。而告警订阅分发微服务模块可以从全量告警kafka主题中提取所有告警信息。
91.通过将所有得到的告警信息存入全量告警kafka主题,保证了在系统出现故障时所有得到的告警信息不丢失,并且可以为后续过程中对告警信息的提取提供便利。
92.订阅分发微服务模块还会从zookeeper模块获取订阅信息,进而根据订阅信息中的告警过滤条件对获得的所有告警信息进行筛选,得到告警订阅客户端选择的需要获取的告警信息。
93.s207:告警订阅分发微服务模块将目标告警信息存入订阅kafka主题中;
94.在本步骤中,目标告警信息就是上述根据告警过滤条件对全部告警信息筛选后得到的告警信息。
95.告警订阅分发微服务根据订阅信息,将目标告警信息存入与订阅标识相对应的订阅kafka主题中。
96.s208:告警订阅客户端根据订阅kafka主题的地址和主题名称从订阅kafka主题获取目标告警信息。
97.在本步骤中,由于告警订阅客户端已经获得了与自己对应的订阅kafka主题的地址和主题名称,就可以根据订阅kafka主题的地址和主题名称与订阅kafka主题相连,并获取目标订阅信息。
98.在本实施例中,在告警订阅管理微服务模块接收告警订阅客户端发送的订阅请求后,告警订阅管理微服务模块可根据告警订阅请求向zookeeper模块储存订阅信息,当系统出现故障时,订阅信息不会丢失,当系统恢复后,可根据zookeeper中保存的订阅信息恢复订阅管理微服务模块和/或订阅分发微服务模块,实现告警订阅服务的重建,保障了订阅信息的安全性。告警订阅管理微服务模块还会向kubernetes管理模块发送创建告警订阅分发微服务请求,kubernetes管理模块可以根据创建告警订阅分发微服务请求创建与告警订阅客户端对应的警订阅分发微服务模块,实现告警订阅分发微服务模块的自动部署。部署多个告警订阅分发微服务模块可以降低每个告警订阅分发微服务对应的告警订阅客户端数量,从而降低告警订阅分发微服务模块故障导致的服务中断可能性。同时,告警订阅管理微服务模块还可以向kafka模块发送创建主题信息,kafka模块会根据创建主题信息创建与告警订阅客户端对应的订阅kafka主题,告警订阅管理微服务模块还可以将订阅kafka主题的地址和主题名称发送给相应告警订阅客户端,实现让告警订阅客户端能够从告警信息处理系统获取故障信息的效果。另外,kafka模块将所有检测到的告警信息存入全量告警kafka主题可以保证所有告警信息在系统出现故障时的不丢失,提高了系统稳定性。最后,告警订阅分发微服务模块可以从全量告警kafka主题提取所有告警信息,并根据订阅信息进行筛
选,得到目标告警信息,并将目标告警信息存入订阅kafka主题,使告警订阅客户端可以获得想要的告警信息。
99.图3为本技术实施例提供的告警信息处理方法流程示意图二。在本技术实施例中,在图2提供的实施例的基础上,上述告警订阅管理微服务模块包括告警订阅管理微服务节点,告警订阅管理微服务节点包括告警订阅管理微服务主节点和告警订阅管理微服务从节点。在上述步骤s201之后还描述了进行告警订阅管理微服务主节点的选举的过程,详述如下:
100.s301:告警订阅管理微服务模块创建新的告警订阅管理微服务节点。
101.在本步骤中,告警订阅管理微服务节点可以看做是告警订阅管理微服务模块所提起的一个实例,其中,实例就是一个独立的计算单元。新的告警订阅管理微服务节点不一定是主节点或从节点。
102.s302:新的告警订阅管理微服务节点广播新节点加入信息至其他告警订阅管理微服务节点。
103.在本步骤中,节点加入信息包括有新的节点加入的通知和投票准备信息。
104.s303:当其他告警订阅管理微服务节点接收到新节点加入信息后,所有告警订阅管理微服务节点进行投票,选举出告警订阅管理微服务主节点和告警订阅管理微服务从节点。
105.在一种可能的实现方式中,所有告警订阅管理微服务节点进行投票,选举出告警订阅管理微服务主节点和告警订阅管理微服务从节点,可以是每个告警订阅管理微服务节点向其他告警订阅管理微服务节点发送节点信息并接收其他告警订阅管理微服务节点发送的节点信息,节点信息包括节点特征;每个告警订阅管理微服务节点通过比较容量,将选票投向容量最大的告警订阅管理微服务节点;告警订阅微服务模块将获得选票最多的告警订阅微服务节点设置为告警订阅管理微服务主节点,其他告警订阅管理微服务节点设置为告警订阅管理微服务从节点。
106.在本步骤中,投票可以包括向告警订阅管理微服务模块发送选择的节点标识,也可以包括向任何可以完成投票数据统计的模块,例如zookeeper模块,发送选择的节点标识。选举过程可以包括告警订阅管理微服务模块将得票数最高的节点选为告警订阅管理微服务主节点,其他告警订阅管理微服务节点为从节点,相应的也可以是其他模块将得票数最高的节点选为主节点并对告警订阅管理微服务模块进行节点的设置。节点特征包括容量、节点标记、时间戳等信息,每个告警订阅管理微服务节点向其他告警订阅管理微服务节点发送节点信息的方式可以包括直接向其他节点发送节点信息,也可以通过先将节点信息发送给告警订阅管理微服务模块或zookeeper模块,再由告警订阅管理微服务模块或zookeeper模块转发给其他告警订阅管理微服务节点。
107.通过所有告警订阅管理微服务节点投票的方式可以比较所有告警订阅管理微服务节点的大小,由此选出容量最大的告警订阅管理微服务节点作为告警订阅管理微服务主节点,这样可以让告警订阅管理微服务主节点有足够大的内存处理信息,保证系统运行的流畅。
108.s304:告警订阅管理微服务主节点根据订阅请求生成订阅标识,并将订阅标识和告警过滤条件作为订阅信息保存至zookeeper模块。
109.s305:告警订阅管理微服务主节点发送创建主题信息至kafka模块,kafka模块根据创建主题信息创建一个订阅标识对应的订阅kafka主题。
110.s306:告警订阅管理微服务主节点向kubernetes管理模块发送创建告警订阅分发微服务请求,kubernetes管理模块根据告警订阅分发微服务请求创建一个告警订阅分发微服务模块。
111.s307:告警订阅微服务主节点将订阅kafka主题的地址和主题名称发送至告警订阅微服务从节点,告警订阅微服务从节点将订阅kafka主题的地址和主题名称发送至告警订阅客户端。
112.在本实施例中,通过告警订阅管理微服务主节点的选举,可以选择出容量最大的告警订阅管理微服务节点作为主节点,其他告警订阅管理微服务节点作为从节点,告警订阅管理微服务主节点可以负责接收告警订阅管理微服务从节点的信息,向kubernetes模块、zookeeper模块、kafka模块传递信息,由于告警订阅管理微服务主节点的容量最大,所以可以保障信息传输的稳定性和信息传输的效率。告警订阅管理微服务从节点可以监控告警订阅客户端的状态,并及时反馈给告警订阅管理微服务主节点,减少单个节点的工作量,同时防止单个节点的故障导致整个系统的瘫痪,当有告警订阅管理微服务从节点断开时,还可以再次进行选举,维持系统的稳定性。
113.在一种可能的实施方式中,当告警订阅管理微服务的主节点发生故障时,也可以进行告警订阅管理微服务主节点选举。
114.具体的,当告警订阅管理微服务的主节点发生故障时,进行告警订阅管理微服务主节点选举的选举流程可以是:当告警订阅微服务从节点无法连接告警订阅微服务主节点时,随机一个告警订阅微服务从节点向其他告警订阅微服务从节点广播投票请求,随后所有告警订阅管理微服务节点进行投票,选举出新的告警订阅管理微服务主节点。选举过程与有新的告警订阅管理微服务节点被创建时类似,这里不再赘述。在本实施例中,通过选举新的告警订阅管理微服务主节点的方式,可以避免因告警订阅管理微服务主节点故障而导致的告警订阅服务停止,提升了告警订阅服务的可靠性。
115.图4为本技术实施例提供的一种注销订阅过程示意图。如图4所示,本实施例主要描述检测告警订阅的状态和注销订阅的过程,在上述步骤s303选举出告警订阅管理微服务主节点和告警订阅管理微服务从节点之后,还包括:
116.s401:订阅管理微服务从节点会检测告警订阅客户端状态。
117.在本步骤中,订阅管理微服务从节点可以通过心跳检测的方式检测告警订阅客户端状态。其中,心跳检测就是订阅管理微服务从节点每隔一段预定时间向告警订阅客户端发送一个数据反馈请求,并接收告警订阅客户端返回的数据,若在几个预订时间内能够接收到告警订阅客户端返回的数据,则说明告警订阅客户端与订阅管理微服务从节点通信正常,否则说明告警订阅客户端与订阅管理微服务从节点的通信已经断开;心跳检测可以是各个告警订阅管理微服务从节点均衡分配的,可以是一个告警订阅管理微服务从节点检测几个告警订阅客户端,也可以是一一对应。其中预定时间可以是几秒钟也可以是几分钟。
118.s402:当告警订阅客户端状态异常或订阅管理微服务从节点接收到告警订阅客户端的发送的注销订阅请求时,订阅管理微服务从节点向告警订阅管理微服务主节点发送注销订阅请求。
119.在本步骤中,告警订阅客户端状态异常包括告警订阅客户端与订阅管理微服务从节点的通信已经断开,告警订阅客户端数据反馈异常。
120.s403:告警订阅管理微服务主节点接收注销订阅请求,并根据注销订阅请求,向kubernetes模块发送终止订阅指令,向zookeeper模块发送订阅信息删除指令,向kafka模块发送主题删除指令。
121.在本步骤中,告警订阅管理微服务主节点可以通过注销订阅请求生成与订阅标识对应的终止订阅指令、订阅信息删除指令和主题删除指令。
122.s404:kubernetes模块根据终止订阅指令终止与订阅标识对应的告警订阅分发微服务。
123.在本步骤中,终止告警订阅分发微服务可以是,停止与订阅标识对应的告警订阅分发微服务模块的运行或去除与订阅标识对应的告警订阅分发微服务模块。
124.s405:zookeeper模块根据订阅信息删除指令删除与订阅标识对应的订阅信息。
125.在本步骤中,删除与订阅标识对应的订阅信息可以包括从内存中擦除与订阅标识对应的订阅信息。
126.s406:kafka模块根据主题删除指令删除与订阅标识对应的订阅kafka主题。
127.在本步骤中,删除与订阅标识对应的订阅kafka主题可以包括将与订阅标识对应的订阅kafka主题删除或停止运行。
128.s407:订阅管理微服务模块向告警订阅客户端返回注销成功信息。
129.在本步骤中,向告警订阅客户端返回注销成功信息可以是:订阅管理微服务主节点向相应告警订阅管理微服务从节点发送注销成功信息,告警订阅管理微服务从节点将注销成功信息转发给相应的告警订阅客户端;也可以是:告警订阅管理微服务从节点直接向相应告警订阅客户端发送注销成功信息。
130.在一种可能的实现方式中,订阅管理微服务模块向告警订阅客户端返回注销成功信息后,若与注销信息对应的告警订阅管理微服务从节点只服务于该告警订阅客户端,则可以删除该告警订阅管理微服务从节点,若与注销信息对应的告警订阅管理微服务从节点服务于多个告警订阅客户端,则保留该告警订阅管理微服务从节点。
131.在本实施例中,通过检测告警订阅客户端状态或接收告警订阅客户端的注销订阅请求,可以得知告警订阅客户端当前是否还需要继续订阅,告警订阅分发微服务模块是否还需要对相应告警信息进行处理。
132.通过终止与订阅标识对应的告警订阅分发微服务、删除与订阅标识对应的订阅信息、删除与订阅标识对应的订阅kafka主题和删除告警订阅客户端对应的告警订阅管理微服务从节点可以实现相关资源释放,完成处理能力的收缩,并且由告警订阅管理微服务主节点处理注销订阅请求可以保证系统所有模块之间的协调统一。
133.继续参考参图1,如图1所示,本技术实施例提供的告警信息处理系统103包括kubernetes模块(图中未示出)、zookeeper模块108和kafka模块(图中未示出);kubernetes模块包括告警订阅管理微服务模块106、告警订阅分发微服务模块107和kubernetes管理模块111。
134.告警订阅管理微服务模块106,用于接收告警订阅客户端发送的订阅请求,其中订阅请求中包括告警过滤条件。
135.告警订阅管理微服务模块106,还用于根据订阅请求生成订阅标识,并将订阅标识和告警过滤条件作为订阅信息保存至zookeeper模块108。
136.告警订阅管理微服务模块106,还用于发送创建主题信息至kafka模块。
137.kafka模块,用于根据创建主题信息创建一个订阅标识对应的订阅kafka主题110。
138.告警订阅管理微服务模块106,还用于向kubernetes管理模块111发送创建告警订阅分发微服务请求。
139.kubernetes管理模块111,用于根据创建告警订阅分发微服务请求创建一个告警订阅分发微服务模块107。
140.告警订阅管理微服务模块106,还用于将订阅kafka主题110的地址和主题名称发送至告警订阅客户端。
141.告警订阅分发微服务模块107,用于获取全量告警信息,以及从zookeeper模块108中获取订阅信息;并根据订阅信息中的告警过滤条件对全量告警信息进行筛选,以得到满足告警过滤条件的目标告警信息。
142.告警订阅分发微服务模块107,还用于将目标告警信息存入订阅kafka主题110中。
143.告警订阅客户端,用于根据订阅kafka主题的地址和主题名称从订阅kafka主题110获取目标告警信息。
144.图5为本技术提供的订阅管理微服务模块示意图,如图5所示,告警订阅管理微服务模块106包括告警订阅管理微服务节点1061,告警订阅管理微服务节点1061包括告警订阅管理微服务主节点1062和告警订阅管理微服务从节点1063;告警订阅管理微服务模块接收告警订阅客户端发送的订阅请求之后,告警订阅管理微服务模块106,还用于创建新的告警订阅管理微服务节点。
145.新的告警订阅管理微服务节点广播新节点加入信息至其他告警订阅管理微服务节点。
146.当其他告警订阅管理微服务节点接收到新节点加入信息后,所有告警订阅管理微服务节点进行投票,选举出告警订阅管理微服务主节点1062和告警订阅管理微服务从节点1063。
147.告警订阅管理微服务主节点1062,用于根据订阅请求生成订阅标识,并将订阅标识和告警过滤条件作为订阅信息保存至zookeeper模块108。
148.告警订阅管理微服务主节点1062,还用于发送创建主题信息至kafka模块,kafka模块根据创建主题信息创建一个订阅标识对应的订阅kafka主题110。
149.告警订阅管理微服务主节点1062,还用于向kubernetes管理模块111发送创建告警订阅分发微服务请求;kubernetes管理模块111,用于根据告警订阅分发微服务请求创建一个告警订阅分发微服务模块。
150.告警订阅微服务主节1061,还用于点将订阅kafka主题110的地址和主题名称发送至告警订阅微服务从节点1062。
151.告警订阅微服务从节点1062,还用于将订阅kafka主题110的地址和主题名称发送至告警订阅客户端。
152.图6为本技术提供的一种电子设备600的结构示意图。示例的,请参见图6所示,该电子设备可以包括处理器601和存储器602。
153.存储器602,用于存储计算机执行指令。
154.处理器601,用于执行存储器602存储的计算机执行指令,使得处理器执行上述任一实施例中的告警信息处理方法的技术方案。
155.可选地,存储器602既可以是独立的,也可以跟处理器601集成在一起。当存储器602是独立于处理器601之外的器件时,服务器还可以包括:总线,用于连接存储器602和处理器601。
156.可选的,本实施例还包括:接收器和发送器,接收器603和发送器604与服务器相连接。处理器601可以控制接收器和发送器,实现向终端设备发送信息和从终端设备接收信息。
157.本技术还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机执行指令,当处理器执行计算机指令时,实现上述任一实施例中的告警信息处理方法的技术方案,其实现原理以及有益效果与告警信息处理方法的实现原理及有益效果类似,可参见告警信息处理方法的实现原理及有益效果,此处不再进行赘述。
158.本技术实施例还提供一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时,实现如上的告警信息处理方法。
159.在本技术所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
160.作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案。
161.另外,在本技术各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个单元中。上述模块成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
162.上述以软件功能模块的形式实现的集成的模块,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器执行本技术各个实施例方法的部分步骤。
163.应理解,上述处理器可以是中央处理单元(central processing unit,简称cpu),还可以是其他通用处理器、数字信号处理器(digital signal processor,简称dsp)、专用集成电路(application specific integrated circuit,简称asic)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
164.存储器可能包含高速ram存储器,也可能还包括非易失性存储nvm,例如至少一个磁盘存储器,还可以为u盘、移动硬盘、只读存储器、磁盘或光盘等。
165.总线可以是工业标准体系结构(industry standard architecture,简称isa)总
线、外部设备互连(peripheral component interconnect,简称pci)总线或扩展工业标准体系结构(extended industry standard architecture,简称eisa)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本技术附图中的总线并不限定仅有一根总线或一种类型的总线。
166.上述存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。存储介质可以是通用或专用计算机能够存取的任何可用介质。
167.一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于专用集成电路(application specific integrated circuits,简称asic)中。当然,处理器和存储介质也可以作为分立组件存在于电子设备或主控设备中。
168.本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
169.最后应说明的是:以上各实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述各实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献