CN106469086A - 事件处理方法和装置 - Google Patents
事件处理方法和装置 Download PDFInfo
- Publication number
- CN106469086A CN106469086A CN201610794881.8A CN201610794881A CN106469086A CN 106469086 A CN106469086 A CN 106469086A CN 201610794881 A CN201610794881 A CN 201610794881A CN 106469086 A CN106469086 A CN 106469086A
- Authority
- CN
- China
- Prior art keywords
- event
- real
- time
- thesauruss
- time event
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/466—Transaction processing
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种事件处理方法和装置。其中,该方法包括:获取实时事件,其中,实时事件为正在发生或者将要发生的事件;判断事件存储库中是否存在与实时事件重复的历史事件,其中,事件存储库中存储有历史事件,历史事件为由历史数据生成的事件;以及在判断出事件存储库中存在与实时事件重复的历史事件时,对实时事件进行转换处理。本发明解决了相关技术在流计算过程中由历史数据生成的历史事件与实时事件有可能重复,导致流计算准确度降低的技术问题。
Description
技术领域
本发明涉及流计算领域,具体而言,涉及一种事件处理方法和装置。
背景技术
在流计算过程中,流计算只能对正在发生或者将要发生的事件进行处理,而需要对历史数据进行分析时,则通常需要将历史数据库中的历史数据转换成历史事件,然后对历史事件进行计算。但是,这种情况下就会引入一个问题,实时事件一直生成,实时事件与历史事件极有可能会重复,这将会导致流计算的准确度降低。
针对相关技术在流计算过程中由历史数据生成的历史事件与实时事件有可能重复,导致流计算准确度降低的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种事件处理方法和装置,以至少解决相关技术在流计算过程中由历史数据生成的历史事件与实时事件有可能重复,导致流计算准确度降低的技术问题。
根据本发明实施例的一个方面,提供了一种事件处理方法,包括:获取实时事件,其中,实时事件为正在发生或者将要发生的事件;判断事件存储库中是否存在与实时事件重复的历史事件,其中,事件存储库中存储有历史事件,历史事件为由历史数据生成的事件;以及在判断出事件存储库中存在与实时事件重复的历史事件时,对实时事件进行转换处理。
进一步地,在判断出事件存储库中存在与实时事件重复的历史事件时,对实时事件进行转换处理包括:获取实时事件的事件类型;根据实时事件的事件类型对实时事件进行转换处理。
进一步地,事件类型包括插入事件、更新事件以及删除事件,其中,根据实时事件的事件类型对实时事件进行转换处理包括:若实时事件为插入事件,则将实时事件转换为更新事件,并将事件存储库中的插入值作为更新事件的更新前的值;若实时事件为更新事件,则将实时事件的更新前的值更改为事件存储库中的插入值;若实时事件为删除事件,则直接删除实时事件。
进一步地,判断事件存储库中是否存在与实时事件重复的历史事件包括:获取实时事件的标识信息;判断事件存储库中存储的历史事件的标识信息是否与实时事件的标识信息相同;在判断出事件存储库中存储的历史事件的标识信息与实时事件的标识信息相同时,确定事件存储库中存在与实时事件重复的历史事件;在判断出事件存储库中存储的历史事件的标识信息与实时事件的标识信息不相同时,确定事件存储库中不存在与实时事件重复的历史事件。
进一步地,事件存储库中存储的历史事件对应的时间早于实时事件对应的时间。
根据本发明实施例的另一方面,还提供了一种事件处理装置,包括:获取单元,用于获取实时事件,其中,实时事件为正在发生或者将要发生的事件;判断单元,用于判断事件存储库中是否存在与实时事件重复的历史事件,其中,事件存储库中存储有历史事件,历史事件为由历史数据生成的事件;以及处理单元,用于在判断出事件存储库中存在与实时事件重复的历史事件时,对实时事件进行转换处理。
进一步地,处理单元包括:第一获取模块,用于获取实时事件的事件类型;转换模块,用于根据实时事件的事件类型对实时事件进行转换处理。
进一步地,事件类型包括插入事件、更新事件以及删除事件,其中,转换模块包括:插入模块,用于若实时事件为插入事件,则将实时事件转换为更新事件,并将事件存储库中的插入值作为更新事件的更新前的值;更新模块,用于若实时事件为更新事件,则将实时事件的更新前的值更改为事件存储库中的插入值;删除模块,用于若实时事件为删除事件,则直接删除实时事件。
进一步地,判断单元包括:第二获取模块,用于获取实时事件的标识信息;判断模块,用于判断事件存储库中存储的历史事件的标识信息是否与实时事件的标识信息相同;第一确定模块,用于在判断出事件存储库中存储的历史事件的标识信息与实时事件的标识信息相同时,确定事件存储库中存在与实时事件重复的历史事件;第二确定模块,用于在判断出事件存储库中存储的历史事件的标识信息与实时事件的标识信息不相同时,确定事件存储库中不存在与实时事件重复的历史事件。
进一步地,事件存储库中存储的历史事件对应的时间早于实时事件对应的时间。
在本发明实施例中,采用获取实时事件,其中,实时事件为正在发生或者将要发生的事件;判断事件存储库中是否存在与实时事件重复的历史事件,其中,事件存储库中存储有历史事件,历史事件为由历史数据生成的事件;以及在判断出事件存储库中存在与实时事件重复的历史事件时,对实时事件进行转换处理的方式,通过在流计算过程中分析历史事件与实时事件是否有重复,并对重复的事件进行转换处理,达到了避免因历史事件与实时事件有可能重复导致流计算准确度降低的目的,从而实现了提高流计算的准确度的技术效果,进而解决了相关技术在流计算过程中由历史数据生成的历史事件与实时事件有可能重复,导致流计算准确度降低的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的事件处理方法的流程图;
图2是根据本发明实施例的事件处理流程的示意图;以及
图3是根据本发明实施例的事件处理装置的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
首先,在对本发明实施例进行描述的过程中出现的部分名词或术语适用于如下解释:
流计算,在传统的数据处理流程中,总是先收集数据,然后将数据放到数据库中。当人们需要的时候通过数据库对数据做查询,得到答案或进行相关的处理。这样看起来虽然非常合理,但是结果却非常的凑和,尤其是在一些实时搜索应用环境中的某些具体问题,类似于MapReduce方式的离线处理并不能很好地解决问题。这就引出了一种新的数据计算结构---流计算方式。它可以很好地对大规模流动数据在不断变化的运动过程中实时地进行分析,捕捉到可能有用的信息,并把结果发送到下一计算节点。流计算可以对正在发生或者将要发生的事件进行处理。
历史事件,由历史数据生成的事件,历史事件为已经进行了流计算之后的事件。
实时事件,正在发生或者将要发生的事件,需要对其进行流计算。
根据本发明实施例,提供了一种事件处理方法的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本发明实施例的事件处理方法的流程图,如图1所示,该方法包括如下步骤:
步骤S102,获取实时事件,其中,实时事件为正在发生或者将要发生的事件;
步骤S104,判断事件存储库中是否存在与实时事件重复的历史事件,其中,事件存储库中存储有历史事件,历史事件为由历史数据生成的事件;
步骤S106,在判断出事件存储库中存在与实时事件重复的历史事件时,对实时事件进行转换处理。
通过上述步骤,在流计算过程中通过判断事件存储库中是否存在与实时事件重复的历史事件,来分析历史事件与实时事件是否重复,并对重复的事件进行转换处理,达到了避免因历史事件与实时事件有可能重复导致流计算准确度降低的目的,进而解决了相关技术在流计算过程中由历史数据生成的历史事件与实时事件有可能重复,导致流计算准确度降低的技术问题,实现了提高流计算的准确度的技术效果。
在步骤S102提供的方案中,实时事件可以为流计算过程中正在发生或者将要发生的事件,流计算能够对实时事件进行处理。本发明实施例对流计算能够处理的实时事件的类型不做具体限定,实时事件可以根据实际应用中的具体场景的不同而不同,例如,实时事件可以是用户在某日消费了100元等。该实施例可以采用实时获取方式获取实时事件,以达到缩短获取到的实时事件的时延,进而提高流计算的实时性和准确度的效果。可选地,该实施例在获取到实时事件之后,可以对实时事件进行数据分析,此处需要说明的是,本发明实施例对实时事件的数据分析过程不做具体限定,例如,对实时事件的数据分析过程可以包括但并不限于:事件类型分析、解析事件标识信息、进行计数、加和、乘除等计数等。以上只是列举了数据分析的部分内容,对实时事件的数据分析过程还可以包括其他内容,此处不做一一举例说明。
在步骤S104提供的方案中,事件存储库可以为用于存储历史事件的数据库,其中,历史事件可以由历史数据库中存储的历史数据生成的事件,历史事件可以为流计算已经处理过的事件。需要说明的是,事件存储库与历史数据库不同,历史数据库中存储的是历史数据,这些历史数据为流计算过程中产生的数据,而事件存储库中存储的是历史事件,历史事件是由历史数据转换而成的事件。可选地,事件存储库中可以存储有一个或者多个历史事件,为了保证利用事件存储库对实时事件进行排重的准确度,进而提高流计算的计算准确度,在资源允许的条件下,该实施例可以将历史数据库中的每个历史数据均转换成历史事件,并将这些转换得到的历史事件均存储在事件存储库中。但是,在实际应用过程中,资源并不是足够充足,该实施例可以只将历史数据库中的部分历史数据转换成历史事件并将其存储在事件存储库中。但是,为了保证利用事件存储库对实时事件能够进行排重,该实施例可以控制事件存储库中存储的历史事件对应的时间早于实时事件对应的时间,此处需要说明的是,历史事件对应的时间可以理解为流计算处理历史事件的时间,实时事件对应的时间可以理解为流计算处理实时事件的时间。
需要说明的是,本发明实施例对历史数据库中存储的历史数据转换成历史事件的方式不做具体限定,凡是能够实现历史数据转换成历史事件的方式均属于本发明的保护范围。可选地,在将历史数据库中存储的历史数据转换成历史事件之后,该实施例可以对历史事件进行数据分析,此处需要说明的是,本发明实施例对历史事件的数据分析过程不做具体限定,例如,对历史事件的数据分析过程可以包括但并不限于:事件类型分析、解析事件标识信息、进行计数、加和、乘除等计数等。可选地,事件存储库中可以存储有历史事件,这些历史事件可以以事件标识信息加以区分,也即,事件存储库中除了存储有历史事件之外,还可以存储有事件标识信息以及事件标识信息与历史事件的对应关系。需要说明的是,事件存储库中还可以存储有历史事件的事件类型、历史事件的描述信息等内容,此处不再一一举例说明。
该实施例在获取到实时事件之后,可以判断事件存储库中是否存在与获取到的实时事件重复的历史事件,此处需要说明的是,实时事件与历史事件重复可以理解为当前获取到的实时事件已经被流计算处理过了,也即获取到的实时事件与事件存储库中的历史事件重复。为了避免对实时事件的重复处理,进而影响流计算的计算准确度,该实施例可以通过判断事件存储库中是否存在与当前获取到的实时事件重复的历史事件,如果判断出事件存储库中存在与当前获取到的实时事件重复的历史事件,则说明该实时事件已经被流计算处理过了,无需再对其进行重复处理;如果判断出事件存储库中不存在与当前获取到的实时事件重复的历史事件,则说明该实时事件还未被流计算处理,需再对其进行流计算处理。
该实施例通过判断事件存储库中是否存在与实时事件重复的历史事件,能够达到对当前获取到的实时事件进行排重的目的,进而避免了因对实时事件进行重复处理导致流计算的计算准确度降低的问题,实现了提高流计算的计算准确度的效果。
在步骤S106提供的技术方案中,该实施例在判断事件存储库中是否存在与当前获取到的实时事件重复的历史事件之后,如果判断出事件存储库中存在与当前获取到的实时事件重复的历史事件,则说明该实时事件已经被流计算处理过了,为了避免对实时事件进行重复处理,此时需要对实时事件进行转换处理;如果判断出事件存储库中不存在与当前获取到的实时事件重复的历史事件,则说明该实时事件还未被流计算处理,可以对实时事件进行正常的流计算处理。
作为一种可选地实施例,在判断出事件存储库中存在与实时事件重复的历史事件时,对实时事件进行转换处理可以包括以下步骤:
步骤S1062,获取实时事件的事件类型;
步骤S1064,根据实时事件的事件类型对实时事件进行转换处理。
在上述步骤中,实时事件的事件类型可以包括插入事件、更新事件以及删除事件,不同事件类型的实时事件对应的转换处理过程不同。该实施例可以对获取到的实时事件进行数据分析,从中获取到实时事件的事件类型,并根据获取到的实时事件的事件类型对实时事件进行转换处理,这样能够有效地避免对实时事件的重复处理,进而达到提高对实时事件进行流计算处理的准确度的效果。
可选地,根据实时事件的事件类型对实时事件进行转换处理可以包括以下步骤:
步骤S10622,若实时事件为插入事件,则将实时事件转换为更新事件,并将事件存储库中的插入值作为更新事件的更新前的值。
步骤S10624,若实时事件为更新事件,则将实时事件的更新前的值更改为事件存储库中的插入值。
步骤S10626,若实时事件为删除事件,则直接删除实时事件。
需要说明的是,插入事件的插入值可以为事件存储库中的插入值,更新事件的值可以包括更新前的值和更新后的值。当确定实时事件的事件类型为插入事件时,该实施例可以将实时事件由插入事件转换为更新事件,其中,更新事件的更新前的值即为事件存储库中的插入值,也即更新事件的更新前的值即为插入事件的插入值;当确定实时事件的事件类型为更新事件时,该实施例可以将实时事件的更新前的值更改为事件存储库中的插入值;当确定实时事件的事件类型为删除事件时,该实施例可以直接删除该实时事件。
该实施例根据实时事件的事件类型对对实时事件的事件类型进行转换,可以避免对实时事件重复处理,进而实现提高对实时事件进行流计算处理的准确度的效果。
作为一种可选地实施例,步骤S104判断事件存储库中是否存在与实时事件重复的历史事件可以包括以下步骤:
步骤S1042,获取实时事件的标识信息;
步骤S1044,判断事件存储库中存储的历史事件的标识信息是否与实时事件的标识信息相同;
步骤S1046,在判断出事件存储库中存储的历史事件的标识信息与实时事件的标识信息相同时,确定事件存储库中存在与实时事件重复的历史事件;
步骤S1048,在判断出事件存储库中存储的历史事件的标识信息与实时事件的标识信息不相同时,确定事件存储库中不存在与实时事件重复的历史事件。
在上述步骤中,实时事件的标识信息可以用于唯一标识实时事件,即不同的实时事件的标识信息不同,一个实时事件对应唯一一个标识信息。本发明实施例对标识信息不做具体限定,例如,标识信息可以是字符串,I D标识等。由于标识信息可以唯一标识实时事件,该实施例可以根据标识信息判断事件存储库中是否存在与实时事件重复的历史事件,具体地,可以通过判断事件存储库中的历史事件的标识信息是否与实时事件的标识信息相同,如果事件存储库中存储的历史事件的标识信息与实时事件的标识信息相同,则可以确定事件存储库中存在与实时事件重复的历史事件;如果事件存储库中存储的历史事件的标识信息与实时事件的标识信息不相同,则可以确定事件存储库中不存在与实时事件重复的历史事件。
该实施例通过比对事件存储库中的历史事件的标识信息与实时事件的标识实时确定实时事件是否与历史事件重复,更加简单方便,能够提高对实时事件是否与历史事件重复的判断效率,进而达到提高实时事件的处理效率的效果。
针对本发明实施例的事件处理方法,需要说明的是,事件存储库中存储的历史事件可以理解为可能重复的事件,如图2所示,图2中的箭头可以表示按时间参数排列的历史事件与实时事件,则两个箭头的重叠部分即可以理解为历史事件与实时事件之间可能重复的事件,将这部分可能重复的事件存储在事件存储库中,且在流计算过程中,可以对这部分可能重复的时间进行转换处理,对事件存储库包含事件以外的事件本发明实施例不对其进行转换处理,以达到在流计算过程中实现对事件的排重和容错处理,进而达到提高流计算的计算准确度的效果。
根据本发明实施例,还提供了一种事件处理装置的装置实施例,需要说明的是,该事件处理装置可以用于执行本发明实施例中的事件处理方法,本发明实施例中的事件处理方法可以在该事件处理装置中执行。
图3是根据本发明实施例的事件处理装置的示意图,如图3所示,该装置可以包括:
获取单元22,用于获取实时事件,其中,实时事件为正在发生或者将要发生的事件;判断单元24,用于判断事件存储库中是否存在与实时事件重复的历史事件,其中,事件存储库中存储有历史事件,历史事件为由历史数据生成的事件;以及处理单元26,用于在判断出事件存储库中存在与实时事件重复的历史事件时,对实时事件进行转换处理。
需要说明的是,该实施例中的获取单元22可以用于执行本申请实施例中的步骤S102,该实施例中的判断单元24可以用于执行本申请实施例中的步骤S104,该实施例中的处理单元26可以用于执行本申请实施例中的步骤S106。上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例所公开的内容。
在获取单元22中,实时事件可以为流计算过程中正在发生或者将要发生的事件,流计算能够对实时事件进行处理。本发明实施例对流计算能够处理的实时事件的类型不做具体限定,实时事件可以根据实际应用中的具体场景的不同而不同,例如,实时事件可以是用户在某日消费了100元等。该实施例可以采用实时获取方式获取实时事件,以达到缩短获取到的实时事件的时延,进而提高流计算的实时性和准确度的效果。可选地,该实施例在获取到实时事件之后,可以对实时事件进行数据分析,此处需要说明的是,本发明实施例对实时事件的数据分析过程不做具体限定,例如,对实时事件的数据分析过程可以包括但并不限于:事件类型分析、解析事件标识信息、进行计数、加和、乘除等计数等。以上只是列举了数据分析的部分内容,对实时事件的数据分析过程还可以包括其他内容,此处不做一一举例说明。
在判断单元24中,事件存储库可以为用于存储历史事件的数据库,其中,历史事件可以由历史数据库中存储的历史数据生成的事件,历史事件可以为流计算已经处理过的事件。需要说明的是,事件存储库与历史数据库不同,历史数据库中存储的是历史数据,这些历史数据为流计算过程中产生的数据,而事件存储库中存储的是历史事件,历史事件是由历史数据转换而成的事件。可选地,事件存储库中可以存储有一个或者多个历史事件,为了保证利用事件存储库对实时事件进行排重的准确度,进而提高流计算的计算准确度,在资源允许的条件下,该实施例可以将历史数据库中的每个历史数据均转换成历史事件,并将这些转换得到的历史事件均存储在事件存储库中。但是,在实际应用过程中,资源并不是足够充足,该实施例可以只将历史数据库中的部分历史数据转换成历史事件并将其存储在事件存储库中。但是,为了保证利用事件存储库对实时事件能够进行排重,该实施例可以控制事件存储库中存储的历史事件对应的时间早于实时事件对应的时间,此处需要说明的是,历史事件对应的时间可以理解为流计算处理历史事件的时间,实时事件对应的时间可以理解为流计算处理实时事件的时间。
需要说明的是,本发明实施例对历史数据库中存储的历史数据转换成历史事件的方式不做具体限定,凡是能够实现历史数据转换成历史事件的方式均属于本发明的保护范围。可选地,在将历史数据库中存储的历史数据转换成历史事件之后,该实施例可以对历史事件进行数据分析,此处需要说明的是,本发明实施例对历史事件的数据分析过程不做具体限定,例如,对历史事件的数据分析过程可以包括但并不限于:事件类型分析、解析事件标识信息、进行计数、加和、乘除等计数等。可选地,事件存储库中可以存储有历史事件,这些历史事件可以以事件标识信息加以区分,也即,事件存储库中除了存储有历史事件之外,还可以存储有事件标识信息以及事件标识信息与历史事件的对应关系。需要说明的是,事件存储库中还可以存储有历史事件的事件类型、历史事件的描述信息等内容,此处不再一一举例说明。
该实施例在获取到实时事件之后,可以判断事件存储库中是否存在与获取到的实时事件重复的历史事件,此处需要说明的是,实时事件与历史事件重复可以理解为当前获取到的实时事件已经被流计算处理过了,也即获取到的实时事件与事件存储库中的历史事件重复。为了避免对实时事件的重复处理,进而影响流计算的计算准确度,该实施例可以通过判断事件存储库中是否存在与当前获取到的实时事件重复的历史事件,如果判断出事件存储库中存在与当前获取到的实时事件重复的历史事件,则说明该实时事件已经被流计算处理过了,无需再对其进行重复处理;如果判断出事件存储库中不存在与当前获取到的实时事件重复的历史事件,则说明该实时事件还未被流计算处理,需再对其进行流计算处理。
该实施例通过判断事件存储库中是否存在与实时事件重复的历史事件,能够达到对当前获取到的实时事件进行排重的目的,进而避免了因对实时事件进行重复处理导致流计算的计算准确度降低的问题,实现了提高流计算的计算准确度的效果。
在处理单元26中,该实施例在判断事件存储库中是否存在与当前获取到的实时事件重复的历史事件之后,如果判断出事件存储库中存在与当前获取到的实时事件重复的历史事件,则说明该实时事件已经被流计算处理过了,为了避免对实时事件进行重复处理,此时需要对实时事件进行转换处理;如果判断出事件存储库中不存在与当前获取到的实时事件重复的历史事件,则说明该实时事件还未被流计算处理,可以对实时事件进行正常的流计算处理。
作为一种可选地实施例,处理单元26可以包括:第一获取模块,用于获取实时事件的事件类型;转换模块,用于根据实时事件的事件类型对实时事件进行转换处理。
需要说明的是,实时事件的事件类型可以包括插入事件、更新事件以及删除事件,不同事件类型的实时事件对应的转换处理过程不同。该实施例可以对获取到的实时事件进行数据分析,从中获取到实时事件的事件类型,并根据获取到的实时事件的事件类型对实时事件进行转换处理,这样能够有效地避免对实时事件的重复处理,进而达到提高对实时事件进行流计算处理的准确度的效果。
可选地,转换模块可以包括:插入模块,用于若实时事件为插入事件,则将实时事件转换为更新事件,并将事件存储库中的插入值作为更新事件的更新前的值;更新模块,用于若实时事件为更新事件,则将实时事件的更新前的值更改为事件存储库中的插入值;删除模块,用于若实时事件为删除事件,则直接删除实时事件。
需要说明的是,插入事件的插入值可以为事件存储库中的插入值,更新事件的值可以包括更新前的值和更新后的值。当确定实时事件的事件类型为插入事件时,该实施例可以将实时事件由插入事件转换为更新事件,其中,更新事件的更新前的值即为事件存储库中的插入值,也即更新事件的更新前的值即为插入事件的插入值;当确定实时事件的事件类型为更新事件时,该实施例可以将实时事件的更新前的值更改为事件存储库中的插入值;当确定实时事件的事件类型为删除事件时,该实施例可以直接删除该实时事件。
该实施例根据实时事件的事件类型对对实时事件的事件类型进行转换,可以避免对实时事件重复处理,进而实现提高对实时事件进行流计算处理的准确度的效果。
作为一种可选地实施例,判断单元24可以包括:第二获取模块,用于获取实时事件的标识信息;判断模块,用于判断事件存储库中存储的历史事件的标识信息是否与实时事件的标识信息相同;第一确定模块,用于在判断出事件存储库中存储的历史事件的标识信息与实时事件的标识信息相同时,确定事件存储库中存在与实时事件重复的历史事件;第二确定模块,用于在判断出事件存储库中存储的历史事件的标识信息与实时事件的标识信息不相同时,确定事件存储库中不存在与实时事件重复的历史事件。
需要说明的是,实时事件的标识信息可以用于唯一标识实时事件,即不同的实时事件的标识信息不同,一个实时事件对应唯一一个标识信息。本发明实施例对标识信息不做具体限定,例如,标识信息可以是字符串,I D标识等。由于标识信息可以唯一标识实时事件,该实施例可以根据标识信息判断事件存储库中是否存在与实时事件重复的历史事件,具体地,可以通过判断事件存储库中的历史事件的标识信息是否与实时事件的标识信息相同,如果事件存储库中存储的历史事件的标识信息与实时事件的标识信息相同,则可以确定事件存储库中存在与实时事件重复的历史事件;如果事件存储库中存储的历史事件的标识信息与实时事件的标识信息不相同,则可以确定事件存储库中不存在与实时事件重复的历史事件。
该实施例通过比对事件存储库中的历史事件的标识信息与实时事件的标识实时确定实时事件是否与历史事件重复,更加简单方便,能够提高对实时事件是否与历史事件重复的判断效率,进而达到提高实时事件的处理效率的效果。
通过上述事件处理装置,可以在流计算过程中通过判断事件存储库中是否存在与实时事件重复的历史事件,来分析历史事件与实时事件是否重复,并对重复的事件进行转换处理,达到了避免因历史事件与实时事件有可能重复导致流计算准确度降低的目的,进而解决了相关技术在流计算过程中由历史数据生成的历史事件与实时事件有可能重复,导致流计算准确度降低的技术问题,实现了提高流计算的准确度的技术效果。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种事件处理方法,其特征在于,包括:
获取实时事件,其中,所述实时事件为正在发生或者将要发生的事件;
判断事件存储库中是否存在与所述实时事件重复的历史事件,其中,所述事件存储库中存储有所述历史事件,所述历史事件为由历史数据生成的事件;以及
在判断出所述事件存储库中存在与所述实时事件重复的历史事件时,对所述实时事件进行转换处理。
2.根据权利要求1所述的方法,其特征在于,在判断出所述事件存储库中存在与所述实时事件重复的历史事件时,对所述实时事件进行转换处理包括:
获取所述实时事件的事件类型;
根据所述实时事件的事件类型对所述实时事件进行转换处理。
3.根据权利要求2所述的方法,其特征在于,所述事件类型包括插入事件、更新事件以及删除事件,其中,根据所述实时事件的事件类型对所述实时事件进行转换处理包括:
若所述实时事件为所述插入事件,则将所述实时事件转换为所述更新事件,并将所述事件存储库中的插入值作为所述更新事件的更新前的值;
若所述实时事件为所述更新事件,则将所述实时事件的更新前的值更改为所述事件存储库中的插入值;
若所述实时事件为所述删除事件,则直接删除所述实时事件。
4.根据权利要求1所述的方法,其特征在于,判断事件存储库中是否存在与所述实时事件重复的历史事件包括:
获取所述实时事件的标识信息;
判断所述事件存储库中存储的所述历史事件的标识信息是否与所述实时事件的标识信息相同;
在判断出所述事件存储库中存储的所述历史事件的标识信息与所述实时事件的标识信息相同时,确定所述事件存储库中存在与所述实时事件重复的历史事件;
在判断出所述事件存储库中存储的所述历史事件的标识信息与所述实时事件的标识信息不相同时,确定所述事件存储库中不存在与所述实时事件重复的历史事件。
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述事件存储库中存储的所述历史事件对应的时间早于所述实时事件对应的时间。
6.一种事件处理装置,其特征在于,包括:
获取单元,用于获取实时事件,其中,所述实时事件为正在发生或者将要发生的事件;
判断单元,用于判断事件存储库中是否存在与所述实时事件重复的历史事件,其中,所述事件存储库中存储有所述历史事件,所述历史事件为由历史数据生成的事件;以及
处理单元,用于在判断出所述事件存储库中存在与所述实时事件重复的历史事件时,对所述实时事件进行转换处理。
7.根据权利要求6所述的装置,其特征在于,所述处理单元包括:
第一获取模块,用于获取所述实时事件的事件类型;
转换模块,用于根据所述实时事件的事件类型对所述实时事件进行转换处理。
8.根据权利要求7所述的装置,其特征在于,所述事件类型包括插入事件、更新事件以及删除事件,其中,所述转换模块包括:
插入模块,用于若所述实时事件为所述插入事件,则将所述实时事件转换为所述更新事件,并将所述事件存储库中的插入值作为所述更新事件的更新前的值;
更新模块,用于若所述实时事件为所述更新事件,则将所述实时事件的更新前的值更改为所述事件存储库中的插入值;
删除模块,用于若所述实时事件为所述删除事件,则直接删除所述实时事件。
9.根据权利要求7所述的装置,其特征在于,所述判断单元包括:
第二获取模块,用于获取所述实时事件的标识信息;
判断模块,用于判断所述事件存储库中存储的所述历史事件的标识信息是否与所述实时事件的标识信息相同;
第一确定模块,用于在判断出所述事件存储库中存储的所述历史事件的标识信息与所述实时事件的标识信息相同时,确定所述事件存储库中存在与所述实时事件重复的历史事件;
第二确定模块,用于在判断出所述事件存储库中存储的所述历史事件的标识信息与所述实时事件的标识信息不相同时,确定所述事件存储库中不存在与所述实时事件重复的历史事件。
10.根据权利要求6至9中任一项所述的装置,其特征在于,所述事件存储库中存储的所述历史事件对应的时间早于所述实时事件对应的时间。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610794881.8A CN106469086B (zh) | 2016-08-31 | 2016-08-31 | 事件处理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610794881.8A CN106469086B (zh) | 2016-08-31 | 2016-08-31 | 事件处理方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106469086A true CN106469086A (zh) | 2017-03-01 |
CN106469086B CN106469086B (zh) | 2020-04-14 |
Family
ID=58230213
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610794881.8A Active CN106469086B (zh) | 2016-08-31 | 2016-08-31 | 事件处理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106469086B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108365989A (zh) * | 2018-01-26 | 2018-08-03 | 北京奇虎科技有限公司 | 事件处理方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103136217A (zh) * | 2011-11-24 | 2013-06-05 | 阿里巴巴集团控股有限公司 | 一种分布式数据流处理方法及其系统 |
CN103902646A (zh) * | 2013-12-27 | 2014-07-02 | 北京天融信软件有限公司 | 一种分布式任务管理系统与方法 |
CN104050543A (zh) * | 2014-06-30 | 2014-09-17 | 华为技术有限公司 | 流处理系统中的事件处理方法及流处理系统 |
CN104517189A (zh) * | 2014-12-26 | 2015-04-15 | 北京邮电大学 | 一种基于事件的工作流间协作的系统及方法 |
-
2016
- 2016-08-31 CN CN201610794881.8A patent/CN106469086B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103136217A (zh) * | 2011-11-24 | 2013-06-05 | 阿里巴巴集团控股有限公司 | 一种分布式数据流处理方法及其系统 |
CN103902646A (zh) * | 2013-12-27 | 2014-07-02 | 北京天融信软件有限公司 | 一种分布式任务管理系统与方法 |
CN104050543A (zh) * | 2014-06-30 | 2014-09-17 | 华为技术有限公司 | 流处理系统中的事件处理方法及流处理系统 |
CN104517189A (zh) * | 2014-12-26 | 2015-04-15 | 北京邮电大学 | 一种基于事件的工作流间协作的系统及方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108365989A (zh) * | 2018-01-26 | 2018-08-03 | 北京奇虎科技有限公司 | 事件处理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN106469086B (zh) | 2020-04-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105471759B (zh) | 数据中心的网络流量调度方法和装置 | |
CN110083528A (zh) | 测试任务的分配方法、装置、计算机设备及存储介质 | |
CN108428114A (zh) | 项目的信息处理方法及装置、存储介质、电子装置 | |
CN107203424A (zh) | 一种在分布式集群中调度深度学习作业的方法和装置 | |
CN107767055A (zh) | 一种基于串谋检测的众包结果汇聚方法及装置 | |
CN109389518A (zh) | 关联分析方法及装置 | |
CN108289246A (zh) | 数据处理方法、装置、存储介质和电子装置 | |
CN101482876A (zh) | 基于权重的链接多属性的实体识别方法 | |
CN109543504A (zh) | 基于独立人脸识别终端的协同人脸识别系统及方法 | |
CN107526682A (zh) | 测试机器人的ai行为树的生成方法、装置及设备 | |
CN104635709B (zh) | 考虑费用和时间双目标的柔性综合调度方法 | |
CN108717380A (zh) | 消息处理方法和装置 | |
CN107741949A (zh) | 积分方法、装置、存储介质和处理器 | |
CN106649743A (zh) | 一种创意分类脑库资源存储与分享方法及系统 | |
CN106469086A (zh) | 事件处理方法和装置 | |
CN104268293B (zh) | 数据库中的不可累加指标处理方法和装置 | |
CN106844467A (zh) | 数据展示方法和装置 | |
CN103678537B (zh) | 基于集群的元数据修改方法、装置及节点设备 | |
CN109375146A (zh) | 一种用电数据的补采方法、系统及终端设备 | |
CN107147698A (zh) | 智能开关的远程控制系统、方法和装置 | |
CN110187829A (zh) | 一种数据处理方法、装置、系统及电子设备 | |
CN107070987A (zh) | 用于分布式对象存储系统的数据获取方法及系统 | |
CN107562469A (zh) | 一种标题栏数据展示方法及系统 | |
CN108205460A (zh) | 宿主机可用资源的生成方法和装置 | |
CN106991337A (zh) | 一种出生日期数据的脱敏方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: Wuxi District of Jiangsu city in Wuxi Province, Zhenze Road No. 18, Wuxi (National) Software Park Dolphin C seat 2, 3 floor Applicant after: Wuxi private online Polytron Technologies Inc Address before: Wuxi District of Jiangsu city in Wuxi Province, Zhenze Road No. 18, Wuxi (National) Software Park Dolphin C seat 2, 3 floor Applicant before: Wuxi Yazuo Online Technology Development Co., Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |