CN113364863A - 一种行为数据会话id分配的方法、系统及设备 - Google Patents
一种行为数据会话id分配的方法、系统及设备 Download PDFInfo
- Publication number
- CN113364863A CN113364863A CN202110620365.4A CN202110620365A CN113364863A CN 113364863 A CN113364863 A CN 113364863A CN 202110620365 A CN202110620365 A CN 202110620365A CN 113364863 A CN113364863 A CN 113364863A
- Authority
- CN
- China
- Prior art keywords
- session
- behavior data
- time
- data
- difference
- 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
- 238000000034 method Methods 0.000 title claims abstract description 62
- 230000006399 behavior Effects 0.000 claims description 215
- 230000003542 behavioural effect Effects 0.000 claims description 27
- 238000004590 computer program Methods 0.000 claims description 6
- 230000008569 process Effects 0.000 abstract description 13
- 238000012545 processing Methods 0.000 abstract description 11
- 238000004364 calculation method Methods 0.000 abstract description 8
- 230000009286 beneficial effect Effects 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/30—Managing network names, e.g. use of aliases or nicknames
- H04L61/3015—Name registration, generation or assignment
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请公开了一种行为数据会话ID分配的方法,包括:获取当前接收的行为数据的时间戳,并获取第一指针的值;若所述第一会话ID不为空,则计算所述行为数据的时间戳与所述第一会话末尾时刻的第一差值;若所述第一差值小于零,则计算所述第一会话开始时刻与所述行为数据的时间戳的第二差值;若所述第二差值小于第一阈值,则将所述第一会话开始时刻更新为所述行为数据的时间戳,并将所述第一会话ID分配给所述行为数据。本申请在实时计算过程中完成了对乱序数据的会话ID分配,避免了乱序数据处理延迟。本申请同时还提供了一种行为数据会话ID分配的系统、设备及可读存储介质,具有上述有益效果。
Description
技术领域
本申请涉及行为数据会话ID分配领域,特别涉及一种行为数据会话ID分配的方法、系统、设备及可读存储介质。
背景技术
随着Web技术的不断发展,电子商务活动日渐频繁。客户对企业网站的每一次点击都会被企业网络服务器记录在日志中,由此产生了点击流数据。点击流数据一方面数据量巨大,另一方面很难保证数据是完整按照时间顺序排序的,然而有些业务逻辑的实现依赖数据的时间顺序,与点击流数据乱序的现实相悖,以至于这部分逻辑不能实时处理。
例如在对行为数据进行解析时,一个用户如果在预设时间内(例如十分钟)不做任何操作(反映到数据上,就是连续十分钟后台都收不到该用户的行为数据),那么他本次的会话自动结束。如果十分钟之后他产生了新的行为数据了,此时就会分配一个新的会话ID给这些行为数据。在实时的场景中,由于数据传输阻塞,可能会出现系统在10点10分的时候接收到一个用户在10点整产生的行为数据的情况,而此时系统又必须在很短的时间内为该行为数据分配一个会话ID给这条记录,否则就会造成数据处理延迟。
因此,如何在实时计算过程中实现对乱序数据的会话ID分配是本领域技术人员目前需要解决的技术问题。
发明内容
本申请的目的是提供一种行为数据会话ID分配的方法、系统、设备及可读存储介质,用于在实时计算过程中实现对乱序数据的会话ID分配。
为解决上述技术问题,本申请提供一种行为数据会话ID分配的方法,该方法包括:
获取当前接收的行为数据的时间戳,并获取第一指针的值;所述第一指针为顺序到达数据的指针,所述第一指针包括第一会话ID、第一会话初始时刻、第一会话末尾时刻;
若所述第一会话ID不为空,则计算所述行为数据的时间戳与所述第一会话末尾时刻的第一差值;
若所述第一差值小于零,则计算所述第一会话开始时刻与所述行为数据的时间戳的第二差值;
若所述第二差值小于第一阈值,则将所述第一会话开始时刻更新为所述行为数据的时间戳,并将所述第一会话ID分配给所述行为数据。
可选的,还包括:
若所述第一差值大于所述第一阈值,则生成新第一会话ID分配给所述行为数据,并将所述第一会话初始时刻和所述第一会话末尾时刻更新为所述行为数据的时间戳;
若所述第一差值大于零且小于或等于所述第一阈值,则将所述第一会话末尾时刻更新为所述行为数据的时间戳与所述第一会话开始时刻的最小值,并将所述第一会话ID分配给所述行为数据。
可选的,还包括:
若所述第一会话ID为空,则生成新第一会话ID分配给所述行为数据,并将所述第一会话初始时刻和所述第一会话末尾时刻更新为所述行为数据的时间戳。
可选的,还包括:
若所述第二差值大于或等于所述第一阈值,则获取第二指针的值;所述第二指针为逆序到达数据的指针,所述第二指针包括第二会话ID、第二会话初始时刻、第二会话末尾时刻;
若所述第二会话ID不为空,则计算所述行为数据的时间戳与所述第二会话末尾时刻的第三差值;
若所述第三差值小于零,则计算所述第二会话开始时刻与所述行为数据的时间戳的第四差值;
若所述第四差值小于所述第一阈值,则将所述第二会话开始时刻更新为所述行为数据的时间戳与所述第二会话开始时刻中的最小值,并将所述第二会话ID分配给所述行为数据;
若所述第四差值大于或等于所述第一阈值,则生成新第二会话ID分配给所述行为数据,并将所述第二会话初始时刻和所述第二会话末尾时刻更新为所述行为数据的时间戳。
可选的,还包括:
若所述第三差值大于第一阈值,则生成新第二会话ID分配给所述行为数据,并将所述第二会话初始时刻和所述第二会话末尾时刻更新为所述行为数据的时间戳;
若所述第三差值大于零且小于或等于所述第一阈值,则将所述第二会话末尾时刻更新为所述行为数据的时间戳,并将所述第二会话ID分配给所述行为数据。
可选的,还包括:
若所述第二会话ID为空,则生成新第二会话ID分配给所述行为数据,并将所述第二会话初始时刻和所述第二会话末尾时刻更新为所述行为数据的时间戳。
可选的,在获取当前接收的行为数据的时间戳,并获取第一指针的值之前,还包括:
获取第三指针的值,并根据所述第三指针的值确定数据清除时刻;其中,所述第三指针为计时器指针;
判断在所述数据清除时刻之前是否有所述行为数据流入;
若否,则清空所述第一指针、所述第二指针及所述第三指针的值;
若是,则将所述数据清除时刻更新为所述数据清除时刻与第二阈值的和,并执行所述获取当前接收的行为数据的时间戳,并获取第一指针的值的步骤。
本申请还提供一种行为数据会话ID分配的系统,该系统包括:
第一获取模块,用于获取当前接收的行为数据的时间戳,并获取第一指针的值;所述第一指针为顺序到达数据的指针,所述第一指针包括第一会话ID、第一会话初始时刻、第一会话末尾时刻;
第一计算模块,用于若所述第一会话ID不为空,则计算所述行为数据的时间戳与所述第一会话末尾时刻的第一差值;
第二计算模块,用于若所述第一差值小于零,则计算所述第一会话开始时刻与所述行为数据的时间戳的第二差值;
第一更新模块,用于若所述第二差值小于第一阈值,则将所述第一会话开始时刻更新为所述行为数据的时间戳,并将所述第一会话ID分配给所述行为数据。
本申请还提供一种行为数据会话ID分配设备,该行为数据会话ID分配设备包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上述任一项所述行为数据会话ID分配的方法的步骤。
本申请还提供一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一项所述行为数据会话ID分配的方法的步骤。
本申请所提供行为数据会话ID分配的方法,包括:获取当前接收的行为数据的时间戳,并获取第一指针的值;所述第一指针为顺序到达数据的指针,所述第一指针包括第一会话ID、第一会话初始时刻、第一会话末尾时刻;若所述第一会话ID不为空,则计算所述行为数据的时间戳与所述第一会话末尾时刻的第一差值;若所述第一差值小于零,则计算所述第一会话开始时刻与所述行为数据的时间戳的第二差值;若所述第二差值小于第一阈值,则将所述第一会话开始时刻更新为所述行为数据的时间戳,并将所述第一会话ID分配给所述行为数据。
本申请所提供的技术方案,通过获取当前接收的行为数据的时间戳,并在第一会话ID不为空时,计算行为数据的时间戳与第一会话末尾时刻的第一差值,再根据第一差值的正负及其与第一阈值的关系来对行为数据所属的会话ID进行划分,最后将包含会话ID的行为数据输出,进而在实时计算过程中完成了对乱序数据的会话ID分配,避免了乱序数据处理延迟。本申请同时还提供了一种行为数据会话ID分配的系统、设备及可读存储介质,具有上述有益效果,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例所提供的一种行为数据会话ID分配的方法的流程图;
图2为本申请实施例所提供的另一种行为数据会话ID分配的方法的流程图;
图3为本申请实施例所提供的一种行为数据会话ID分配的系统的结构图;
图4为本申请实施例所提供的一种行为数据会话ID分配设备的结构图。
具体实施方式
本申请的核心是提供一种行为数据会话ID分配的方法、系统、设备及可读存储介质,用于在实时计算过程中实现对乱序数据的会话ID分配。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
点击流数据一方面数据量巨大,另一方面很难保证数据是完整按照时间顺序排序的,因此,但凡涉及到需要根据顺序数据进行处理的逻辑,一般都会放到离线场景下进行处理。
基于上述现实,很多公司都采取了Lambda架构,即同一份数据源,使用实时链路处理一次,离线链路再处理一次,以此来满足公司的业务需求。但是这也带来了很明显的两个问题,一是一份数据两条处理链路,占用双倍的计算资源和存储资源,另一方面实时和离线分离计算,经常遇到实时和离线数据不能完全吻合的问题。随着流计算的兴起,大数据处理流批一体化(即实时处理和离线处理合并为一条链路)成为了一个大趋势。但是想要实现流批一体化,面临的第一个问题就是如何把以往放在离线计算中的逻辑在实时计算中实现。有些业务逻辑的实现依赖数据的时间顺序,与点击流数据乱序的现实相悖,以至于这部分逻辑不能实时处理。
例如在对行为数据进行解析时,一个用户如果在预设时间内(例如十分钟)不做任何操作(反映到数据上,就是连续十分钟后台都收不到该用户的行为数据),那么他本次的会话自动结束。如果十分钟之后他产生了新的行为数据了,此时就会分配一个新的会话ID给这些行为数据。在实时的场景中,由于数据传输阻塞,可能会出现系统在10点10分的时候接收到一个用户在10点整产生的行为数据的情况,而此时系统又必须在很短的时间内为该行为数据分配一个会话ID给这条记录,否则就会造成数据处理延迟。故本申请提供了一种行为数据会话ID分配的方法,用于解决上述问题。
请参考图1,图1为本申请实施例所提供的一种行为数据会话ID分配的方法的流程图。
其具体包括如下步骤:
S101:获取当前接收的行为数据的时间戳,并获取第一指针的值;
这里提到的行为数据可以理解为客户对企业网站的点击行为所产生的数据,行为数据的时间戳即为该行为数据发生的时间,由于可能出现数据传输阻塞的情况,因此行为数据的时间戳可能会比接收到行为数据的时间早。
这里提到的第一指针为顺序到达数据的指针,第一指针包括第一会话ID、第一会话初始时刻、第一会话末尾时刻,其中:
会话ID是一个会话的key,浏览器第一次访问服务器会在服务器端生成一个会话,有一个会话ID和它对应。服务端在创建了会话的同时,会为该会话生成唯一的会话ID,而ID会在随后的请求中会被用来重新获得已经创建的会话;会话被创建之后,就可以调用会话相关的方法往会话中增加内容了,而这些内容只会保存在服务器中,发到客户端的只有会话ID;当客户端再次发送请求的时候,会将会话ID带上,服务器接受到请求之后就会依据会话ID找到相应的会话,从而再次使用之。
第一会话ID为当前顺序会话所对应的会话ID,第一会话初始时刻为当前顺序会话内的数据记录的最小时间戳,第一会话末尾时刻为当前顺序会话内的数据记录的最大时间戳。
S102:若第一会话ID不为空,则计算行为数据的时间戳与第一会话末尾时刻的第一差值;
当第一会话ID不为空时,则证明之前已经存在顺序会话,即当前接收到的行为数据不是第一个接收到的顺序行为数据,此时计算行为数据的时间戳与第一会话末尾时刻的第一差值,这里计算第一差值的意义在于,根据该行为数据的时间戳与第一会话末尾时刻的大小关系来决定为该行为数据分配怎样的会话ID。
在一个具体实施例中,当第一会话ID为空时,则证明之前不存在顺序会话,或者之前的顺序会话已经结束,此时根据该行为数据生成一个新的顺序会话的会话ID,即还可以执行如下步骤:
若第一会话ID为空,则生成新第一会话ID分配给行为数据,并将第一会话初始时刻和第一会话末尾时刻更新为行为数据的时间戳。
S103:若第一差值小于零,则计算第一会话开始时刻与行为数据的时间戳的第二差值;
当第一差值小于零时,则证明当前行为数据的时间戳在第一会话末尾时刻之前,即存在两种情况,一种是当前行为数据被包含在上一个顺序到达的会话中,这种情况下可以将第一会话ID分配给该行为数据;另一种是当前行为数据在上一个顺序到达的会话之前发生,此时就可以认定该行为数据不为顺序到达的行为数据,而是逆序到达的行为数据,此时要执行逆序到达会话ID分配逻辑为其进行会话ID的分配。
因此,在第一差值小于零,需要计算第一会话开始时刻与行为数据的时间戳的第二差值,根据第二差值具体的值来为该行为数据进行会话ID的分配。
在一个具体实施例中,当第一差值大于零且小于或等于第一阈值时,则证明当前行为数据的时间戳比第一会话末尾时刻晚,但是时间差在预设范围内,即表明用户在预设时间内又进行了操作(反映到数据上,就是在预设时间内收到了该用户的行为数据),那么认为此次的行为数据属于当前顺序会话内,并且此次会话的末尾时刻需要由第一会话末尾时刻更新为当前行为数据的时间戳;
当第一差值大于第一阈值时,则证明当前行为数据的时间戳比第一会话末尾时刻晚的时间大于第一阈值,即表明当前行为数据为用户在预设时间之外又进行的行为,那么则结束本次顺序会话,并为其分配一个新的顺序会话的会话ID,并且将此次顺序会话的开始时刻和末尾时刻(即新第一会话ID对应的第一会话初始时刻和第一会话末尾时刻)更新为当前行为数据的时间戳;即还可以执行如下步骤:
若第一差值大于第一阈值,则生成新第一会话ID分配给行为数据,并将第一会话初始时刻和第一会话末尾时刻更新为行为数据的时间戳;
若第一差值大于零且小于或等于第一阈值,则将第一会话末尾时刻更新为行为数据的时间戳与第一会话开始时刻的最小值,并将第一会话ID分配给行为数据。
S104:若第二差值小于第一阈值,则将第一会话开始时刻更新为行为数据的时间戳,并将第一会话ID分配给行为数据。
若第二差值小于第一阈值,则证明在当前行为数据的时间戳在第一会话末尾时刻之前的情况下,当前行为数据被包含在上一个顺序到达的会话中,这种情况下可以将第一会话ID分配给该行为数据,此时该会话的开始时间(即第一开始时间)将更新为当前行为数据的时间戳。
基于上述技术方案,本申请所提供的一种行为数据会话ID分配的方法,通过获取当前接收的行为数据的时间戳,并在第一会话ID不为空时,计算行为数据的时间戳与第一会话末尾时刻的第一差值,再根据第一差值的正负及其与第一阈值的关系来对行为数据所属的会话ID进行划分,最后将包含会话ID的行为数据输出,进而在实时计算过程中完成了对乱序数据的会话ID分配,避免了乱序数据处理延迟。
本申请实施例还公开了另一种行为数据会话ID分配的方法,相对于前几个实施例,本实施例对技术方案作了进一步的说明和优化,具体请参考图2,图2为本申请实施例所提供的另一种行为数据会话ID分配的方法的流程图。
其具体包括如下步骤:
S201:获取第三指针的值,并根据第三指针的值确定数据清除时刻;
其中,第三指针为计时器指针,用于更新计时器的指针状态。该第三指针状态维护一个值,即计时器触发时间的时间戳。由于可以通过计时器的触发时间唯一确定一个计时器,因此第三指针为更新计时器的策略变相提供了支撑。定时器的作用为当某条流长时间无数据流入时,定时器清空所有的指针数据,以防止随着流处理程序常年累月运行过后,指针值越积越多,最终造成内存溢出。
S202:判断在数据清除时刻之前是否有行为数据流入;
若否,则进入步骤S203;若是,则进入步骤S204。
S203:清空第一指针、第二指针及第三指针的值;
S204:将数据清除时刻更新为数据清除时刻与第二阈值的和,并获取当前接收的行为数据的时间戳,获取第一指针的值;
S205:若第一会话ID为空,则生成新第一会话ID分配给行为数据,并将第一会话初始时刻和第一会话末尾时刻更新为行为数据的时间戳;
S206:若第一会话ID不为空,则计算行为数据的时间戳与第一会话末尾时刻的第一差值;
S207:若第一差值大于第一阈值,则生成新第一会话ID分配给行为数据,并将第一会话初始时刻和第一会话末尾时刻更新为行为数据的时间戳;
S208:若第一差值大于零且小于或等于第一阈值,则将第一会话末尾时刻更新为行为数据的时间戳与第一会话开始时刻的最小值,并将第一会话ID分配给行为数据。
S209:若第一差值小于零,则计算第一会话开始时刻与行为数据的时间戳的第二差值;
S210:若第二差值小于第一阈值,则将第一会话开始时刻更新为行为数据的时间戳,并将第一会话ID分配给行为数据;
S211:若第二差值大于或等于第一阈值,则获取第二指针的值;
这里提到的第二指针为逆序到达数据的指针,第二指针包括第二会话ID、第二会话初始时刻、第二会话末尾时刻;
第二会话ID为当前逆序会话所对应的会话ID,第二会话初始时刻为当前逆序会话内的数据记录的最小时间戳,第二会话末尾时刻为当前逆序会话内的数据记录的最大时间戳。
S212:若第二会话ID为空,则生成新第二会话ID分配给行为数据,并将第二会话初始时刻和第二会话末尾时刻更新为行为数据的时间戳;
当第二会话ID为空时,则证明之前不存在逆序会话,或者之前的逆序会话已经结束,此时根据该行为数据生成一个新的逆序会话的会话ID。
S213:若第二会话ID不为空,则计算行为数据的时间戳与第二会话末尾时刻的第三差值;
当第二会话ID不为空时,则证明之前已经存在逆序会话,即当前接收到的行为数据不是第一个接收到的逆序行为数据,此时计算行为数据的时间戳与第二会话末尾时刻的第三差值,这里计算第三差值的意义在于,根据该行为数据的时间戳与第二会话末尾时刻的大小关系来决定为该行为数据分配怎样的会话ID。
S214:若第三差值大于第一阈值,则生成新第二会话ID分配给行为数据,并将第二会话初始时刻和第二会话末尾时刻更新为行为数据的时间戳;
当第三差值大于第一阈值时,则证明当前行为数据的时间戳比第二会话末尾时刻晚的时间大于第一阈值,即表明当前行为数据为用户在预设时间之外又进行的行为,那么则结束本次逆序会话,并为其分配一个新的逆序会话的会话ID,并且将此次逆序会话的开始时刻和末尾时刻(即新第一会话ID对应的第一会话初始时刻和第一会话末尾时刻)更新为当前行为数据的时间戳。
S215:若第三差值大于零且小于或等于第一阈值,则将第二会话末尾时刻更新为行为数据的时间戳,并将第二会话ID分配给行为数据;
当第三差值大于零且小于或等于第一阈值时,则证明当前行为数据的时间戳比第二会话末尾时刻晚,但是时间差在预设范围内,那么认为此次的行为数据属于当前逆序会话内,并且此次会话的末尾时刻需要由第二会话末尾时刻更新为当前行为数据的时间戳。
S216:若第三差值小于零,则计算第二会话开始时刻与行为数据的时间戳的第四差值;
当第三差值小于零时,则证明当前行为数据的时间戳在第二会话末尾时刻之前,即存在两种情况,一种是当前行为数据被包含在上一个逆序到达的会话中,这种情况下可以将第二会话ID分配给该行为数据;另一种是当前行为数据在上一个逆序到达的会话之前发生,此时就可以认定该行为数据为更早的逆序会话,并生成新第二会话ID分配给该行为数据,将第二会话初始时刻和第二会话末尾时刻更新为行为数据的时间戳。
因此,在第三差值小于零,需要计算第二会话开始时刻与行为数据的时间戳的第四差值,根据第四差值具体的值来为该行为数据进行会话ID的分配。
S217:若第四差值小于第一阈值,则将第二会话开始时刻更新为行为数据的时间戳与第二会话开始时刻中的最小值,并将第二会话ID分配给行为数据;
S218:若第四差值大于或等于第一阈值,则生成新第二会话ID分配给行为数据,并将第二会话初始时刻和第二会话末尾时刻更新为行为数据的时间戳。
基于上述技术方案,本申请所提供的另一种行为数据会话ID分配的方法,通过在获取当前接收的行为数据的时间戳之前先判断在数据清除时刻之前是否有行为数据流入,并在没有接收到行为数据时清空第一指针、第二指针及第三指针的值,以防止随着流处理程序常年累月运行过后,指针值越积越多,最终造成内存溢出。同时,在第二差值大于或等于第一阈值时确定当前行为数据为逆序会话中的数据,在实时计算过程中完成了对乱序数据中逆序数据的会话ID分配,避免了乱序数据处理延迟。
请参考图3,图3为本申请实施例所提供的一种行为数据会话ID分配的系统的结构图。
该系统可以包括:
第一获取模块100,用于获取当前接收的行为数据的时间戳,并获取第一指针的值;第一指针为顺序到达数据的指针,第一指针包括第一会话ID、第一会话初始时刻、第一会话末尾时刻;
第一计算模块200,用于若第一会话ID不为空,则计算行为数据的时间戳与第一会话末尾时刻的第一差值;
第二计算模块300,用于若第一差值小于零,则计算第一会话开始时刻与行为数据的时间戳的第二差值;
第一更新模块400,用于若第二差值小于第一阈值,则将第一会话开始时刻更新为行为数据的时间戳,并将第一会话ID分配给行为数据。
在上述实施例的基础上,在一个具体实施例中,该系统还可以包括:
第一生成模块,用于若第一差值大于第一阈值,则生成新第一会话ID分配给行为数据,并将第一会话初始时刻和第一会话末尾时刻更新为行为数据的时间戳;
第二更新模块,用于若第一差值大于零且小于或等于第一阈值,则将第一会话末尾时刻更新为行为数据的时间戳与第一会话开始时刻的最小值,并将第一会话ID分配给行为数据。
在上述实施例的基础上,在一个具体实施例中,该系统还可以包括:
第二生成模块,用于若第一会话ID为空,则生成新第一会话ID分配给行为数据,并将第一会话初始时刻和第一会话末尾时刻更新为行为数据的时间戳。
在上述实施例的基础上,在一个具体实施例中,该系统还可以包括:
第二获取模块,用于若第二差值大于或等于第一阈值,则获取第二指针的值;第二指针为逆序到达数据的指针,第二指针包括第二会话ID、第二会话初始时刻、第二会话末尾时刻;
第三计算模块,用于若第二会话ID不为空,则计算行为数据的时间戳与第二会话末尾时刻的第三差值;
第四计算模块,用于若第三差值小于零,则计算第二会话开始时刻与行为数据的时间戳的第四差值;
第三更新模块,用于若第四差值小于第一阈值,则将第二会话开始时刻更新为行为数据的时间戳与第二会话开始时刻中的最小值,并将第二会话ID分配给行为数据;
第三生成模块,用于若第四差值大于或等于第一阈值,则生成新第二会话ID分配给行为数据,并将第二会话初始时刻和第二会话末尾时刻更新为行为数据的时间戳。
在上述实施例的基础上,在一个具体实施例中,该系统还可以包括:
第四生成模块,用于若第三差值大于第一阈值,则生成新第二会话ID分配给行为数据,并将第二会话初始时刻和第二会话末尾时刻更新为行为数据的时间戳;
第四更新模块,用于若第三差值大于零且小于或等于第一阈值,则将第二会话末尾时刻更新为行为数据的时间戳,并将第二会话ID分配给行为数据。
在上述实施例的基础上,在一个具体实施例中,该系统还可以包括:
第五生成模块,用于若第二会话ID为空,则生成新第二会话ID分配给行为数据,并将第二会话初始时刻和第二会话末尾时刻更新为行为数据的时间戳。
在上述实施例的基础上,在一个具体实施例中,该系统还可以包括:
第三获取模块,用于获取第三指针的值,并根据第三指针的值确定数据清除时刻;其中,第三指针为计时器指针;
判断模块,用于判断在数据清除时刻之前是否有行为数据流入;
清空模块,用于当在数据清除时刻之前没有行为数据流入时,清空第一指针、第二指针及第三指针的值;
第五更新模块,用于当在数据清除时刻之前有行为数据流入时,将数据清除时刻更新为数据清除时刻与第二阈值的和,并执行获取当前接收的行为数据的时间戳,并获取第一指针的值的步骤。
由于系统部分的实施例与方法部分的实施例相互对应,因此系统部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
请参考图4,图4为本申请实施例所提供的一种行为数据会话ID分配设备的结构图。
该行为数据会话ID分配设备500可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)522(例如,一个或一个以上处理器)和存储器532,一个或一个以上存储应用程序542或数据544的存储介质530(例如一个或一个以上海量存储设备)。其中,存储器532和存储介质530可以是短暂存储或持久存储。存储在存储介质530的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对装置中的一系列指令操作。更进一步地,处理器522可以设置为与存储介质530通信,在行为数据会话ID分配设备500上执行存储介质530中的一系列指令操作。
行为数据会话ID分配设备500还可以包括一个或一个以上电源525,一个或一个以上有线或无线网络接口550,一个或一个以上输入输出接口558,和/或,一个或一个以上操作系统541,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
上述图1至图2所描述的行为数据会话ID分配的方法中的步骤由行为数据会话ID分配设备基于该图4所示的结构实现。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置、设备和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,功能调用装置,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上对本申请所提供的一种行为数据会话ID分配的方法、系统、设备及可读存储介质进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (10)
1.一种行为数据会话ID分配的方法,其特征在于,包括:
获取当前接收的行为数据的时间戳,并获取第一指针的值;所述第一指针为顺序到达数据的指针,所述第一指针包括第一会话ID、第一会话初始时刻、第一会话末尾时刻;
若所述第一会话ID不为空,则计算所述行为数据的时间戳与所述第一会话末尾时刻的第一差值;
若所述第一差值小于零,则计算所述第一会话开始时刻与所述行为数据的时间戳的第二差值;
若所述第二差值小于第一阈值,则将所述第一会话开始时刻更新为所述行为数据的时间戳,并将所述第一会话ID分配给所述行为数据。
2.根据权利要求1所述的方法,其特征在于,还包括:
若所述第一差值大于所述第一阈值,则生成新第一会话ID分配给所述行为数据,并将所述第一会话初始时刻和所述第一会话末尾时刻更新为所述行为数据的时间戳;
若所述第一差值大于零且小于或等于所述第一阈值,则将所述第一会话末尾时刻更新为所述行为数据的时间戳与所述第一会话开始时刻的最小值,并将所述第一会话ID分配给所述行为数据。
3.根据权利要求1所述的方法,其特征在于,还包括:
若所述第一会话ID为空,则生成新第一会话ID分配给所述行为数据,并将所述第一会话初始时刻和所述第一会话末尾时刻更新为所述行为数据的时间戳。
4.根据权利要求1-3任一项所述的方法,其特征在于,还包括:
若所述第二差值大于或等于所述第一阈值,则获取第二指针的值;所述第二指针为逆序到达数据的指针,所述第二指针包括第二会话ID、第二会话初始时刻、第二会话末尾时刻;
若所述第二会话ID不为空,则计算所述行为数据的时间戳与所述第二会话末尾时刻的第三差值;
若所述第三差值小于零,则计算所述第二会话开始时刻与所述行为数据的时间戳的第四差值;
若所述第四差值小于所述第一阈值,则将所述第二会话开始时刻更新为所述行为数据的时间戳与所述第二会话开始时刻中的最小值,并将所述第二会话ID分配给所述行为数据;
若所述第四差值大于或等于所述第一阈值,则生成新第二会话ID分配给所述行为数据,并将所述第二会话初始时刻和所述第二会话末尾时刻更新为所述行为数据的时间戳。
5.根据权利要求4所述的方法,其特征在于,还包括:
若所述第三差值大于第一阈值,则生成新第二会话ID分配给所述行为数据,并将所述第二会话初始时刻和所述第二会话末尾时刻更新为所述行为数据的时间戳;
若所述第三差值大于零且小于或等于所述第一阈值,则将所述第二会话末尾时刻更新为所述行为数据的时间戳,并将所述第二会话ID分配给所述行为数据。
6.根据权利要求4所述的方法,其特征在于,还包括:
若所述第二会话ID为空,则生成新第二会话ID分配给所述行为数据,并将所述第二会话初始时刻和所述第二会话末尾时刻更新为所述行为数据的时间戳。
7.根据权利要求1所述的方法,其特征在于,在获取当前接收的行为数据的时间戳,并获取第一指针的值之前,还包括:
获取第三指针的值,并根据所述第三指针的值确定数据清除时刻;其中,所述第三指针为计时器指针;
判断在所述数据清除时刻之前是否有所述行为数据流入;
若否,则清空所述第一指针、所述第二指针及所述第三指针的值;
若是,则将所述数据清除时刻更新为所述数据清除时刻与第二阈值的和,并执行所述获取当前接收的行为数据的时间戳,并获取第一指针的值的步骤。
8.一种行为数据会话ID分配的系统,其特征在于,包括:
第一获取模块,用于获取当前接收的行为数据的时间戳,并获取第一指针的值;所述第一指针为顺序到达数据的指针,所述第一指针包括第一会话ID、第一会话初始时刻、第一会话末尾时刻;
第一计算模块,用于若所述第一会话ID不为空,则计算所述行为数据的时间戳与所述第一会话末尾时刻的第一差值;
第二计算模块,用于若所述第一差值小于零,则计算所述第一会话开始时刻与所述行为数据的时间戳的第二差值;
第一更新模块,用于若所述第二差值小于第一阈值,则将所述第一会话开始时刻更新为所述行为数据的时间戳,并将所述第一会话ID分配给所述行为数据。
9.一种行为数据会话ID分配设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至7任一项所述行为数据会话ID分配的方法的步骤。
10.一种可读存储介质,其特征在于,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述行为数据会话ID分配的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110620365.4A CN113364863B (zh) | 2021-06-03 | 2021-06-03 | 一种行为数据会话id分配的方法、系统及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110620365.4A CN113364863B (zh) | 2021-06-03 | 2021-06-03 | 一种行为数据会话id分配的方法、系统及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113364863A true CN113364863A (zh) | 2021-09-07 |
CN113364863B CN113364863B (zh) | 2022-12-30 |
Family
ID=77531810
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110620365.4A Active CN113364863B (zh) | 2021-06-03 | 2021-06-03 | 一种行为数据会话id分配的方法、系统及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113364863B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103076950A (zh) * | 2012-12-25 | 2013-05-01 | 北京百度网讯科技有限公司 | 一种会话线程列表的管理方法 |
CN107688619A (zh) * | 2017-08-10 | 2018-02-13 | 北京奇安信科技有限公司 | 一种日志数据处理方法及装置 |
CN107958024A (zh) * | 2017-11-09 | 2018-04-24 | 广州虎牙信息科技有限公司 | 会话合并方法、装置和计算机设备 |
CN111629074A (zh) * | 2020-07-29 | 2020-09-04 | 武汉思普崚技术有限公司 | 一种网关设备的会话排序方法及装置 |
-
2021
- 2021-06-03 CN CN202110620365.4A patent/CN113364863B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103076950A (zh) * | 2012-12-25 | 2013-05-01 | 北京百度网讯科技有限公司 | 一种会话线程列表的管理方法 |
CN107688619A (zh) * | 2017-08-10 | 2018-02-13 | 北京奇安信科技有限公司 | 一种日志数据处理方法及装置 |
CN107958024A (zh) * | 2017-11-09 | 2018-04-24 | 广州虎牙信息科技有限公司 | 会话合并方法、装置和计算机设备 |
CN111629074A (zh) * | 2020-07-29 | 2020-09-04 | 武汉思普崚技术有限公司 | 一种网关设备的会话排序方法及装置 |
Non-Patent Citations (2)
Title |
---|
周青等: "Wed使用挖掘数据预处理中的一种会话识别改进算法", 《科技广场》 * |
李瑞等: "Web日志挖掘预处理中会话识别算法的优化", 《电脑知识与技术》 * |
Also Published As
Publication number | Publication date |
---|---|
CN113364863B (zh) | 2022-12-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109783237B (zh) | 一种资源配置方法及装置 | |
CN106998343B (zh) | 一种远程过程调用处理方法、装置及系统 | |
US9491313B2 (en) | Optimizing storage between mobile devices and cloud storage providers | |
US20140215484A1 (en) | Managing model building components of data analysis applications | |
CN113656179B (zh) | 云计算资源的调度方法及装置、电子设备和存储介质 | |
KR20190015370A (ko) | 적응식 리소스 할당 방법 및 장치 | |
CN109002357B (zh) | 资源分配方法、装置及物联网系统 | |
CN112579304A (zh) | 基于分布式平台的资源调度方法、装置、设备及介质 | |
Diaz et al. | Pessimism in the stochastic analysis of real-time systems: Concept and applications | |
CN110990138A (zh) | 资源调度方法、装置、服务器及存储介质 | |
CN110737425B (zh) | 一种计费平台系统的应用程序的建立方法及装置 | |
CN115827788A (zh) | 一种数据迁移方法、装置、电子设备及可读存储介质 | |
CN115421922A (zh) | 一种分布式系统的限流方法、装置、设备、介质及产品 | |
Aazam et al. | Advance resource reservation and QoS based refunding in cloud federation | |
Yi et al. | Job allocation mechanism for battery consumption minimization of cyber-physical-social big data processing based on mobile cloud computing | |
CN113364863B (zh) | 一种行为数据会话id分配的方法、系统及设备 | |
CN113742389A (zh) | 一种业务处理方法和装置 | |
CN110413427B (zh) | 订阅数据拉取方法、装置、设备及存储介质 | |
CN115563173A (zh) | 一种数据处理方法、装置、设备及介质 | |
CN113918282A (zh) | 一种数据库访问方法、装置、电子设备及计算机可读介质 | |
CN114584627A (zh) | 一种具有网络监控功能的中台调度系统及方法 | |
CN113779412A (zh) | 一种基于区块链网络的消息触达方法、节点和系统 | |
CN113961797A (zh) | 资源推荐方法、装置、电子设备和可读存储介质 | |
CN113568706A (zh) | 针对业务的容器调整方法、装置、电子设备和存储介质 | |
CN115130026A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20231109 Address after: 200441 Room B1-7001, Building 3, No. 258 Changjiang Road, Baoshan District, Shanghai Patentee after: Shanghai Mengju Information Technology Co.,Ltd. Address before: Room b1-8008, building 3, 258 Changjiang Road, Baoshan District, Shanghai 200441 Patentee before: Shanghai Weimeng Enterprise Development Co.,Ltd. |
|
TR01 | Transfer of patent right |