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

异常事件的检测方法、装置、电子设备及计算机存储介质与流程

2022-06-16 05:48:12 来源:中国专利 TAG:


1.本技术涉及事件处理技术领域,具体而言,本技术涉及一种异常事件的检测方法、装置、电子设备及计算机可读存储介质。


背景技术:

2.当前的通信系统中,业务系统繁多且其内部的处理规则也较为复杂,有较多的业务场景会触发对用户的停机、断网、短信提醒等操作,一旦业务系统的配置出现错误,或者业务系统处理逻辑发生错误,会瞬间产生大量的异常事件,如导致用户被断网、停机或收到大量提醒短信,而这些异常事件一旦产生,影响的用户的数量非常之大,给用户体验、运营商都会产生负面影响。
3.现有技术中一般是根据业务系统实际的需求,针对业务系统中的处理环节,对于某一类事件设计相关的异常识别方式,覆盖的范围较小,扩展能力也较差,并且也不能在异常事件发生之前检测出异常,影响用户体验。


技术实现要素:

4.本技术实施例提供了一种异常事件的检测方法、装置、电子设备及计算机可读存储介质,可以解决上述问题。所述技术方案如下:
5.根据本技术实施例的一个方面,提供了一种异常事件的检测方法,该方法包括:
6.基于预设的第一线程,处理待处理的事件;
7.基于预设的第二线程,获取第一线程中正在处理的事件,将事件存入预设的imdb消息队列中;
8.若确定存入imdb消息队列中的事件为异常事件,则停止处理第一线程中的事件。
9.在一个可能的实现方式中,基于预设的第二线程,获取第一线程中正在处理的事件,将事件存入预设的imdb消息队列中,之前还包括:
10.获取历史事件,确定历史事件的属性,属性包括历史事件的触发源、业务类型以及处理环节中的至少一种;
11.对属性进行组合,获得事件清单,事件清单用于记录属性组合而成的事件。
12.在另一个可能的实现方式中,基于预设的第二线程,获取第一线程中正在处理的事件,将事件存入预设的imdb消息队列中,包括:
13.基于预设的第二线程,若确定第一线程中正在处理的事件为记录在事件清单中的事件,则将正在处理的事件按处理的时间顺序存入imdb消息队列中。
14.在又一个可能的实现方式中,确定存入imdb消息队列中的事件为异常事件,包括:
15.确定存入imdb消息队列中的事件的发生次数以及事件内容;
16.若确定发生次数大于预设阈值,和/或,若确定事件内容与预设内容不符,则确定待处理的事件为异常事件。
17.根据本技术实施例的另一个方面,提供了一种异常事件的检测装置,该装置包括:
18.第一线程模块,用于基于预设的第一线程,获取待处理的事件;
19.第二线程模块,用于基于预设的第二线程,获取第一线程正在处理的事件,将事件存入预设的imdb消息队列中;
20.检测模块,用于若确定存入imdb消息队列中的事件为异常事件,则停止处理第一线程中的事件。
21.根据本技术实施例的另一个方面,提供了一种电子设备,该电子设备包括存储器、处理器及存储在存储器上的计算机程序,处理器执行计算机程序以实现上述异常事件的检测方法的步骤。
22.根据本技术实施例的再一个方面,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时上述异常事件的检测方法的步骤。
23.本技术实施例提供的技术方案带来的有益效果是:
24.本技术实施例通过预设的两个线程,分别对应处理待处理的事件,和检测正在处理的事件是否为异常事件,异常事件的检测不会影响正常的处理流程,并具体通过在预设的消息队列中检测异常,提升了检测出异常的速度,并且可以在异常事件发生之前检测出异常,能够及时阻止异常事件的发生。
附图说明
25.为了更清楚地说明本技术实施例中的技术方案,下面将对本技术实施例描述中所需要使用的附图作简单地介绍。
26.图1为本技术实施例提供的一种异常事件的检测方法的流程示意图;
27.图2为本技术实施例提供的一种事件处理的流程示意图;
28.图3为本技术实施例提供的一种确定事件属性的方法的流程示意图;
29.图4为本技术实施例提供的一种两属性事件的组合的示意图;
30.图5为本技术实施例提供的一种事件采集的示意图;
31.图6为本技术实施例提供的一种同步检测方式的示意图;
32.图7位本技术实施例提供的一种功能架构的示意图;
33.图8为本技术实施例提供的一种异常事件的检测装置的结构示意图;
34.图9为本技术实施例提供的一种异常事件的检测方法的电子设备的结构示意图。
具体实施方式
35.下面结合本技术中的附图描述本技术的实施例。应理解,下面结合附图所阐述的实施方式,是用于解释本技术实施例的技术方案的示例性描述,对本技术实施例的技术方案不构成限制。
36.本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本技术实施例所使用的术语“包括”以及“包含”是指相应特征可以实现为所呈现的特征、信息、数据、步骤、操作、元件和/或组件,但不排除实现为本技术领域所支持其他特征、信息、数据、步骤、操作、元件、组件和/或它们的组合等。应该理解,当我们称一个元件被“连接”或“耦接”到另一元件时,该一个元件可以直接连接或耦接到另一元件,也可以指该一个元件和另一元件通过中间元件
建立连接关系。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的术语“和/或”指示该术语所限定的项目中的至少一个,例如“a和/或b”指示实现为“a”,或者实现为“a”,或者实现为“a和b”。
37.为使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术实施方式作进一步地详细描述。
38.首先对本技术涉及的名词进行介绍和解释:
39.内存数据库(in-memory database,imdb),是一种依赖于主存作为数据存储介质的一种数据库管理系统,相比于磁盘的数据库管理系统,因系统cpu能够直接访问imdb,相比于传统的基于磁盘的数据库管理系统,imdb速度快得多,其常用的数据存放在内存中,提高数据访问的速度,支持通过标准sql或者linq的方式实现对内存数据的聚合、计算和查询等。
40.本技术实施例的应用场景是在通信领域中的业务系统中,对业务系统中所正在处理的事件进行检测,在目前的通信系统中,业务系统繁多且其内部的处理规则也较为复杂,实际情况中有较多的业务场景会触发对用户的停机、断网或短信提醒等事件,一旦业务系统的配置出现错误,或者业务系统处理过程中逻辑出现错误,会瞬间产生大量的异常事件,如导致用户被断网、停机或收到大量提醒短信,这些异常事件一旦产生,影响到的用户的数量可能会非常大,不仅给用户体验造成极大影响,也会对运营商产生负面影响。
41.现有技术中对于异常事件的识别方式,一般是根据业务系统的实际需求,针对业务系统实际处理事件的处理环节,对于每一类事件单独设计开发对应的异常识别方式,这样的方式覆盖的范围较小,扩展能力也较差,处理的过程分散在业务系统的各个环节中,对业务系统的性能、稳定性等都会产生影响,并且也不能在异常事件发生之前检测出存在异常,往往采取事后补偿的方式来弥补,影响用户体验。
42.本技术提供的异常事件的检测方法、装置、电子设备及计算机可读存储介质,旨在解决现有技术的如上技术问题。
43.下面通过对几个示例性实施方式的描述,对本技术实施例的技术方案以及本技术的技术方案产生的技术效果进行说明。需要指出的是,下述实施方式之间可以相互参考、借鉴或结合,对于不同实施方式中相同的术语、相似的特征以及相似的实施步骤等,不再重复描述。
44.本技术实施例中提供了一种异常事件的检测方法,如图1所示,该方法包括:
45.s101、基于预设的第一线程,处理待处理的事件。
46.预设的第一线程,是用于处理业务系统中待处理的事件,具体的处理流程是根据业务系统在实际情况下的具体流程确定,例如对于事件:向用户a发送内容为话费不足5元的提醒短信,处理的具体流程可以为获取用户a的话费余额,若确定用户a的话费余额小于5元,则生成内容为话费不足5元的提醒短信,将该提醒短信发送给用户a,本技术实施例不作具体限定。
47.事件是指业务系统中面向用户的处理事项,面向用户,即用户可感知到,例如发送提醒短信、断网、停机等。
48.s102、基于预设的第二线程,获取第一线程中正在处理的事件,将事件存入预设的imdb消息队列中。
49.预设的第二线程是本技术实施例中在业务系统正常的处理事件流程之外,即第一线程之外建立的另一个线程,用于检测第一线程中正在处理的事件是否为异常事件,具体地,是获取第一线程中正在处理的事件,并存入预设的消息队列中,在消息队列中检测第一线程中正在处理的事件。
50.在本技术实施例中预设的消息队列采用imdb消息队列,imdb消息队列是基于内存运行的,可以将存入消息队列中的事件放在内存中直接进行操作,而在内存中数据的读写速度相比于在磁盘中读取数据要高出几个数量级,本技术实施例中将事件存入imdb消息队列中来检测事件是否为异常事件的速度是非常快的。
51.s103、若确定存入imdb消息队列中的事件为异常事件,则停止处理第一线程中的事件。
52.在第二线程中将获取到的第一线程中正在处理的事件存入预设的消息队列后,可以在消息队列中检测事件是否为异常事件,若确定存入消息队列中的事件为异常事件,则停止第一线程中该事件的处理,在第一线程中处理该事件的同时,在第二线程中检测该事件是否为异常事件。
53.因利用mdb消息队列处理速度较快,在第一线程中还未处理完该事件时,就判断完成该事件是否为异常事件,若该事件为异常事件,从而能够在该异常事件发生之前检测出,并且能够及时停止该异常事件的处理,避免该异常事件的发生。
54.图2为本技术实施例提供的一种事件处理的流程示意图,如图2所示,事件通过第一线程和第二线程进行处理,第二线程包括事件采集,然后存入imdb消息队列进行异常检测,获得异常检测结果;第一线程包括事件处理,对异常检测结果进行判断,到事件处理完成。
55.本技术实施例通过预设的两个线程,分别对应处理待处理的事件,和检测正在处理的事件是否为异常事件,异常事件的检测不会影响正常的处理流程,并具体通过在预设的消息队列中检测异常,提升了检测出异常的速度,并且可以在异常事件发生之前检测出异常,能够及时阻止异常事件的发生。
56.本技术实施例中提供了一种可能的实现方式,如图3所示,基于预设的第二线程,获取第一线程中正在处理的事件,将事件存入预设的imdb消息队列中,之前还包括:
57.s201、获取历史事件,确定历史事件的属性,属性包括历史事件的触发源、业务类型以及处理环节中的至少一种。
58.历史事件,指的是业务系统之前已处理过的所有的事件,包含了所有可能出现的事件,对于每一个历史事件,可以根据业务系统的实际情况定义历史事件的属性,确定组成历史事件的各个属性。
59.历史事件的属性包括历史事件的触发源、业务类型、处理环节等,其中,触发源表示事件的来源,例如计费系统、财务系统等;业务类型如实时费用事件、停开机事件、提醒事件等;处理环节是根据实际情况下业务系统的具体情况确定,本技术实施例不作具体限定。
60.s202、对属性进行组合,获得事件清单,事件清单用于记录属性组合而成的事件。
61.将确定的历史事件的属性进行组合,可以获得事件清单,事件清单用于记录属性组合而成的事件,具体组合的方式可以根据业务系统的实际情况来具体进行配置,即可以根据业务系统当前所需要关注的事件,确定可能存在的属性,构成所需要采集的事件,本申
请实施例不作具体限定。
62.图4为本技术实施例示例性的提供的一种两属性事件的组合的示意图,如图4所示,根据历史事件可确定出属性1、属性2
……
属性n等,将属性1、属性2
……
属性n进行组合,可获得事件1、事件2
……
事件n等,具体地,属性1和属性2组合获得事件1、属性2和属性3组合获得事件2
……
属性n-1和属性n组合获得事件n。
63.例如给用户a发送提醒短信提醒用户a的话费不足5元,给用户b发送提醒短信提醒用户b的流量不足10m这两个事件,可以获得的事件的属性包括给用户a发送提醒短信、给用户b发送提醒短信、内容为话费不足5元的提醒短信以及内容为流量不足10m的提醒短信,进行组合可以得到如下表1所示的事件清单:
64.事件1给用户a发送内容为话费不足5元的提醒短信事件2给用户a发送内容为流量不足10m的提醒短信事件3给用户b发送内容为话费不足5元的提醒短信事件4给用户b发送内容为流量不足10m的提醒短信
65.表1、示例性的事件清单表
66.本技术实施例中还提供了一种可能的实现方式,基于预设的第二线程,获取第一线程中待处理的事件,将事件存入预设的消息队列中,包括:
67.基于预设的第二线程,若确定第一线程中正在处理的事件为记录在事件清单中的事件,则将正在处理的事件按处理的时间顺序存入imdb消息队列中。
68.在预设的第二线程中,获取第一线程中正在处理的事件,可以根据已经预先建立好的事件清单,若第一线程中正在处理的事件记录在该事件清单中,则可以根据事件清单的记录,确定所记录的事件的唯一标识,根据获取到第一线程中正在处理的事件,并按照第一线程中处理事件的时间顺序依次存入消息队列中,便于后续按处理的时间顺序判断是否为异常事件,以避免某些事件已经处理完成了但还没有检测异常的情况。
69.图5为本技术实施例提供的一种事件采集的示意图,在第二线程中,可以设置事件采集模块,用于采集业务系统中的事件,如图5所示,事件采集模块采集业务系统中的事件,但事件还是在业务系统中继续处理,采集到的事件可以存入消息队列中,也可以在消息队列本身出现错误异常时,即消息队列暂时无法使用时,将采集到的事件存入文件系统中,待消息队列恢复正常使用后,将存入文件系统中的事件写入到消息队列中。
70.本技术实施例中还提供了一种可能的实现方式,确定存入imdb消息队列中的事件为异常事件,包括:
71.确定存入imdb消息队列中的事件的发生次数以及事件内容;
72.若确定发生次数大于预设阈值,和/或,若确定事件内容与预设内容不符,则确定待处理的事件为异常事件。
73.存入消息系队列中的事件的发生次数,是指在消息队列中该事件的出现的次数,例如发送提醒短信事件,即是该事件的发送条数,具体地,提醒短信的内容为提醒用户话费不足5元,一般在一定时间段内如一天只发送一条,那么超过一条的发送该提醒短信就为异常事件,即确定发生次数大于预设阈值,则确定该事件为异常事件。
74.事件内容是指面向用户的提醒内容,例如发送提醒短信事件,即是该事件的发送内容,具体地,提醒短信的内容为提醒用户话费不足5元,那么可能存在的异常事件的发送
内容为提醒用户话费不足5万元,而预设内容为提醒用户话费不足5元,即异常事件所表达的具体内容是错误的,确定事件内容与预设内容不符,则确定该事件为异常事件。应当理解,在实际情况下,事件的发生次数和事件内容是存在很多种情况的,与其对应的预设阈值和预设内容也是根据实际情况设置的,本技术实施例不作具体限定。
75.本技术实施例中还提供了一种可能的实现方式,基于预设的第一线程,先检测待处理的事件是否为异常事件,再确定是否处理待处理的事件;
76.若确定待处理的事件为异常事件,则不处理事件;若确定待处理的事件不为异常事件,则处理事件。
77.与上述实施例中不同的是,本技术实施例中在imdb消息队列中检测待处理事件和处理待处理事件,均由一个线程完成,上述采用两个线程的方式是异步的,而本技术实施例是串行、同步的,相比于异步的方式精度更高,可以将imdb消息队列以全局锁的形式对业务系统中所有的事件进行监控和检测,例如以锁队列的方式,本技术实施例不作具体限定。
78.图6为本技术实施例提供的一种同步检测方式的示意图,imdb消息队列对业务系统中可能存在的事件1、事件2
……
事件n分别进行异常检测,然后再进行事件处理。
79.采用异步的方式检测异常时,在第一线程在处理事件时只需根据第二线程的检测结果做一个简单的判断即可,可以快速进行大量事件的异常判断和处理,但因其速度快,处理的事件量大,可能会遗漏一些待处理事件没有进行异常判断,而同步的方式中,每个待处理事件在处理之前就需判断是否为异常事件,若为异常事件就不会处理,不会产生遗漏的现象,当然处理的速度相比于异步的方式慢。
80.本技术实施例中还提供了一种可能的实现方式,图7为本技术实施例提供的一种功能架构的示意图,如图7所示,其中,主要的功能包括以下部分:
81.(1)事件采集,采集业务系统中正在处理的事件。
82.(2)imdb消息队列,将采集到的事件存入imdb消息队列中。
83.(3)事件统计及异常检测,统计并记录已采集的事件,并对已采集的事件进行异常检测。
84.(4)异常事件统计,统计并记录异常事件。
85.(5)告警通知,在异常事件发生时,向向运维人员发送告警。
86.(6)异步/同步异常检测,即上述实施例中两种异常检测方式。
87.(7)异常事件清单,用于记录异常事件,供后续人工审核及分析。
88.(8)人工审核,对于异常事件进行人工的审核,审核结果认为合理的事件可以重新进行处理。
89.本技术实施例提供了一种异常事件的检测装置,如图8所示,该异常事件的检测装置可以包括:第一线程模块110、第二线程模块210以及检测模块310,其中:
90.第一线程模块110,用于基于预设的第一线程,获取待处理的事件;
91.第二线程模块210,用于基于预设的第二线程,获取第一线程正在处理的事件,将事件存入预设的imdb消息队列中;
92.检测模块310,用于若确定存入imdb消息队列中的事件为异常事件,则停止处理第一线程中的事件。
93.本技术实施例提供的异常事件的检测装置,具体执行上述方法实施例流程,具体
请详见上述异常事件的检测方法实施例的内容,在此不再赘述。本技术实施例提供的异常事件的检测装置,通过预设的两个线程,分别对应处理待处理的事件,和检测正在处理的事件是否为异常事件,异常事件的检测不会影响正常的处理流程,并具体通过在预设的消息队列中检测异常,提升了检测出异常的速度,并且可以在异常事件发生之前检测出异常,能够及时阻止异常事件的发生。
94.在一个可能的实现方式中,第二线程模块210包括:
95.获取模块,用于获取历史事件,确定历史事件的属性,属性包括历史事件的触发源、业务类型以及处理环节中的至少一种;
96.对属性进行组合,获得事件清单,事件清单用于记录属性组合而成的事件。
97.在另一个可能的实现方式中,第二线程模块210还包括:
98.采集模块,用于基于预设的第二线程,若确定第一线程中正在处理的事件为记录在事件清单中的事件,则将正在处理的事件按处理的时间顺序存入imdb消息队列中。
99.在又一个可能的实现方式中,检测模块310包括:
100.确定模块,用于确定存入imdb消息队列中的事件的发生次数以及事件内容;
101.若确定发生次数大于预设阈值,和/或,若确定事件内容与预设内容不符,则确定待处理的事件为异常事件。
102.本技术实施例中提供了一种电子设备,包括存储器、处理器及存储在存储器上的计算机程序,该处理器执行上述计算机程序以实现异常事件的检测方法的步骤,与现有技术相比可实现:通过预设的两个线程,分别对应处理待处理的事件,和检测正在处理的事件是否为异常事件,异常事件的检测不会影响正常的处理流程,并具体通过在预设的消息队列中检测异常,提升了检测出异常的速度,并且可以在异常事件发生之前检测出异常,能够及时阻止异常事件的发生。
103.在一个可选实施例中提供了一种电子设备,如图9所示,图9所示的电子设备4000包括:处理器4001和存储器4003。其中,处理器4001和存储器4003相连,如通过总线4002相连。可选地,电子设备4000还可以包括收发器4004,收发器4004可以用于该电子设备与其他电子设备之间的数据交互,如数据的发送和/或数据的接收等。需要说明的是,实际应用中收发器4004不限于一个,该电子设备4000的结构并不构成对本技术实施例的限定。
104.处理器4001可以是cpu(central processing unit,中央处理器),通用处理器,dsp(digital signal processor,数据信号处理器),asic(application specific integrated circuit,专用集成电路),fpga(field programmable gate array,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本技术公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器4001也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,dsp和微处理器的组合等。
105.总线4002可包括一通路,在上述组件之间传送信息。总线4002可以是pci(peripheral component interconnect,外设部件互连标准)总线或eisa(extended industry standard architecture,扩展工业标准结构)总线等。总线4002可以分为地址总线、数据总线、控制总线等。为便于表示,图9中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
106.存储器4003可以是rom(read only memory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,ram(random access memory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是eeprom(electrically erasable programmable read only memory,电可擦可编程只读存储器)、cd-rom(compact disc read only memory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质、其他磁存储设备、或者能够用于携带或存储计算机程序并能够由计算机读取的任何其他介质,在此不做限定。
107.存储器4003用于存储执行本技术实施例的计算机程序,并由处理器4001来控制执行。处理器4001用于执行存储器4003中存储的计算机程序,以实现前述方法实施例所示的步骤。
108.本技术实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时可实现前述方法实施例的步骤及相应内容。
109.应该理解的是,虽然本技术实施例的流程图中通过箭头指示各个操作步骤,但是这些步骤的实施顺序并不受限于箭头所指示的顺序。除非本文中有明确的说明,否则在本技术实施例的一些实施场景中,各流程图中的实施步骤可以按照需求以其他的顺序执行。此外,各流程图中的部分或全部步骤基于实际的实施场景,可以包括多个子步骤或者多个阶段。这些子步骤或者阶段中的部分或全部可以在同一时刻被执行,这些子步骤或者阶段中的每个子步骤或者阶段也可以分别在不同的时刻被执行。在执行时刻不同的场景下,这些子步骤或者阶段的执行顺序可以根据需求灵活配置,本技术实施例对此不限制。
110.以上所述仅是本技术部分实施场景的可选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本技术的方案技术构思的前提下,采用基于本技术技术思想的其他类似实施手段,同样属于本技术实施例的保护范畴。
再多了解一些

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

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

相关文献