CN109542592A - 事件处理方法及装置 - Google Patents
事件处理方法及装置 Download PDFInfo
- Publication number
- CN109542592A CN109542592A CN201811412626.8A CN201811412626A CN109542592A CN 109542592 A CN109542592 A CN 109542592A CN 201811412626 A CN201811412626 A CN 201811412626A CN 109542592 A CN109542592 A CN 109542592A
- Authority
- CN
- China
- Prior art keywords
- real
- time
- event
- collection
- treated
- 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.)
- Pending
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)
- Information Transfer Between Computers (AREA)
Abstract
本申请实施例提供了一种事件处理方法及装置,涉及数据处理技术领域。方法包括:根据预设实时用户行为,采集客户端产生的每个实时事件,以及根据预设的非实时用户行为,采集客户端产生的每个非实时事件;在当前时刻距之前发送实时事件集后的时长满足第一预设时长时,获得实时事件集,并将处理后的实时事件集发送至处理系统;在当前时刻距之前发送非实时事件集后的时长满足大于第一预设时长的第二预设时长时,获得非实时事件集,并将处理后的非实时事件集发送至处理系统。这样就在不增加处理系统的负荷的情况,保证处理系统通过优先处理实时事件集优先获得需要迫切获得的处理结果,提高了获得处理结果的实效性。
Description
技术领域
本申请涉及数据处理技术领域,具体而言,涉及一种事件处理方法及装置。
背景技术
目前,数据处理系统对数据进行处理的模式通常为根据各客户端对数据进行定时的批量发送而定时批量的处理。但这样就会导致数据处理系统对数据处理的实时性不强,使得用户在迫切的需要获知处理结果时却无法获知。
发明内容
本申请在于提供一种事件处理方法及装置质,以实现数据处理系统能够快速的对数据进行处理,提高了获得处理结果的实效性。
第一方面,本申请实施例提供了一种事件处理方法,应用于客户端,所述方法包括:
根据预设实时用户行为,采集所述客户端执行的与所述预设实时用户行为匹配的用户行为而产生的每个实时事件,以及根据预设的非实时用户行为,采集所述客户端执行的与所述预设的非实时用户行为匹配的用户行为而产生的每个非实时事件;
在当前时刻距之前发送实时事件集后的时长满足第一预设时长时,获得包括所述第一预设时长内总共产生的实时事件的实时事件集,并将处理后的实时事件集发送至处理系统;
在当前时刻距之前发送非实时事件集后的时长满足大于所述第一预设时长的第二预设时长时,获得包括所述第二预设时长内总共产生的非实时事件的非实时事件集,并将处理后的非实时事件集发送至处理系统。
第二方面,本申请实施例提供了一种事件处理方法,应用于处理系统,所述方法包括:
对在第三预设时长内获得的客户端发送的至少一个实时事件集进行处理,获得处理后的实时事件集;以及对在大于所述第三预设时长的第四预设时长内获得的所述客户端发送的至少一个非实时事件集进行处理,获得处理后的非实时事件集,其中,所述处理后的实时事件集包含的实时事件和所述处理后的非实时事件集中包含的非实时事件用于表示所述客户端执行的用户行为;
将所述处理后的实时事件集在第一时刻发送至储存系统,以及将所述处理后的非实时事件集在所述第一时刻之后的第二时刻发送至储存系统。
结合第二方面,在第一种可能的实现方式中,在对在第三预设时长内获得的客户端发送的至少一个实时事件集进行处理,获得处理后的实时事件集之前,所述方法包括:
判断当前时刻距之前处理实时事件集时长是否满足所述第三预设时长,其中,所述第三预设时长为5-30分钟;
若是,执行步骤:对在第三预设时长内获得的客户端发送的至少一个实时事件集进行处理,获得处理后的实时事件集。
结合第二方面,在第二种可能的实现方式中,在对在大于所述第三预设时长的第四预设时长内获得的所述客户端发送的至少一个非实时事件集进行处理,获得处理后的非实时事件集之前,所述方法包括:
判断当前时刻距之前处理实时事件集时长是否满足所述第四预设时长,其中,所述第四预设时长为5-30分钟;
若是,执行步骤:对在大于所述第三预设时长的第四预设时长内获得的所述客户端发送的至少一个非实时事件集进行处理,获得处理后的非实时事件集。
第三方面,本申请实施例提供了一种事件处理方法,应用于存储系统,所述方法包括:
将在第三时刻获得的处理后的实时事件集中为文件格式的每个实时事件转换成列式存储格式的每个实时事件,以及将在所述第三时刻之后的第四时刻获得的处理后的非实时事件集中为文件格式的每个非实时事件转换成列式存储格式的每个非实时事件;
根据列式存储格式的每个实时事件的发生时间和事件类型,在第五时刻将列式存储格式的每个实时事件存储到的第一存储区域中,以及根据列式存储格式的每个非实时事件的发生时间和事件类型,在所述第五时刻之后的第六时刻将列式存储格式的每个非实时事件存储到的第二存储区域中。
结合第三方面,在第一种可能的实现方式中,在根据列式存储格式的每个实时事件的发生时间和事件类型,将列式存储格式的每个实时事件存储到的第一存储区域中,以及根据列式存储格式的每个非实时事件的发生时间和事件类型,将列式存储格式的每个非实时事件存储到的第二存储区域中之后,所述方法还包括:
在设定时间点,生成当前需要查询的关键词;
根据所述关键词遍历所述第一存储区域和所述第二存储区域,判断是否从所述第一存储区域和所述第二存储区域中查询出与所述关键词相关的用户事件集。
若否,调整所述关键词,根据调整后的所述关键词遍历所述第一存储区域和所述第二存储区域;
从所述第一存储区域和所述第二存储区域中查询出与调整后的所述关键词相关的用户事件集。
第四方面,本申请实施例提供了一种事件处理装置,应用于客户端,所述装置包括:
行为事件采集模块,用于根据预设实时用户行为,采集所述客户端执行的与所述预设实时用户行为匹配的用户行为而产生的每个实时事件,以及根据预设的非实时用户行为,采集所述客户端执行的与所述预设的非实时用户行为匹配的用户行为而产生的每个非实时事件。
第一事件发送模块,用于在当前时刻距之前发送实时事件集后的时长满足第一预设时长时,获得包括所述第一预设时长内总共产生的实时事件的实时事件集,并将处理后的实时事件集发送至处理系统。
第二事件发送模块,用于在当前时刻距之前发送非实时事件集后的时长满足大于所述第一预设时长的第二预设时长时,获得包括所述第二预设时长内总共产生的非实时事件的非实时事件集,并将处理后的非实时事件集发送至处理系统。
第五方面,本申请实施例提供了一种事件处理装置,应用于处理系统,所述装置包括:
事件获得处理模块,用于对在第三预设时长内获得的客户端发送的至少一个实时事件集进行处理,获得处理后的实时事件集;以及对在大于所述第三预设时长的第四预设时长内获得的所述客户端发送的至少一个非实时事件集进行处理,获得处理后的非实时事件集,其中,所述处理后的实时事件集包含的实时事件和所述处理后的非实时事件集中包含的非实时事件用于表示所述客户端执行的用户行为。
第三事件发送模块,用于将所述处理后的实时事件集在第一时刻发送至储存系统,以及将所述处理后的非实时事件集在所述第一时刻之后的第二时刻发送至储存系统
第六方面,本申请实施例提供了一种事件处理装置,应用于存储系统,所述装置包括:
事件转换模块,用于将在第三时刻获得的处理后的实时事件集中为文件格式的每个实时事件转换成列式存储格式的每个实时事件,以及将在所述第三时刻之后的第四时刻获得的处理后的非实时事件集中为文件格式的每个非实时事件转换成列式存储格式的每个非实时事件。
事件存储模块,用于根据列式存储格式的每个实时事件的发生时间和事件类型,在第五时刻将列式存储格式的每个实时事件存储到的第一存储区域中,以及根据列式存储格式的每个非实时事件的发生时间和事件类型,在所述第五时刻之后的第六时刻将列式存储格式的每个非实时事件存储到的第二存储区域中。
结合第六方面,在第一种可能的实现方式中,所述装置还包括:
事件查询模块,用于在设定时间点,生成当前需要查询的关键词;根据所述关键词遍历所述第一存储区域和所述第二存储区域,判断是否从所述第一存储区域和所述第二存储区域中查询出与所述关键词相关的用户事件集。若否,调整所述关键词,根据调整后的所述关键词遍历所述第一存储区域和所述第二存储区域;从所述第一存储区域和所述第二存储区域中查询出与调整后的所述关键词相关的用户事件集。
第七方面,本申请实施例提供了一种集成系统,所述集成系统包括:客户端、处理系统和存储系统;所述处理系统分别与所述客户端和所述存储系统通信连接,所述处理系统、所述客户端和所述存储系统配合以执行如第一方面,第二方面,第二方面的第一种和第二种可能实现的方式,第三方面,以及第三方面的第一种可能实现的方式所述的事件处理方法
第八方面,本申请实施例提供了一种具有计算机可执行的非易失程序代码的计算机可读储存介质,所述程序代码使所述计算机执行如第一方面,第二方面,第二方面的第一种可能实现的方式,第三方面,以及第三方面的第一种和第二种可能实现的方式所述的事件处理方法。
本申请的有益效果包括:
通过在当前时刻距之前发送实时事件集后的时长满足第一预设时长便将实时事件集优先发送给处理系统进行处理后,再将当前时刻距之前发送非实时事件集后的时长满足第二预设时长便将非实时事件集其次发送给处理系统进行处理。这样就在不增加处理系统的负荷的情况,保证处理系统通过优先处理实时事件集优先获得需要迫切获得的处理结果,提高了获得处理结果的实效性。
为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本申请实施例提供的一种集成系统的结构框图;
图2示出了本申请实施例提供的一种事件处理方法的流程图;
图3示出了本申请实施例提供的一种事件处理装置的第一结构框图;
图4示出了本申请实施例提供的一种事件处理装置的第二结构框图;
图5示出了本申请实施例提供的一种事件处理装置的第三结构框图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,应当理解,本申请中附图仅起到说明和描述的目的,并不用于限定本申请的保护范围。另外,应当理解,示意性的附图并未按实物比例绘制。本申请中使用的流程图示出了根据本申请的一些实施例实现的操作。应该理解,流程图的操作可以不按顺序实现,没有逻辑的上下文关系的步骤可以反转顺序或者同时实施。此外,本领域技术人员在本申请内容的指引下,可以向流程图添加一个或多个其他操作,也可以从流程图中移除一个或多个操作。
另外,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,本申请实施例中将会用到术语“包括”,用于指出其后所声明的特征的存在,但并不排除增加其它的特征。
请参阅图1,本申请一些实施例提供了一种集成系统10,该集成系统可以包括:客户端11、处理系统12和存储系统13。
客户端11可以为安装在终端上的APP(Application,应用程序),终端可以为手机、平板电脑、笔记本电脑或台式电脑等。终端可以运行该客户端11。那么,用户通过在终端上进行操作,终端就能够响应用户的操作而使得客户端11执行相应的用户行为,而用户行为可以为例如,点击、播放、评论和分析等。
处理系统12可以为包括多个设备的数据处理系统,例如,数据处理系统可以为Kafka集群,但并不作为限定。
存储系统13则也可以为包括多个设备的数据存储系统,本实施例中,数据存储系统可以为分布式存储系统,例如可以为AWS S3系统,但也不作为限定。
本实施例中,处理系统12可以分别和至少一个客户端11和存储系统13通信连接,这样至少一个客户端11、处理系统12和存储系统13就能够配合以实现对事件处理方法的执行。
需要说明的是,处理系统12与至少一个客户端11中每个客户端11的交互方式可以相同,为便于理解本方案,本实施例中以处理系统12与至少一个客户端11中的某一个客户端11交互为例来对本申请实施例的进行详细地的说明,但并不作为限定。
请参阅图2,本申请一些实施例提供了事件处理方法,该事件处理方法可以分别由客户端、处理系统和存储系统执行,该事件处理方法可以包括:步骤S100、步骤S200、步骤S300、步骤S400、步骤S500、步骤S600和步骤S700。
步骤S100:根据预设实时用户行为,采集所述客户端执行的与所述预设实时用户行为匹配的用户行为而产生的每个实时事件,以及根据预设的非实时用户行为,采集所述客户端执行的与所述预设的非实时用户行为匹配的用户行为而产生的每个非实时事件。
步骤S200:在当前时刻距之前发送实时事件集后的时长满足第一预设时长时,获得包括所述第一预设时长内总共产生的实时事件的实时事件集,并将处理后的实时事件集发送至处理系统。
步骤S300:在当前时刻距之前发送非实时事件集后的时长满足大于所述第一预设时长的第二预设时长时,获得包括所述第二预设时长内总共产生的非实时事件的非实时事件集,并将处理后的非实时事件集发送至处理系统。
步骤S400:对在第三预设时长内获得的客户端发送的至少一个实时事件集进行处理,获得处理后的实时事件集;以及对在大于所述第三预设时长的第四预设时长内获得的所述客户端发送的至少一个非实时事件集进行处理,获得处理后的非实时事件集,其中,所述处理后的实时事件集包含的实时事件和所述处理后的非实时事件集中包含的非实时事件用于表示所述客户端执行的用户行为。
步骤S500:将所述处理后的实时事件集在第一时刻发送至储存系统,以及将所述处理后的非实时事件集在所述第一时刻之后的第二时刻发送至储存系统。
步骤S600:将在第三时刻获得的处理后的实时事件集中为文件格式的每个实时事件转换成列式存储格式的每个实时事件,以及将在所述第三时刻之后的第四时刻获得的处理后的非实时事件集中为文件格式的每个非实时事件转换成列式存储格式的每个非实时事件。
步骤S700:根据列式存储格式的每个实时事件的发生时间和事件类型,在第五时刻将列式存储格式的每个实时事件存储到的第一存储区域中,以及根据列式存储格式的每个非实时事件的发生时间和事件类型,在所述第五时刻之后的第六时刻将列式存储格式的每个非实时事件存储到的第二存储区域中。
下面将对本申请实施例的各个步骤进行详细地说明。
随着用户在终端运行的客户端上执行操作,终端就能够响应用户的操作而使得客户端实现相应的用户行为。相应的,基于客户端对步骤S100的执行,则客户端可以去实时的检测并采集这些用户行为。
作为采集用户行为的一种可选地方式,客户端中预设了与当前客户端版本相关的预设实时用户行为。预设实时用户行为可以为基于当前客户端版本所提供的功能,用户能够实现一些实时的用户行为,例如,评论、转发和私信等。
这样,客户端基于预设实时用户行为,在用户在终端运行的客户端上执行操作的过程中,便可以采集客户端执行的与预设实时用户行为匹配的用户行为而产生的每个实时事件。
作为采集用户行为的另一种可选地方式,客户端中也预设了与当前客户端版本相关的预设非实时用户行为。预设非实时用户行为可以为基于当前客户端版本所提供的功能,用户能够实现的一些非实时的用户行为,例如,视频直播和图像下载等。
这样,客户端基于预设非实时用户行为,在用户在终端运行的客户端上执行操作的过程中,便可以采集客户端执行的与预设非实时用户行为匹配的用户行为而产生的每个非实时事件。
可也理解到,在预设实时用户行为和预设非实时用户行为中的一部分行为可以是与客户端提供的功能对应的用户行为,即这些预设用户行为是可以根据客户端版本更新导致客户端提供的功能变化而对应变化的。但在预设实时用户行为和预设非实时用户行为中的另一部分行为可以是固定的用户行为,即这些固定的预设用户行为可以不随着客户端提供的功能变化而变化,例如这些固定的预设用户行为可以为终端型号、系统版本和地理位置等。
随着客户端采集每个实时事件,客户端便可以执行步骤S200。
客户端可以针对采集的每个实时事件,将每个实时事件以JSON(JavaScriptObject Notation,对象简谱)形式进行序列化,使得存储在内存中每个实时事件以JSON字段的形式存储到JSON文件中。这样随着客户端不断将序列化后的每个实时事件存到JSON文件,JSON文件中就可以包含由至少一个实时事件构成的实时事件集。
可以理解到,可以是一个JSON文件可以包含一个实时事件集,或者,也可以是至少两个JSON文件包含一个实时事件集,对此并不限定。
相应的,客户端还可以针对采集的每个非实时事件,将每个非实时事件也以JSON形式进行序列化,使得存储在内存中每个非实时事件以JSON字段的形式存储到与实时事件不同的JSON文件中。这样随着客户端不断将序列化后的每个非实时事件存到JSON文件,JSON文件中就可以包含由至少一个非实时事件构成的非实时事件集。
也可以理解到,也可以是一个JSON文件可以包含一个非实时事件集,或者,还可以是至少两个JSON文件包含一个非实时事件集,对此并不限定。
本实施例中,随着客户端将将每个实时事件存储到JSON文件中,以及将每个非实时事件也存储到JSON文件中,那么客户端便可以对步骤S300进行执行。
客户端中预设了每一次发送实时事件集与下一次发送实时事件集之间间隔的第一预设时长。由于实时事件的实时性比较重要,需要处理系统优先处理,故第一预设时长可以比较短,例如为5秒、10秒或30秒等。
那么,客户端便可以判断当前时刻距之前发送实时事件集后的时长是否达到了第一预设时长。
若否,客户端便可以继续保持对是否达到第一预设时长进行判断。
若是,客户端便可以基于JSON文件由于存储非实时事件不为空确定可以发送实时事件集。因此,客户端便可以将第一预设时长内获得的实时事件集发送至处理系统相应的端口,其中,第一预设时长内获得的实时事件集可以包括第一预设时长内总共产生的实时事件。即客户端可以以至少一个JSON文件的形式将实时事件集发送至处理系统相应的端口。
相应的,客户端中也预设了每一次发送非实时事件集与下一次发送非实时事件集之间间隔的第二预设时长。由于非实时事件的实时性没有实时事件那么重要,故第二预设时长可以长于第一预设时长,例如为1分钟、5分钟或10分钟等。
基于此,客户端便也可以判断当前时刻距之前发送非实时事件集后的时长是否达到了第二预设时长。
若否,客户端便可以继续保持对是否达到第二预设时长进行判断。
若是,客户端便可以基于JSON文件由于存储非实时事件不为空而确定可以发送非实时事件集。因此,客户端便可以将第二预设时长内获得的非实时事件集也发送至处理系统相应的端口,其中,第二预设时长内获得的非实时事件集也可以包括第二预设时长内总共产生的非实时事件。即客户端也可以以至少一个JSON文件的形式将非实时事件集发送至处理系统相应的端口。
相应的,处理系统便可以基于获得的实时事件集和非实时事件集而执行步骤S400。
为便于处理系统批量且快速的对获得的实时事件集和非实时事件集进行处理,处理系统可以基于Spark Streaming架构预设一个用于判断是否可以批量处理实时事件集的第三预设时长,以及还可以基于Spark Streaming架构预设一个用于判断是否可以批量处理非实时事件集的第四预设时长。其中,为保证数据量的累计又不至于时间太长,第三预设时长可以为大于第一预设时长的5-30分钟,例如可以为5分钟;而第四预设时长则也可以为大于第二预设时长的5-30分钟,例如可以为20分钟。
由于第三预设时长可以表示为处理系统每一次处理实时事件集与下一次处理实时事件集之间的间隔时长。那么处理系统可以判断当前时刻距之前处理实时事件集的时长是否满足第三预设时长。
若否,处理系统便可以继续保持对是否达到第三预设时长进行判断。
若是,处理系统便可以确定需要处理非实时事件集。因此,处理系统可以对在第三预设时长内获得的客户端发送的至少一个实时事件集进行处理。可以理解到,由于第三预设时长大于第一预设时间,故处理系统在第三预设时长内获得的实时事件可以不止一个。本实施例中,处理系统对至少一个实时事件的处理可以是对至少一个实时事件中的数据进行清洗,即进行对至少一个实时事件中的有用数据进行填充并对无用数据进行删除。这样,便可以获得处理后的实时事件集。
相应的,由于第四预设时长也可以表示为处理系统每一次处理非实时事件集与下一次处理非实时事件集之间的间隔时长。那么处理系统也可以判断当前时刻距之前处理非实时事件集的时长是否满足第四预设时长。
若否,处理系统便可以继续保持对是否达到第四预设时长进行判断。
若是,处理系统便可以确定需要处理非实时事件集。因此,处理系统可以对在第四预设时长内获得的客户端发送的至少一个非实时事件集进行处理。可以理解到,也由于第四预设时长大于第二预设时间,故处理系统在第四预设时长内获得的实时事件可以不止一个。本实施例中,处理系统对至少一个非实时事件的处理也可以是对至少一个非实时事件中的数据进行清洗,即进行对至少一个非实时事件中的有用数据进行填充并对无用数据进行删除。这样,便可以获得处理后的非实时事件集。
需要说明的是,由于处理系统以比较短的第三预设时长和第四预设时长对数据进行处理,可以使得用户不仅可以很快获得对实时事件的处理结果,还可以比较快的获得对非实时事件的处理结果。极大的提高获得的结果的时效性。
另外,在本实施例中,由于处理系统还可以动态存储预设时长内的事件,例如预设时长可以为一周但并不作为限定,故可以便于对事件产生故障进行故障处理,以及还可以单独将某些事件调用出来以便进行事件的回放。
相应的,在处理系统对至少一个实时事件和对至少一个非实时事件进行处理后,处理系统便可以执行步骤S500。
由于至少一个实时事件可以先于至少一个非实时事件处理完成,故处理系统可以分别在不同的时刻获得处理后的实时事件集和处理后的非实时事件集。
可选地,处理系统可以在第一时刻将处理后的实时事件集发送至储存系统的相应端口。以及,处理系统还可以在第一时刻之后的第二时刻将处理后的非实时事件集也发送至储存系统的相应端口。
本实施例中,处理系统发送处理后的实时事件集和处理后的非实时事件集后,存储系统便可以继续执行步骤S600。
也由于处理后的实时事件集可以先于至少一个非实时事件发送,故存储系统则可以分别在不同的时刻获得处理后的实时事件集和处理后的非实时事件集。即存储系统可以在第三时刻获得处理后的实时事件集,以及在第三时刻后的第四时刻获得处理后的非实时事件集。
本实施例中,为节约存储空间,存储系统可以将数据以ORC形式(Optimized RowColumnar,列式存储格式)进行存储。这样不仅可以减少读取数据的I/O请求,ORC形式对每一列字段的高压缩比还使得ORC形式在存储同样的数据量时可以只占用普通存储方式的20%的存储空间,实现了对成本的节约。那么,存储系统便可以将获得的处理后的实时事件集中为文件格式的每个实时事件转换成列式存储格式的每个实时事件,以及可以将获得的处理后的非实时事件集中为文件格式的每个非实时事件转换成列式存储格式的每个非实时事件。
随着存储系统对数据进行格式转换,存储系统便也可以开始执行步骤S700。
为便于数据的检索,存储系统中可以设置有存储不同数据的多个存储区域,可选地,存储系统可以根据列式存储格式的每个实时事件的发生时间和事件类型,在第五时刻将列式存储格式的每个实时事件存储到的第一存储区域中。以及,存储系统还可以根据列式存储格式的每个非实时事件的发生时间和事件类型,在第五时刻之后的第六时刻将列式存储格式的每个非实时事件存储到的第二存储区域中。
需要说明的是,第一存储区域中也可以为多个子区域构成,以便存储实时事件中不同发生时间和事件类型的实时事件,以及第二存储区域中也可以为多个子区域构成,也便存储非实时事件中不同发生时间和事件类型的非实时事件。
本实施例中,由于存储系统为AWS S3,使得存储系统可以具备非常高的可靠性,例如其可靠性可以达到99%以上,故使得存储系统几乎不用耗费人力资源去运维,节省了成本。
本实施例中,存储系统上还设置了检索引擎,以便对存储系统中存储的实时事件和非实时事件进行检索,其中,检索引擎可以为Hive或Presto检索引擎。再者,该检索引擎还可以基于AWS Athena服务来上实现。故使得存储系统在进行数据检索时,基于AWSAthena服务可以租用外部的检索服务器来进行数据检索,使得检索具有良好的查询反应速度,即使检索涉及到100G的数据,也能在大约10秒中之内返回检索到结果。再者,AWSAthena服务采用基于检索数据的收费模式,即查了多少数据收多少钱,故可以避免用户构建和维护自己的检索服务器所带来的高昂成本。
本实施例中,存储系统可以自行进行检索,可选地,存储系统可以自在设定时间点,根据预设的关键词生成算法生成当前需要查询的关键词,其中,设定时间点可以为例如在每天的某一个或几个时刻,但不作为限定。那么,存储系统便可以根据生成的关键词一列的方式遍历第一存储区域和第二存储区域,从而判断是否从第一存储区域和第二存储区域中查询出与关键词相关的用户事件集。
若是,那么存储系统便获得该用户事件集,结束本次的检索,以待下一次到达设定时间点再开始检索。
若否,存储系统可以基于关键词生成算法调整关键词,根据调整后的再次关键词遍历第一存储区域和第二存储区域。其中,这个过程可以不断重复,即存储系统可以不断调整关键词,再不断的进行检索,直至检索出用户事件集。故存储系统在从第一存储区域和第二存储区域中查询出与调整后的关键词相关的用户事件集后,存储系统便也获得该用户事件集,并也结束本次的检索以待下一次到达设定时间点再开始检索。
存储系统获得用户事件集后,存储系统还可以根据根据预设的用户行为分析算法对用户事件集进行处理,以从用户事件集中提取出用户的行为特征。
本实施例中,终端上可以设置有用于检索的Web前端,且Web前端可以通过调用API的(Application Programming Interface,应用接口)方式来与存储系统交互,以实现存储系统将检索出的事件发送给终端,使得终端可以以图表的方式将检索出的事件展示。
请参阅图3,本申请一些实施例提供了一种事件处理装置100,该事件处理装置可以运行在客户端所对应的终端上,该事件处理装置100可以包括:
行为事件采集模块110,用于根据预设实时用户行为,采集所述客户端执行的与所述预设实时用户行为匹配的用户行为而产生的每个实时事件,以及根据预设的非实时用户行为,采集所述客户端执行的与所述预设的非实时用户行为匹配的用户行为而产生的每个非实时事件。
第一事件发送模块120,用于在当前时刻距之前发送实时事件集后的时长满足第一预设时长时,获得包括所述第一预设时长内总共产生的实时事件的实时事件集,并将处理后的实时事件集发送至处理系统。
第二事件发送模块130,用于在当前时刻距之前发送非实时事件集后的时长满足大于所述第一预设时长的第二预设时长时,获得包括所述第二预设时长内总共产生的非实时事件的非实时事件集,并将处理后的非实时事件集发送至处理系统。
请参阅图4,本申请一些实施例提供了一种事件处理装置200,该事件处理装置200可以运行在处理系统上,该事件处理装置200可以包括:
事件获得处理模块210,用于对在第三预设时长内获得的客户端发送的至少一个实时事件集进行处理,获得处理后的实时事件集;以及对在大于所述第三预设时长的第四预设时长内获得的所述客户端发送的至少一个非实时事件集进行处理,获得处理后的非实时事件集,其中,所述处理后的实时事件集包含的实时事件和所述处理后的非实时事件集中包含的非实时事件用于表示所述客户端执行的用户行为。
第三事件发送模块220,用于将所述处理后的实时事件集在第一时刻发送至储存系统,以及将所述处理后的非实时事件集在所述第一时刻之后的第二时刻发送至储存系统。
请参阅图5,本申请一些实施例提供了一种事件处理装置300,该事件处理装置300可以运行在存储系统上,该事件处理装置300可以包括:
事件转换模块310,用于将在第三时刻获得的处理后的实时事件集中为文件格式的每个实时事件转换成列式存储格式的每个实时事件,以及将在所述第三时刻之后的第四时刻获得的处理后的非实时事件集中为文件格式的每个非实时事件转换成列式存储格式的每个非实时事件。
事件存储模块320,用于根据列式存储格式的每个实时事件的发生时间和事件类型,在第五时刻将列式存储格式的每个实时事件存储到的第一存储区域中,以及根据列式存储格式的每个非实时事件的发生时间和事件类型,在所述第五时刻之后的第六时刻将列式存储格式的每个非实时事件存储到的第二存储区域中。
事件查询模块330,用于在设定时间点,生成当前需要查询的关键词;根据所述关键词遍历所述第一存储区域和所述第二存储区域,判断是否从所述第一存储区域和所述第二存储区域中查询出与所述关键词相关的用户事件集。若否,调整所述关键词,根据调整后的所述关键词遍历所述第一存储区域和所述第二存储区域;从所述第一存储区域和所述第二存储区域中查询出与调整后的所述关键词相关的用户事件集。
需要说明的是,由于所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本申请一些实施例还提供了一种计算机可执行的非易失的程序代码的计算机可读储存介质,该计算机可读存储介质上存储有程序代码,该程序代码被计算机运行时执行上述任一实施例的事件处理方法的步骤。
具体地,该存储介质能够为通用的存储介质,如移动磁盘、硬盘等,该存储介质上的程序代码被运行时,能够以实现数据处理系统能够快速的对数据进行处理,提高了获得处理结果的实效性。
本申请实施例所提供的事件处理方法的程序代码产品,包括存储了程序代码的计算机可读存储介质,程序代码包括的指令可用于执行前面方法实施例中的方法,具体实现可参见方法实施例,在此不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
综上所述,本申请实施例提供了一种事件处理方法及装置,方法应用于客户端,方法包括:根据预设实时用户行为,采集客户端执行的与预设实时用户行为匹配的用户行为而产生的每个实时事件,以及根据预设的非实时用户行为,采集客户端执行的与预设的非实时用户行为匹配的用户行为而产生的每个非实时事件;在当前时刻距之前发送实时事件集后的时长满足第一预设时长时,获得包括第一预设时长内总共产生的实时事件的实时事件集,并将处理后的实时事件集发送至处理系统;在当前时刻距之前发送非实时事件集后的时长满足大于第一预设时长的第二预设时长时,获得包括第二预设时长内总共产生的非实时事件的非实时事件集,并将处理后的非实时事件集发送至处理系统。
通过在当前时刻距之前发送实时事件集后的时长满足第一预设时长便将实时事件集优先发送给处理系统进行处理后,再将当前时刻距之前发送非实时事件集后的时长满足第二预设时长便将非实时事件集其次发送给处理系统进行处理。这样就在不增加处理系统的负荷的情况,保证处理系统通过优先处理实时事件集优先获得需要迫切获得的处理结果,提高了获得处理结果的实效性。
以上仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
以上,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种事件处理方法,其特征在于,应用于客户端,所述方法包括:
根据预设实时用户行为,采集所述客户端执行的与所述预设实时用户行为匹配的用户行为而产生的每个实时事件,以及根据预设的非实时用户行为,采集所述客户端执行的与所述预设的非实时用户行为匹配的用户行为而产生的每个非实时事件;
在当前时刻距之前发送实时事件集后的时长满足第一预设时长时,获得包括所述第一预设时长内总共产生的实时事件的实时事件集,并将处理后的实时事件集发送至处理系统;
在当前时刻距之前发送非实时事件集后的时长满足大于所述第一预设时长的第二预设时长时,获得包括所述第二预设时长内总共产生的非实时事件的非实时事件集,并将处理后的非实时事件集发送至处理系统。
2.一种事件处理方法,其特征在于,应用于处理系统,所述方法包括:
对在第三预设时长内获得的客户端发送的至少一个实时事件集进行处理,获得处理后的实时事件集;以及对在大于所述第三预设时长的第四预设时长内获得的所述客户端发送的至少一个非实时事件集进行处理,获得处理后的非实时事件集,其中,所述处理后的实时事件集包含的实时事件和所述处理后的非实时事件集中包含的非实时事件用于表示所述客户端执行的用户行为;
将所述处理后的实时事件集在第一时刻发送至储存系统,以及将所述处理后的非实时事件集在所述第一时刻之后的第二时刻发送至储存系统。
3.根据权利要求2所述的事件处理方法,其特征在于,在对在第三预设时长内获得的客户端发送的至少一个实时事件集进行处理,获得处理后的实时事件集之前,所述方法包括:
判断当前时刻距之前处理实时事件集时长是否满足所述第三预设时长,其中,所述第三预设时长为5-30分钟;
若是,执行步骤:对在第三预设时长内获得的客户端发送的至少一个实时事件集进行处理,获得处理后的实时事件集。
4.根据权利要求2所述的事件处理方法,其特征在于,在对在大于所述第三预设时长的第四预设时长内获得的所述客户端发送的至少一个非实时事件集进行处理,获得处理后的非实时事件集之前,所述方法包括:
判断当前时刻距之前处理实时事件集时长是否满足所述第四预设时长,其中,所述第四预设时长为5-30分钟;
若是,执行步骤:对在大于所述第三预设时长的第四预设时长内获得的所述客户端发送的至少一个非实时事件集进行处理,获得处理后的非实时事件集。
5.一种事件处理方法,其特征在于,应用于存储系统,所述方法包括:
将在第三时刻获得的处理后的实时事件集中为文件格式的每个实时事件转换成列式存储格式的每个实时事件,以及将在所述第三时刻之后的第四时刻获得的处理后的非实时事件集中为文件格式的每个非实时事件转换成列式存储格式的每个非实时事件;
根据列式存储格式的每个实时事件的发生时间和事件类型,在第五时刻将列式存储格式的每个实时事件存储到的第一存储区域中,以及根据列式存储格式的每个非实时事件的发生时间和事件类型,在所述第五时刻之后的第六时刻将列式存储格式的每个非实时事件存储到的第二存储区域中。
6.根据权利要求5所述的事件处理方法,其特征在于,在根据列式存储格式的每个实时事件的发生时间和事件类型,将列式存储格式的每个实时事件存储到的第一存储区域中,以及根据列式存储格式的每个非实时事件的发生时间和事件类型,将列式存储格式的每个非实时事件存储到的第二存储区域中之后,所述方法还包括:
在设定时间点,生成当前需要查询的关键词;
根据所述关键词遍历所述第一存储区域和所述第二存储区域,判断是否从所述第一存储区域和所述第二存储区域中查询出与所述关键词相关的用户事件集;
若否,调整所述关键词,根据调整后的所述关键词遍历所述第一存储区域和所述第二存储区域;
从所述第一存储区域和所述第二存储区域中查询出与调整后的所述关键词相关的用户事件集。
7.一种事件处理装置,其特征在于,应用于客户端,所述装置包括:
行为事件采集模块,用于根据预设实时用户行为,采集所述客户端执行的与所述预设实时用户行为匹配的用户行为而产生的每个实时事件,以及根据预设的非实时用户行为,采集所述客户端执行的与所述预设的非实时用户行为匹配的用户行为而产生的每个非实时事件;
第一事件发送模块,用于在当前时刻距之前发送实时事件集后的时长满足第一预设时长时,获得包括所述第一预设时长内总共产生的实时事件的实时事件集,并将处理后的实时事件集发送至处理系统;
第二事件发送模块,用于在当前时刻距之前发送非实时事件集后的时长满足大于所述第一预设时长的第二预设时长时,获得包括所述第二预设时长内总共产生的非实时事件的非实时事件集,并将处理后的非实时事件集发送至处理系统。
8.一种事件处理装置,其特征在于,应用于处理系统,所述装置包括:
事件获得处理模块,用于对在第三预设时长内获得的客户端发送的至少一个实时事件集进行处理,获得处理后的实时事件集;以及对在大于所述第三预设时长的第四预设时长内获得的所述客户端发送的至少一个非实时事件集进行处理,获得处理后的非实时事件集,其中,所述处理后的实时事件集包含的实时事件和所述处理后的非实时事件集中包含的非实时事件用于表示所述客户端执行的用户行为;
第三事件发送模块,用于将所述处理后的实时事件集在第一时刻发送至储存系统,以及将所述处理后的非实时事件集在所述第一时刻之后的第二时刻发送至储存系统。
9.一种事件处理装置,其特征在于,应用于存储系统,所述装置包括:
事件转换模块,用于将在第三时刻获得的处理后的实时事件集中为文件格式的每个实时事件转换成列式存储格式的每个实时事件,以及将在所述第三时刻之后的第四时刻获得的处理后的非实时事件集中为文件格式的每个非实时事件转换成列式存储格式的每个非实时事件;
事件存储模块,用于根据列式存储格式的每个实时事件的发生时间和事件类型,在第五时刻将列式存储格式的每个实时事件存储到的第一存储区域中,以及根据列式存储格式的每个非实时事件的发生时间和事件类型,在所述第五时刻之后的第六时刻将列式存储格式的每个非实时事件存储到的第二存储区域中。
10.根据权利要求9所述的事件处理装置,其特征在于,所述装置还包括:
事件查询模块,用于在设定时间点,生成当前需要查询的关键词;根据所述关键词遍历所述第一存储区域和所述第二存储区域,判断是否从所述第一存储区域和所述第二存储区域中查询出与所述关键词相关的用户事件集;若否,调整所述关键词,根据调整后的所述关键词遍历所述第一存储区域和所述第二存储区域;从所述第一存储区域和所述第二存储区域中查询出与调整后的所述关键词相关的用户事件集。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811412626.8A CN109542592A (zh) | 2018-11-22 | 2018-11-22 | 事件处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811412626.8A CN109542592A (zh) | 2018-11-22 | 2018-11-22 | 事件处理方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109542592A true CN109542592A (zh) | 2019-03-29 |
Family
ID=65849924
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811412626.8A Pending CN109542592A (zh) | 2018-11-22 | 2018-11-22 | 事件处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109542592A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113778711A (zh) * | 2021-09-09 | 2021-12-10 | 恒安嘉新(北京)科技股份公司 | 一种事件处理方法、装置、电子设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102468907A (zh) * | 2010-11-05 | 2012-05-23 | 北京北方微电子基地设备工艺研究中心有限责任公司 | 工艺数据的传送方法、装置及系统 |
CN107656783A (zh) * | 2016-07-25 | 2018-02-02 | 武汉票据交易中心有限公司 | 一种基于事件的流程处理方法及系统 |
CN107844524A (zh) * | 2017-10-12 | 2018-03-27 | 金蝶软件(中国)有限公司 | 数据处理方法、数据处理装置、计算机设备和存储介质 |
CN108093439A (zh) * | 2017-10-30 | 2018-05-29 | 努比亚技术有限公司 | 用户行为数据上报控制方法、终端及计算机可读存储介质 |
-
2018
- 2018-11-22 CN CN201811412626.8A patent/CN109542592A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102468907A (zh) * | 2010-11-05 | 2012-05-23 | 北京北方微电子基地设备工艺研究中心有限责任公司 | 工艺数据的传送方法、装置及系统 |
CN107656783A (zh) * | 2016-07-25 | 2018-02-02 | 武汉票据交易中心有限公司 | 一种基于事件的流程处理方法及系统 |
CN107844524A (zh) * | 2017-10-12 | 2018-03-27 | 金蝶软件(中国)有限公司 | 数据处理方法、数据处理装置、计算机设备和存储介质 |
CN108093439A (zh) * | 2017-10-30 | 2018-05-29 | 努比亚技术有限公司 | 用户行为数据上报控制方法、终端及计算机可读存储介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113778711A (zh) * | 2021-09-09 | 2021-12-10 | 恒安嘉新(北京)科技股份公司 | 一种事件处理方法、装置、电子设备及存储介质 |
CN113778711B (zh) * | 2021-09-09 | 2024-04-16 | 恒安嘉新(北京)科技股份公司 | 一种事件处理方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109582660B (zh) | 数据血缘分析方法、装置、设备、系统及可读存储介质 | |
CN107590188B (zh) | 一种自动化垂直细分领域的爬虫爬取方法及其管理系统 | |
CN104601696B (zh) | 服务处理方法、服务调用系统、装置和系统 | |
CN107315629A (zh) | 任务处理方法、装置及存储介质 | |
RU2004119366A (ru) | Медиапроцессор для организации медиа | |
CN107729564A (zh) | 一种分布式的聚焦网络爬虫网页爬取方法及系统 | |
CN109992601A (zh) | 待办事项信息的推送方法、装置和计算机设备 | |
CN110908641A (zh) | 基于可视化的流计算平台、方法、设备和存储介质 | |
US20230015068A1 (en) | Unified data model and interface for databases storing disparate types of data | |
CN101562664A (zh) | 一种话单处理方法和系统 | |
EP3483746A1 (en) | Methods and devices for generating data to train a natural language understanding component | |
CN105335186B (zh) | 数据下载管理方法及系统 | |
CN107180050A (zh) | 一种数据抓取系统及方法 | |
Butakov et al. | Multitenant approach to crawling of online social networks | |
CN109542592A (zh) | 事件处理方法及装置 | |
CN112559156A (zh) | 一种多依赖任务分组管理方法、装置、设备及存储介质 | |
CN110866052A (zh) | 一种数据分析方法、装置及设备 | |
CN109522348A (zh) | 一种融合多个智能分析语言的数据处理系统和方法 | |
US20160004776A1 (en) | Cloud search analytics | |
KR102069144B1 (ko) | 모바일 컴퓨팅 디바이스들에 의한 파일 관리를 위한 시스템들 및 방법들 | |
CN110909072B (zh) | 一种数据表建立方法、装置及设备 | |
CN109344145B (zh) | 一种基于数据标准规范的数据清洗方法、装置和系统 | |
US20070006045A1 (en) | Method and apparatus for object-oriented load testing of computing systems | |
CN113918636B (zh) | 一种基于etl的数据处理量分析方法 | |
JP2002032388A (ja) | 文書体系化方法、文書選択方法、文書管理装置、文書処理管理システム及び記録媒体 |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190329 |