一种事件处理方法、装置、电子设备和存储介质与流程

文档序号:31123047发布日期:2022-08-13 02:06阅读:43来源:国知局
一种事件处理方法、装置、电子设备和存储介质与流程

1.本公开涉及计算机技术领域,尤其涉及云计算技术领域,具体涉及一种事件处理方法、装置、电子设备、存储介质和计算机程序产品。


背景技术:

2.随着云原生技术的发生,云原生部署已经成为未来发展的趋势,各大公司的线上服务部署已经从普通容器陆续迁移到了云原生环境。


技术实现要素:

3.本公开提供了一种事件处理方法、装置、电子设备、存储介质和计算机程序产品。
4.根据本公开的一方面,提供了一种事件处理方法,包括:
5.接收事件发布方所发布的操作事件;
6.对操作事件进行筛选处理,以确定每个事件消费方所各自对应的操作事件;
7.对不同事件消费方各自对应的操作事件进行有序校验和异常中断校验,并将通过校验的操作事件发送到各自对应的事件消费方中执行。
8.根据本公开的一方面,提供了一种事件处理装置,包括:
9.事件接入模块,用于接收事件发布方所发布的操作事件;
10.事件分发模块,用于对操作事件进行筛选处理,以确定每个事件消费方所各自对应的操作事件;
11.事件适配模块,用于对不同事件消费方各自对应的操作事件进行有序校验和异常中断校验,并将通过校验的操作事件发送到各自对应的事件消费方中执行。
12.根据本公开的另一方面,提供了一种电子设备,包括:
13.至少一个处理器;以及
14.与至少一个处理器通信连接的存储器;其中,
15.存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行本公开任意实施例的事件处理方法。
16.根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,计算机指令用于使计算机执行本公开任意实施例的事件处理方法。
17.根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,计算机程序在被处理器执行时实现本公开任意实施例的事件处理方法。
18.根据本公开的技术,通过对要发给不同事件消费方的操作事件进行有序检测和异常中断检测,不但可实现操作事件的去重效果,还能及时将被中断的操作事件进行续传,由此保证了操作事件能够有效传递与执行。
19.应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
20.附图用于更好地理解本方案,不构成对本公开的限定。其中:
21.图1a是根据本公开实施例提供的事件总线的组成示意图;
22.图1b是根据本公开实施例提供的一种事件处理方法的流程示意图;
23.图2是根据本公开实施例提供的又一种事件处理方法的流程示意图;
24.图3是根据本公开实施例提供的又一种事件处理方法的流程示意图;
25.图4是根据本公开实施例提供的又一种事件处理方法的流程示意图;
26.图5是根据本公开实施例提供的应用事件总线进行程序更新的示意图;
27.图6是根据本公开实施例提供的一种事件处理装置的结构示意图;
28.图7是用来实现本公开实施例的事件处理方法的电子设备的框图。
具体实施方式
29.以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
30.在计算机云技术与云原生的普遍应用中,计算机业务方会将多个云服务供应商作为自己的服务建设平台,根据不同云服务商的不同特点和套餐组成,构建自身服务的合理化云原生架构,例如在云服务商a购买和使用存储服务,在云服务商b购买计算和流量服务,在云服务商c购买缓存和内容分发服务等。如此使得在计算机业务方,需要管理多个云服务系统中的计算机程序服务,也即需要对多个云服务系统进行操作。在此场景下,本公开方案涉及的事件发布方可以为任一计算机业务方的业务系统,事件消费方是多个为计算机业务系统提供云服务的云服务系统,事件消费方可通过对操作事件进行响应并执行相应操作,以实现对云服务系统上的计算机程序服务进行操作。
31.而为了保证事件发布方所发布的操作事件能够高效平稳的传输到事件消费方,本公开方案构建了一种连接事件发布方和事件消费方的事件总线,参见图1a,其示出了事件总线的组成示意图,其中,事件总线包括三部分组成,分别为事件接入部分、事件分发部分和事件适配器。事件接入部分主要实现接入业务系统(即事件发布方)所发布的操作事件;事件分发模块主要实现将接入的操作事件分发的不同队列中,以确定每个云服务系统所各自对应的操作事件,其中,消息队列是按照不同云服务系统(即事件消费方)进行划分的;每个云服务系统各自对应一个事件适配器,事件适配器用于对接相应的云服务系统,对接过程中从对应的消息队列中获取操作事件,并完成操作事件的校验和发送。基于事件总线的事件处理方法的具体流程可参见如下实施例。
32.图1b为本公开实施例的一种事件处理方法的流程示意图,本实施例可适用于在云原生网络架构系统中,实现业务系统对对接的多个云服务系统进行操作的情况。该方法可由一种事件处理装置来执行,该装置采用软件和/或硬件的方式实现,并集成在电子设备上。
33.具体的,参见图1b,事件处理方法如下:
34.s101、接收事件发布方所发布的操作事件。
35.本公开实施例中,由于事件发布方可以为任一计算机业务方的业务系统,事件消费方是多个为计算机业务系统提供云服务的云服务系统,因此操作事件可以是业务系统发布的对部署在云服务系统中的计算机程序服务进行相应操作的事件,例如,操作事件可以是对部署在云服务系统中计算机程序服务进行扩容、升降配置、设置参数、启停服务或数据更新的事件,除此之外,操作事件也以是其他事件,在此不做具体限定。
36.本公开实施例中,可通过预置的应用程序接口,批量接收事件发布方所发布的操作事件,也即发布方通过与预置的应用程序接口进行交互,将产生的操作事件发送到应用程序接口,以实现操作事件接入总线。在此需要说明的是,本公开方案是利用应用程序接口接收操作事件,为了保证能够及时准确的接收到事件发布方所发布的操作事件,需要应用程序接口的状态正常。因此可对接入应用程序接口的流量数据和访问耗时数据进行统计,根据统计结果监测应用程序接口的状态是否正常,若不正常,则进行异常报警,以便快速对应用程序接口进行修复,进而保证发布方所发布的操作事件能够正常接入。
37.s102、对操作事件进行筛选处理,以确定每个事件消费方所各自对应的操作事件。
38.本公开实施例中,针对已接入的操作事件,需要确定每个操作事件的目的地,也即是需要确定每个操作事件需要传递到哪个事件消费方。因此需要对接入的操作事件进行筛选处理,例如根据预设的过滤字段进行筛选,并根据筛选结果确定每个事件消费方各自对应的操作事件。示例性的,接入编号为1-10的十个操作事件,通过字段筛选后确定,编号1-3的操作事件需要传递到事件消费方a,编号4-7的操作事件需要传递到事件消费方b,编号8-10的操作事件需要传递到事件消费方c。由此可确定事件消费方a对应的操作事件为编号为1-3的事件;事件消费方b对应的操作事件为编号为4-7的事件;事件消费方c对应的操作事件为编号为8-10的事件。
39.s103、对不同事件消费方各自对应的操作事件进行有序校验和异常中断校验,并将通过校验的操作事件发送到各自对应的事件消费方中执行。
40.在确定每个事件消费方所各自对应的操作事件之后,需要完成与各事件消费方的对接,以实现将操作事件传递到各自对应的事件消费方。而与各事件消费方对接过程中,需要对不同事件消费方各自对应的操作事件进行有序校验和异常中断校验,其中,有序校验的目的是保证各操作事件能够按照时间维度顺序进行执行,并将检测出的重复的操作事件丢弃;异常中断校验的目的是检测处于中断状态的操作事件,并将处于中断状态的操作事件进行续传。进而将通过校验的操作事件按照规则发送到各自对应的事件消费方中执行。需要说明的是,由于不同的事件消费方的系统接口不同,因此在向每个事件消费方发送通过校验的操作事件时,需要根据事件消费方的系统接口详情信息,构造相应的请求,以实现操作事件的发送。除此之外,由于对接的不同事件消费方的系统接口的耗时速度与调用容量也不相同,因此在向每个事件消费方发送操作事件时,需要根据实际情况控制操作事件的发送速度,避免因为一次发送的操作事件的数量过多,而导致出现中断,进而影响操作事件的传递。
41.进一步的,在将操作事件发送到各自对应的事件消费方中执行后,从各事件消费方获取操作事件的执行结果,若成功执行则将该消息反馈到事件发布方,若是失败,则进行异常通知告警。
42.本公开方案通过对要发给不同事件消费方的操作事件进行有序检测和异常中断
检测,不但可实现操作事件的去重效果,还能及时将被中断的操作事件进行续传,由此保证了操作事件能够有效传递与执行。
43.图2是根据本公开实施例的又一事件处理方法的流程示意图。该方法是由预设的事件总线执行,参见图2,事件处理方法具体如下:
44.s201、接收事件发布方所发布的操作事件。
45.s202、根据预设的统一描述字段,重新构建操作事件的事件描述。
46.本公开实施例中,通过s201接入事件总线的操作事件都携带有对应的事件详情内容,根据预设的统一描述字段以及事件详情内容,重新构建操作事件的事件描述,如此使得所有接入的操作事件的事件描述都是基于统一描述字段构建的,可便于在事件总线中对操作事件的管理,其中,统一描述字段包括事件唯一标识、事件类型、事件来源、事件时间、事件详情内容、操作目标、调整副本数量、超时时间设置、结果回调地址中的至少一项。
47.示例性的,参见表1,其示出了统一描述字段的举例说明。
48.表1.统一描述字段表
[0049][0050]
s203、根据每个操作事件各自对应的事件描述中事件唯一标识,对接收的操作事件进行去重处理。
[0051]
考虑到消息传递机制中,为了保证消息能够被对方接受,发送方会采用重复发送的机制。基于此,本公开实施例中,提出了对接收的操作事件进行去重的思想。由于事件唯一标识(例如事件id)可以唯一表征一个操作事件,因此可根据每个操作事件的事件id,对接收的操作事件进行去重处理,其过程如下:将收到的每个操作事件按照事件id存储到预设数据库中,而且每存储一条操作事件时,将该操作事件的事件id作为查询关键词,查询预设数据库中是否有相同事件id的记录,如果存在,则说明该事件id对应的操作事件已经存在重复,将该重复操作事件丢弃处理,从而实现操作事件的去除重复功能。
[0052]
s204、对操作事件进行筛选处理,以确定每个事件消费方所各自对应的操作事件。
[0053]
s205、对不同事件消费方各自对应的操作事件进行有序校验和异常中断校验,并将通过校验的操作事件发送到各自对应的事件消费方中执行。
[0054]
其中,s204-s205的过程可参见上述实施例的描述,在此不再赘述。
[0055]
本公开实施例中,利用统一描述字段,重新构建操作事件的事件描述,便于在事件总线中对操作事件的处理;在操作事件的接入阶段,利用操作事件的事件id可实现操作事件的去重的效果。
[0056]
图3是根据本公开实施例的又一事件处理方法的流程示意图。该方法由预设的事件总线执行,参见图3,事件处理方法具体如下:
[0057]
s301、接收事件发布方所发布的操作事件。
[0058]
s302、将接收的操作事件依次分发到不同的消息队列中,其中,每个消息队列预先唯一关联一个事件消费方。
[0059]
s303、根据每个消息队列各自关联的过滤字段,对每个消息队列中的操作事件进行过滤,并根据过滤结果确定每个事件消费方各自对应的操作事件。
[0060]
本公开实施例中,事件发布方为任一计算机业务系统;事件消费方是为计算机业务系统提供云服务的云服务系统,数量为多个。基于此,可预先按照不同的事件消费方划分多个消息队列queue,使得每个消息队列预先唯一关联一个事件消费方。将接收到的操作事件依次分发到不同的消息队列中,进而根据每个消息队列各自关联的过滤字段,对每个消息队列中的操作事件进行过滤,也即是将不属于该消息队列的操作事件丢弃。示例性的,预置的消息队列有queue a、queue b和queue c,若接收到的操作事件为编号为1-10的事件,则将这10操作事件分别发送queue a、queue b和queue c中,进而queue a、queue b和queue c根据各自关联的过滤字段,对这10个操作事件进行过滤,将不满足条件的操作事件丢弃,使得queue a、queue b和queue c中各自剩余的操作事件即是与queue a、queue b和queue c关联的事件消费方相对应的事件。
[0061]
而在另一种可选的实施方式,将每个消息队列的筛选逻辑前移,也即是先根据每个队列的筛选逻辑,对接收的操作事件进行过滤,也即是先确定每个操作事件所属的消息队列,然后将各操作事件发送到各自对应的消息队列中,使得发送给消息队列的操作事件,即是与消息队列关联的事件消费方相对应的事件。
[0062]
s304、对不同事件消费方各自对应的操作事件进行有序校验和异常中断校验,并将通过校验的操作事件发送到各自对应的事件消费方中执行。
[0063]
示例性的,queue a关联的事件消费方a为例进行说明,本方案可通过预置的多个程序实例并行从queue a获取操作事件,进而对获取到的操作事件进行有序校验和异常中断校验,进而通过校验的操作事件发送到各自对应的事件消费方a中执行。
[0064]
本公开实施例中,通过各消息队列关联的过滤字段,可以快速准确的筛选出每个事件消费方各自对应的操作事件。
[0065]
图4是根据本公开实施例的又一事件处理方法的流程示意图。参见图4,事件处理方法具体如下:
[0066]
s401、接收事件发布方所发布的操作事件。
[0067]
s402、对操作事件进行筛选处理,以确定每个事件消费方所各自对应的操作事件。
[0068]
其中,s401-s402的过程可参见上述实施例,在此不再赘述。
[0069]
s403、对不同事件消费方各自对应的操作事件进行有序校验。
[0070]
由于有序校验的目的是保证操作事件能够按照时间维度顺序执行,也即需要保证
创建时间早的操作事件比创建时间晚的操作事件先执行,同时将检测出的重复的操作事件丢弃。因此进行有序校验时,针对任一事件消费方对应的操作事件,记录每个操作事件的创建时间,并根据每个操作事件的创建时间进行有序校验,其中,每个操作事件的创建时间可以根据每个操作事件的事件描述中的时间字段的值确定。具体的过程如下:
[0071]
针对任一事件消费方对应的任一操作事件,根据固定字段和该操作事件的事件描述,为该操作事件构建第一存储关键词key,并确定第一存储关键词关联的事件创建时间和事件唯一标识。示例性的,构建第一存储关键词为“key=eventhub_order_key_${paastype}_${app}”,其中,“eventhub_order_key_”为固定字串,paastype为适配器处理的云服务系统(即事件消费方)的类型代号,app为操作事件的目标操作应用名称。在第一数据库第一存储关键词对应的存储值value包含事件创建时间event_time和事件唯一标识event_id信息,例如event_time=“2022-01-1110:10:10”。
[0072]
进一步的,根据第一存储关键词,查询第一数据库中是否存在具有相同存储关键词的第一目标事件记录。若不存在,则在第一数据库中增加包括第一存储关键词,以及第一存储关键词关联的事件创建时间和事件唯一标识的事件记录,并设置事件记录的有效期(例如7天),此时有序校验通过。若存在,则根据该操作事件的事件创建时间和第一目标事件记录中的事件创建时间,进行有序校验。具体的,若该操作事件的事件创建时间小于第一目标事件记录中的事件创建时间,则表示已经有创建时间比该操作事件晚的其他操作事件通过校验,为了保证操作事件能够按照时间维度顺序执行,则该操作事件的有序校验不能通过;若该操作事件的事件创建时间等于第一目标事件记录中的事件创建时间,则判断该操作事件的事件唯一标识与第一目标事件记录中的事件唯一标识是否相同,若是,则表明该操作事件与第一目标事件记录中所记载的操作事件为重复的,此时需要将该操作事件丢弃以达到去重效果,且有序校验未通过;反之,若该操作事件的事件唯一标识与第一目标事件记录中的事件唯一标识不相同,则表明该操作事件与第一目标事件记录中所记载的操作事件不同,此时需要更新第一数据库中的记录,也即是在第一数据库中增加包括第一存储关键词,以及第一存储关键词关联的事件创建时间和事件唯一标识的事件记录,并设置事件记录的有效期,有序校验通过。除此之外,若该操作事件的事件创建时间大于第一目标事件记录中的事件创建时间,则在第一数据库中增加包括第一存储关键词,以及第一存储关键词关联的事件创建时间和事件唯一标识的事件记录,并设置事件记录的有效期,有序校验通过。
[0073]
s404、对不同事件消费方各自对应的操作事件异常中断校验。
[0074]
可选的,针对任一事件消费方对应的各操作事件,记录每个操作事件的事件状态和开始执行校验时间(可选的为操作事件进入适配器的时间),并根据每个操作事件的事件状态和开始执行校验时间进行异常中断校验。具体实现过程如下:
[0075]
首先,针对任一事件消费方对应的任一操作事件,根据固定字段和该操作事件的事件唯一标识,为该操作事件构建第二存储关键词,并确定第二存储关键词关联的开始执行校验时间和事件状态。示例性的,构建的第二存储关键词为“key=eventhub_${event_id}”,其中“eventhub_”为固定字符串,event_id为事件id,即事件唯一标识。第二存储关键词对应的存储值value包括开始执行校验时间start_time(可选的为操作事件进入适配器的时间)和事件状态status,字段内容举例start_time=“2022-01-1110:12:10”,status可
以为成功success、失败failed和进行中doing状态。
[0076]
进一步的,根据第二存储关键词,查询第二数据库中是否存在具有相同存储关键词的第二目标事件记录;若不存在,则在第二数据库中新增事件记录,也即是增加包括第二存储关键词,以及第二存储关键词关联的开始执行校验时间和事件状态的事件记录,并设置事件记录的有效期(例如2小时),进而开始适配处理,主要是包括事件发送速度控制和根据对应的云服务系统(事件消费方)的系统接口特征,构建相应的请求,以将该操作事件发送到对应的云服务系统,进而回调操作事件的执行结果,以更新该操作事件的状态;若存在,则根据该操作事件的事件状态和第二目标事件记录中的开始执行校验时间,进行异常中断校验,具体的,若该操作事件的事件状态为发送进行中,则确定当前时间与第二目标事件记录中的开始执行校验时间之间时间差值;若时间差值处于第一时长区间(例如0-2分钟内),则确定该操作事件为重复事件,并结束对该操作事件的处理流程;若时间差值处于第二时长区间(例如2-20分钟内),则确定该操作事件是因异常而中断的事件,对该操作事件信号进行回捞并重新更新该操作事件的开始执行校验时间为回捞时间,进而开始执行适配的流程,也即是将回捞的操作事件发送到对应的事件消费方中执行,并回调执行结果;若时间差值处于第三时长区间(例如大于20分钟),则确定该操作事件为超时的事件,并将该操作事件丢弃。
[0077]
需要说明的是,如果事件状态为成功success或失败failed,断当前操作事件信号的处理状态为确定状态,进行对上游业务系统的回调和应答跳过处理,结束流程。
[0078]
s405、将通过校验的操作事件发送到各自对应的事件消费方中执行。
[0079]
本公开实施例中,根据操作事件的创建时间进行有序校验,可以保证操作事件能够按照时间维度顺序执行,同时实现了事件去重;而通过事件状态和开始执行校验时间,可精准发现总线中因为异常而处于中断的操作事件,进而对被中断的操作事件进行续传。如此通过两种校验,可以保证操作事件能够有效传递和执行。
[0080]
在上述实施例的基础上,现对基于事件总线的事件处理方法进行举例说明,在事件总线上的前端产品线应用,可用来分布式计算程序应用的信息归属和分类,并更新程序应用的基础缓存信息整个流程,整个流程可参见图5。
[0081]
参见图5,在业务系统的元信息任务中心中,首先获取要更新元信息的计算机应用的数量(例如30万),获取每一个计算机程序应用列表,并将计算信息进行封装发布给事件总线,封装的信息包含类型type=1001标识,事件总线中适配器根据类型1001将一个计算机程序应用的计算任务分发给计算系统1001,该计算系统1001由多个程序实例组成,因此可以并发执行不同的计算机应用计算任务。在此应用中,计算任务包含两项具体计算功能,包括应用分组计算功能和标签更新计算功能,其中,应用分组功能是根据计算机程序应用的元信息,对程序应用所属的产品线、模块等信息进行计算(包括规则计算和定向干预等算法),标签更新是对计算机程序应用的标签属性进行新老对比,并进行老标签的删除和新标签的添加。
[0082]
在计算系统1001的应用分组功能计算完成后,将计算结果保存到数据库中,同时会发出该条数据计算后对应的程序应用更新缓存1002的任务,交给事件总线的接口接入。在事件总线内部会根据类型type=1002进行适配转发给计算系统1002,该计算任务包含更新数据缓存的这一项计算任务。计算系统1002会首先去数据库中获取更新后的数据,拿到
数据后进行数据格式化封装,组成缓存需要的数据格式,并将新的数据写入缓存中,从而替换缓存中的旧数据,达到数据缓存更新的效果。
[0083]
通过这个应用,将原来数十个小时的云信息计算任务,变成分布式的计算任务处理,在一个小时内完成全部30万条程序应用的计算任务和数据缓存更新,并且支持中断点续传和重试,提升了整体元信息任务的效率。
[0084]
图6是根据本公开实施例的事件处理装置的结构示意图,本实施例可适用于在云原生网络架构系统中,实现业务系统对对接的多个云服务系统进行操作的情况。参见图6,包括:
[0085]
事件接入模块601,用于接收事件发布方所发布的操作事件;
[0086]
事件分发模块602,用于对操作事件进行筛选处理,以确定每个事件消费方所各自对应的操作事件;
[0087]
事件适配模块603,用于对不同事件消费方各自对应的操作事件进行有序校验和异常中断校验,并将通过校验的操作事件发送到各自对应的事件消费方中执行。
[0088]
在上述实施例的基础上,可选的,事件适配模块包括有序校验单元,用于:
[0089]
针对任一事件消费方对应的操作事件,记录每个操作事件的创建时间,并根据每个操作事件的创建时间进行有序校验。
[0090]
在上述实施例的基础上,可选的,有序校验单元包括:
[0091]
第一存储词构建子单元,用于针对任一事件消费方对应的任一操作事件,根据固定字段和该操作事件的事件描述,为该操作事件构建第一存储关键词,并确定第一存储关键词关联的事件创建时间和事件唯一标识;
[0092]
第一查询子单元,用于根据第一存储关键词,查询第一数据库中是否存在具有相同存储关键词的第一目标事件记录;
[0093]
第一校验子单元,用于若不存在,则在第一数据库中增加包括第一存储关键词,以及第一存储关键词关联的事件创建时间和事件唯一标识的事件记录,并设置事件记录的有效期,有序校验通过;
[0094]
第二校验子单元,用于若存在,则根据该操作事件的事件创建时间和第一目标事件记录中的事件创建时间,进行有序校验;
[0095]
在上述实施例的基础上,可选的,第二校验子单元具体用于:
[0096]
若该操作事件的事件创建时间小于第一目标事件记录中的事件创建时间,则有序校验未通过;
[0097]
若该操作事件的事件创建时间等于第一目标事件记录中的事件创建时间,则判断该操作事件的事件唯一标识与第一目标事件记录中的事件唯一标识是否相同,若是,则有序校验未通过;
[0098]
若该操作事件的事件创建时间大于第一目标事件记录中的事件创建时间,则在第一数据库中增加包括第一存储关键词,以及第一存储关键词关联的事件创建时间和事件唯一标识的事件记录,并设置事件记录的有效期,有序校验通过。
[0099]
在上述实施例的基础上,可选的,事件适配模块包括异常中断校验单元,用于:
[0100]
针对任一事件消费方对应的各操作事件,记录每个操作事件的事件状态和开始执行校验时间,并根据每个操作事件的事件状态和开始执行校验时间进行异常中断校验。
[0101]
在上述实施例的基础上,可选的,异常中断校验单元包括:
[0102]
第二存储词构建子单元,用于针对任一事件消费方对应的任一操作事件,根据固定字段和该操作事件的事件唯一标识,为该操作事件构建第二存储关键词,并确定第二存储关键词关联的开始执行校验时间和事件状态;
[0103]
第二查询子单元,用于根据第二存储关键词,查询第二数据库中是否存在具有相同存储关键词的第二目标事件记录;
[0104]
第三校验子单元,用于若不存在,则在第二数据库中增加包括第二存储关键词,以及第二存储关键词关联的开始执行校验时间和事件状态的事件记录,并设置事件记录的有效期;
[0105]
第四校验子单元,用于若存在,则根据该操作事件的事件状态和第二目标事件记录中的开始执行校验时间,进行异常中断校验。
[0106]
在上述实施例的基础上,可选的,第四校验子单元具体用于:
[0107]
若该操作事件的事件状态为发送进行中,则确定当前时间与第二目标事件记录中的开始执行校验时间之间时间差值;
[0108]
若时间差值处于第一时长区间,则确定该操作事件为重复事件,并结束对该操作事件的处理流程;
[0109]
若时间差值处于第二时长区间,则确定该操作事件是因异常而中断的事件,对该操作事件信号进行回捞并重新更新该操作事件的开始执行校验时间为回捞时间;
[0110]
若时间差值处于第三时长区间,则确定该操作事件为超时的事件,并将该操作事件丢弃。
[0111]
在上述实施例的基础上,可选的,还包括:
[0112]
重构模块,用于根据预设的统一描述字段,重新构建操作事件的事件描述;其中,统一描述字段包括事件唯一标识、事件类型、事件来源、事件时间、事件详情内容、操作目标、调整副本数量、超时时间设置、结果回调地址中的至少一项
[0113]
在上述实施例的基础上,可选的,还包括:
[0114]
去重模块,用于根据每个操作事件各自对应的事件描述中事件唯一标识,对接收的操作事件进行去重处理。
[0115]
在上述实施例的基础上,可选的,事件分发模块包括:
[0116]
分发单元,用于将接收的操作事件依次分发到不同的消息队列中;其中,每个消息队列预先唯一关联一个事件消费方;
[0117]
过滤单元,用于根据每个消息队列各自关联的过滤字段,对每个消息队列中的操作事件进行过滤,并根据过滤结果确定每个事件消费方各自对应的操作事件。
[0118]
在上述实施例的基础上,可选的,事件发布方为任一计算机业务系统;事件消费方是多个为计算机业务系统提供云服务的云服务系统。
[0119]
本公开实施例提供的事件处理装置可执行本公开任意实施例提供的事件处理方法,具备执行方法相应的功能模块和有益效果。本实施例中未详尽描述的内容可以参考本公开任意方法实施例中的描述。
[0120]
本公开的技术方案中,所涉及的用户个人信息的获取,存储和应用等,均符合相关法律法规的规定,且不违背公序良俗。
[0121]
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
[0122]
图7示出了可以用来实施本公开的实施例的示例电子设备700的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
[0123]
如图7所示,设备700包括计算单元701,其可以根据存储在只读存储器(rom)702中的计算机程序或者从存储单元708加载到随机访问存储器(ram)703中的计算机程序,来执行各种适当的动作和处理。在ram 703中,还可存储设备700操作所需的各种程序和数据。计算单元701、rom 702以及ram 703通过总线704彼此相连。输入/输出(i/o)接口705也连接至总线704。
[0124]
设备700中的多个部件连接至i/o接口705,包括:输入单元706,例如键盘、鼠标等;输出单元707,例如各种类型的显示器、扬声器等;存储单元708,例如磁盘、光盘等;以及通信单元709,例如网卡、调制解调器、无线通信收发机等。通信单元709允许设备700通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
[0125]
计算单元701可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元701的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。计算单元701执行上文所描述的各个方法和处理,例如事件处理方法。例如,在一些实施例中,事件处理方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元708。在一些实施例中,计算机程序的部分或者全部可以经由rom702和/或通信单元709而被载入和/或安装到设备700上。当计算机程序加载到ram703并由计算单元701执行时,可以执行上文描述的事件处理方法的一个或多个步骤。备选地,在其他实施例中,计算单元701可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行事件处理方法。
[0126]
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、现场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、复杂可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
[0127]
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件
包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
[0128]
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
[0129]
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
[0130]
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。
[0131]
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
[0132]
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
[0133]
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1